首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

Oracle RAC CRS-0184 錯誤排查:節點脫離叢集完整解決方案

     編輯:DB2 教學

Oracle RAC CRS-0184 錯誤排查:節點脫離叢集完整解決方案

一、環境與錯誤現象

  • 環境:OEL 6.5、Oracle 11.2.0.2 RAC + ASM、雙節點
  • 錯誤:
    $ crs_stat -t
    CRS-0184: Cannot communicate with the CRS daemon.
    $ crsctl check has
    CRS-4639: Could not contact Oracle High Availability Services

二、根因分析

  1. 節點 1 VIP 消失:ifconfig -a 顯示節點 1 無 VIP 位址
  2. 節點 2 視角:crs_stat -t 顯示節點 1 資源狀態為 OFFLINE,VIP 已漂移至節點 2
  3. 結論:節點 1 已脫離叢集,CRS 守護程式異常

三、解決步驟:清理重配

1. 強制解除配置 CRS

# /u01/app/11.2.0/grid/crs/install/rootcrs.pl -verbose -deconfig -force

輸出關鍵訊息:

PRCR-1119: Failed to look up CRS resources...
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4000: Command Stop failed...
Successfully deconfigured Oracle clusterware stack on this node

2. 解除配置 Oracle Restart (OHAS)

# /u01/app/11.2.0/grid/crs/install/roothas.pl -verbose -deconfig -force

輸出提示需殺掉 ohasd 程序或重啟系統:

You must kill ohasd processes or reboot the system to properly cleanup...

執行:pkill -9 ohasd 或 reboot

3. 重新執行 root.sh 配置叢集

# /u01/app/11.2.0/grid/root.sh

關鍵輸出:

OLR initialization - successful
Adding Clusterware entries to inittab
CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node node2, number 2, and is terminating
An active cluster was found during exclusive startup, restarting to join the cluster
PRKO-2190: VIP exists for node node1, VIP name node1-vip
Configure Oracle Grid Infrastructure for a Cluster ... succeeded

四、驗證叢集恢復

$ crs_stat -t
Name           Type           Target  State   Host
------------------------------------------------------------
ora.DATA.dg    ora....up.type ONLINE  ONLINE  node1
ora....ER.lsnr ora....er.type ONLINE  ONLINE  node1
ora.node1.vip  ora....t1.type ONLINE  ONLINE  node1
ora.node2.vip  ora....t1.type ONLINE  ONLINE  node2
ora.prod.db    ora....se.type ONLINE  ONLINE  node1
ora.scan1.vip  ora....ip.type ONLINE  ONLINE  node1
... (所有資源 ONLINE)

五、關鍵指令速查表

指令用途
crs_stat -t顯示叢集資源狀態
crsctl check has檢查 OHAS 狀態
crsctl check crs檢查 CRS 狀態
ifconfig -a檢查網路介面與 VIP
rootcrs.pl -deconfig -force強制解除 CRS 配置
roothas.pl -deconfig -force強制解除 OHAS 配置
root.sh重新配置 Grid Infrastructure

六、預防與最佳實踐

  • 監控 VIP:定期檢查 crs_stat -t 中 ora.nodeX.vip 狀態
  • 網路穩定性:確保私有網路 (Interconnect) 低延遲、無封包遺失
  • 磁碟心跳:ASM 磁碟組掛載正常,投票磁碟可用
  • 日誌分析:$GRID_HOME/log/hostname/alert*.log、crsd.log、ohasd.log
  • 備份 OCR/投票磁碟:定期 ocrconfig -manualbackup

結語:CRS-0184 通常意味著節點與叢集通訊中斷,核心解決路徑是「強制解配 → 清理殘留程序 → 重新 root.sh 加入叢集」。熟悉 rootcrs.pl/roothas.pl/root.sh 三部曲,並建立完善監控告警,可將 RAC 故障恢復時間壓縮至分鐘級。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved