在11.2RAC上如何恢復全部丟失的OCR和VotingDisk(儲存在叢集檔案系統)

sxitsxit發表於2017-04-23

文章摘自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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章