Oracle RAC某一節點異常,你該怎麼辦?

ITPUB社群發表於2023-02-22


需求

如果某一天平穩執行的Oracle RAC突然其中一個節點異常,例如:

  • 可能人為誤刪軟體;

  • 軟體目錄許可權改成777;

  • 伺服器徹底損壞;

總之很多種情況,此時我們不得不重新安裝節點。

「那麼這個時候該怎麼辦呢?文章蒐藏起來,某一天可以救命 ?」

操作

一、刪除節點

本次操作是模擬刪除一節點。

1、檢視叢集當前結構結構

grid使用者執行

$olsnodes -s -t

2、進行節點刪除

root使用者執行

#cd /oracle/crs/crs/install 
#./rootcrs.sh -deconfig -force

/oracle/crs 是我的 grid目錄,你的可能不同是/u01/app/oracle/19.0.0/grid等

注意:如果你是11g的環境,其實在這一步deconfig以後,可以直接執行root.sh指令碼,直接重新配置叢集,以前經常用這種方式修復目錄許可權被修改的情況,從好的節點tar個home的包,然後直接解壓,執行root.sh。不過在11g以後的12c、18c、19c等環境該方法都不再可用,需要使用delete node、add node的方式修復

3、刪除Grid Infrastructure home

要刪除節點執行,本次是一節點,這條命令會刪除$GRID_HOME下的所有東西(grid使用者執行)

$ $ORACLE_HOME/deinstall/deinstall -local

4、手動清理一節點crs目錄

root使用者執行

#cd /oracle/crs 
#rm -rf *

5、在二節點上執行清除叢集資訊

root使用者執行

#/oracle/crs/bin/crsctl delete node -n node1
#/oracle/crs/bin/olsnodes -s -t

6、二節點檢查資訊是否清除,要確保一節點所有crs資訊已經被清除,包括vip

grid使用者執行

$cluvfy stage -post nodedel -n node1 -verbose
$crsctl status res -t
$srvctl remove vip -n node1

至此,清除節點步驟已經完成,接下來需要新增節點

二、新增節點

如果可以啟動圖形化,優先使用圖形化模式安裝。

1、在無法啟動圖形化的情況下使用靜默安裝

如果可以啟動圖形化,直接圖形化安裝即可(優先使用)

$ cd $ORACLE_HOME/addnode
$./addnode.sh

無圖形化可以使用靜默方式

$ cd $ORACLE_HOME/addnode
$./addnode.sh -silent -ignoreSysPrereqs -ignorePrereqFailure "CLUSTER_NEW_NODES={NOD1}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={NODE1-priv}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={NODE1-vip}"

2、不管是圖形化安裝還是靜默安裝,都需要執行root指令碼

orainstRoot.sh和root.sh,按照提示執行即可

3、執行完成後檢查crs狀態是否恢

grid使用者執行

$crsctl status res -t

4、叢集狀態恢復正常後,即可拉起資料庫

oracle使用者執行

$srvctl start database -d dbname -n node1

可能有疑問為什麼我的db home沒有delete再add。是因為通常我們叢集環境比較容易損壞的是crs叢集目錄,如果僅是損壞了crs目錄,那麼db home是不需要刪除再新增的,但是你的db home如果損壞了,也可以使用相應的delete、addnode方式新增回來。


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

相關文章