RAC OCR盘故障导致的集群重启恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RAC OCR盘故障导致的集群重启恢复相关的知识,希望对你有一定的参考价值。

一、事故说明

最近出现了一次OCR盘的故障导致Oracle集群件宕机的事故,后以独占模式启动集群,并使用ocr备份恢复了OCR文件以及重新设置了vote disk,然后关闭集群,重启成功。
因此在此处进行事故重现以吸取教训。
 
二、重现步骤
测试RAC环境中只有+OCR和+DATA两个ASM磁盘组。
1.做好ocr的手工备份
[[email protected] ~]# ocrconfig -export /home/oracle/ocr.bak

紧急情况下没有ocr的备份也不要紧,在$CRS_HOME的cdata目录下有ocr的自动备份,默认每天和每周都会保存的,只要没做过架构变更,都一直可用。

2.如果asm实例的参数文件也在OCR盘中,则做一次ASM参数文件的备份。(不做也没事,$crs_home/dbs下有init.ora文件,事实上默认配置下这一步可以忽略)

su - grid
sqlplus / as sysasm
create pfile=‘/home/grid/initasm.ora‘ from memory;

3.dd清除OCR的磁盘头信息。

[[email protected] ~]# dd if=/dev/zero of=/dev/raw/raw1 bs=1024 count=1000

4.强制关闭集群。

crsctl stop crs -f --两节点都做

5.以独占模式启动节点1GRID组件

crsctl start crs -excl -nocrs --只在节点1执行

6.观察启动过程中的集群日志以及集群资源状态。

tail -f /u01/11.2.0/grid/log/node1/alertnode1.log
crsctl stat res -t -init

日志里可以看到ora.asm资源在不能识别到OCR盘的情况下启动了,即ASM实例启动了,因此接下来可以进行其他操作。

7.创建+OCR盘以取代之前的+OCR盘。

su - grid
sqlplus / as sysasm
create diskgroup OCR external redundancy disk ‘/dev/raw/raw1‘ attribute ‘compatible.asm‘=‘11.2.0.0.0‘, ‘compatible.rdbms‘=‘11.2.0.0.0‘;

此时asmcmd中只能看到OCR盘:

技术分享

8.恢复OCR文件并设置votedisk

su - root
ocrconfig -import /home/oracle/ocr.bak --如果使用的是自动备份,则这里需要使用-restore来替换-import
ocrcheck

[[email protected] oracle]# crsctl replace votedisk +OCR

技术分享

9.关闭集群并重启

su root
crsctl stop crs -f
crsctl start crs --节点1、2都执行
 
三、总结
经过以上步骤就可以实现votedisk和OCR的重新配置了,注意到为了实现快速故障恢复,我这里新建的ASM磁盘组名字依然是OCR。

 

 

 



以上是关于RAC OCR盘故障导致的集群重启恢复的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE 11G RAC 节点重启问题

Oracle RAC OCR 的备份与恢复

oracle rac中一个节点坏了怎么重装与恢复(目前数据库在另一节点中正常运行)?谢谢!

ORACLE11gR2-RAC之OCR无备份情况下损坏恢复

Oracle RAC OCR 的管理与维护

北亚数据恢复Hp DL380服务器raid磁盘故障导致数据库所在盘无法识别的数据库数据恢复案例