oracle 11g 以後 ocr 可以放到 asm 磁盤上,而ASM的啟動依賴於ocr和votedisk,所以在丟失ocr或votedisk 會導致cluter無法正常啟動
如果原來的ocr 位置已經不存在,則必須使用相同的名字在原來相同的位置創建一個空 OCR 。
建議使用以下步驟來恢復OCR:
1、確定當前集群節點數
C:\>olsnodes
2、關閉 oracle clusterware (all of the nodes)
C:\crsctl stop crs
可能會因為 ocr 損壞而無法關閉集群,可以使用下面的命令來強制關閉集群:
C:\>crsctl stop crs -f
3、以獨占模式啟動集群
C:\>crsctl start crs -excl -nocrs
-nocrs 表示crsdprocess and OCR 不隨集群堆棧一起啟動,但是ASM 實例會啟動
可以忽略上述命令執行時報出的錯誤信息。
4、恢復ocr
恢復前要確保相應的 ocr device 或者asm diskgroup 已經存在或者 已經mount了
如果是asm disk group 可以使用 asmca 圖形界面來創建 dg
---先確定ocr 的備份位置
ocrconfig -showbackup
---恢復ocr
C:\>ocrconfig -restore file_name
5、驗證ocr的完整性
C:\>ocrcheck
6、關閉運行在排他模式下的集群
C:\>crsctl stop crs -f
7、重啟集群
C:\>crsctl start crs
8、使用CVU組件驗證OCR 在所有節點間的完整性:
C:\>cluvfy comp ocr -n all -verbose
一下檢測信息來之 liunx的測試環境,window 環境也差不多
$cluvfy comp ocr -n all -verbose
Verifying OCR integrity
Checking OCR integrity...
Checking the absence of a non-clustered configuration...
All nodes free of non-clustered, local-only configurations
ASM Running check passed. ASM is running on all specified nodes
Checking OCR config file "/etc/oracle/ocr.loc"...
OCR config file "/etc/oracle/ocr.loc" check successful
Disk group for ocr location "+CRS" available on all the nodes
NOTE:
This check does not verify the integrity of the OCR contents. Execute 'ocrcheck' as a privileged user to verify the
contents of OCR.
OCR integrity check passed
Verification of OCR integrity was successful.