ITPub博客

首页 > 数据库 > Oracle > 在11.2RAC上如何恢复全部丢失的OCR和VotingDisk(存储在集群文件系统)

在11.2RAC上如何恢复全部丢失的OCR和VotingDisk(存储在集群文件系统)

原创 Oracle 作者:sxitsxit 时间:2017-04-23 18:19:53 0 删除 编辑

文章摘自oracle中文社区,mark下

https://blogs.oracle.com/Database4CN/entry/%E5%9C%A811_2rac%E4%B8%8A%E5%A6%82%E4%BD%95%E6%81%A2%E5%A4%8D%E5%85%A8%E9%83%A8%E4%B8%A2%E5%A4%B1%E7%9A%84ocr%E5%92%8Cvotingdisk_%E5%AD%98%E5%82%A8%E5%9C%A8%E9%9B%86%E7%BE%A4%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F


在11.2 集群中常见的OCR和Voting disk都是安装在ASM的diskgroup上,但也有一些情况是把OCR和Voting disk安装在集群文件系统上的。由于存储故障或者误删除等可能导致了OCR和Voting disk全部丢失

   在My Oracle Support上有一篇文档是恢复针对存储在ASM磁盘组上的OCR和Voting disk:
   How to restore ASM based OCR after complete loss of the CRS diskgroup on Linux/Unix systems (Doc ID 1062983.1)

   对于存储在集群文件系统(CFS)上的OCR和Voting disk,请按照下面的步骤进行恢复:

下面的操作都用root执行。

1. 找到最新的OCR备份所在的节点(OCR的备份会自动执行,大概每4小时一次):
在所有节点查看:
$ls -lrt $GRID_HOME/cdata/集群名/

2. 在所有节点都停止CRS:
#crsctl stop crs -f
由于OCR和Voting disk丢失后,集群基本上会异常终止,但是有一些进程可能没有停止,因此用-f来强制停止集群。

3. 在拥有最新的OCR备份的节点,用独占模式启动GI:
11.2.0.1:
# crsctl start crs -excl

11.2.0.2及以上:
# crsctl start crs -excl -nocrs

-excl 表示用独占模式启动CRS,不需要OCR和Voting disk。
-nocrs 表示不启动crsd.bin

4. 恢复OCR备份:
# cd $GRID_HOME/cdata/集群名/
# $GRID_HOME/bin/ocrconfig -restore OCR备份集的名字

如果在执行上面的命令恢复OCR的时候,报错 PROT-21: Invalid parameter (10.2/11.) 或者 PROT-30 The Oracle Cluster Registry location to be added is not accessible (for 11.2):

那么需要先在集群文件系统上手工创建OCR文件:

比如:
用root 用户:
# touch /cluster_fs/ocrdisk.dat <======请把这些文件的名字建成与原来同名的
# touch /cluster_fs/ocrmirror.dat
# chown root:oinstall /cluster_fs/ocrdisk.dat  /cluster_fs/ocrmirror.dat
# chmod 640 /cluster_fs/ocrdisk.dat  /cluster_fs/ocrmirror.dat

对于Voting disk不需要预先touch文件。

5. 确认OCR已经恢复成功:
# $GRID_HOME/bin/ocrcheck

对于11.2.0.1,需要执行下面的命令来启动crsd,这步在
建voting file时需要(对于11.2.0.2及之上,不需执行):
# $CRS_HOME/bin/crsctl start res ora.crsd -init
CRS-2672: Attempting to start 'ora.crsd' on 'racnode1'
CRS-2676: Start of 'ora.crsd' on 'racnode1' succeeded

6. 用下面的命令列出Votingdisk的信息:
#crsctl query css votedisk

7. 用下面的命令删除原有的Voting disk:
#crsctl delete css votedisk voting_disk_GUID <==
这个GUID是上面query命令列出来的

8. 用下面的命令添加新的Voting disk(和原来的文件同名):
#crsctl add css votedisk  path_to_voting_disk <==包括具体的路径和文件名

9.如果有多块voting disk盘,那么重复上面的7和8步。

10.在当前的这台节点执行下面的命令停止GI:
# crsctl stop crs -f

11.在所有节点都启动GI:
#crsctl start crs

12.检查CRS运行正常:
# crsctl check cluster -all
**************************************************************
racnode1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
racnode2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************

# /crsctl stat res -t



参考官方文档:
http://docs.oracle.com/cd/E11882_01/rac.112/e41959/votocr.htm#CWADD90961
Oracle? Clusterware Administration and Deployment Guide
11g Release 2 (11.2)
E41959-03
Restoring Oracle Cluster Registry
Restoring Voting Disks

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24862808/viewspace-2137826/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-14

  • 博文量
    98
  • 访问量
    298248