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.