【ASK_ORACLE】Oracle表決磁碟丟失後的恢復方法

Attack_on_Jager發表於2022-12-29

前言

表決磁碟的丟失往往會導致ASM例項無法啟動,那麼CRS就無法訪問到存放在ASM磁碟組中的表決盤和OCR。 解決步驟分為三大步:

l  重新建立表決磁碟

l  拉起CRS

l  恢復OCR

 

實驗環境

搭建平臺:VMware Workstation

OS:OL 6.10

DB:Oracle 11.2.0.4


具體步驟

一、重新建立表決磁碟

1. 使用root關閉所有節點的CRS

$ su -

# $GI_HOME/bin/crsctl stop crs   ##需要在每個節點執行, 如果關閉不了,可以新增“-f”引數強制關閉

 

2. 重建丟失的表決磁碟

將CRS啟動到exclusive模式,CRS會在該模式下重新自動建立丟失的表決磁碟:

$ su -

# $GI_HOME/bin/crsctl start crs -excl

 

3. 強制掛載表決磁碟所在的磁碟組

# su - grid

$ sqlplus / as sysasm

sql>alter diskgroup <磁碟組的名字> mount force;

比如:sql>alter diskgroup OCR mount force;

注:

等待rebalance結束後,需要解除安裝這個磁碟組!命令:

SQL> alter diskgroup <磁碟組的名字> dismount;

 

 

二、拉起CRS

1. 重啟該節點的CRS,並強制掛載其他非表決磁碟的磁碟組(掛載命令與第3步一致),比如data磁碟組

 

2. 啟動所有節點的CRS

$ su -

# $GI_HOME/bin/crsctl start crs  ##每個節點都要執行

 

 

三、恢復OCR

1.檢視OCR的已有備份並檢查備份是否成功

$ su -

# $GI_HOME/bin/ocrconfig -showbackup

# $GI_HOME/bin/ocrdump -backupfile <備份檔名>

 

2. 停止所有節點的CRS

$ su -

# $GI_HOME/bin/crsctl stop crs

 

3. 將crs啟動到exclusive模式

# $GI_HOME/bin/crsctl start crs -excl -nocrs

注:

一定要新增引數“-nocrs”,不然ASM例項會掛掉!

 

4. 建立磁碟組

sql>create diskgroup <磁碟組名> normal redundancy disk '<磁碟在OS上的絕對路徑>' FORCE ATTRIBUTE 'compatible.asm'='11.2.0.4.0','compatible.rdbms'='11.2.0.4.0','au_size'='4M','cell.smart_scan_capable'='TRUE';  ##au_size引數建議改成4M

 

5. 使用OCR備份進行OCR的恢復

從第1步的備份清單中選取一個備份來進行恢復操作,恢復命令:

# $GI_HOME/bin/ocrconfig -restore <備份檔名>

 

6. 校驗OCR並檢視錶決磁碟狀態

# $GI_HOME/bin/ocrcheck  ##校驗OCR

# $GI_HOME/bin/crsctl start resource ora.crsd -init  ##啟動crsd

# $GI/bin/crsctl query css votedisk  ##檢視錶決磁碟狀態, 被重建的磁碟組裡面應該是空的

 

7. 新增表決盤

# $GI_HOME/bin/crsctl replace votedisk <磁碟組名>

 

8. 重啟CRS

 

9. 再次校驗OCR和表決磁碟

# $GI_HOME/bin/crsctl query css votedisk

# $GI_HOME/bin/ocrcheck

 

10. 最後啟動整個叢集

# $GI_HOME/bin/crsctl start cluster -all    ##或者在每個節點都執行啟動CRS的操作


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2929968/,如需轉載,請註明出處,否則將追究法律責任。

相關文章