天天看點

CRS-0184: Cannot communicate with the CRS daemo的診斷

使用者在重新開機伺服器後,發現RAC中某節點無法檢視RAC狀态

檢視RAC狀态時報錯

./crs_stat -t

CRS-0184: Cannot communicate with the CRS daemo

由于無法與crs通信,首先檢視crs健康狀況

[oracle@oms bin]$ ./crsctl check crs

Failure 1 contacting CSS daemon

Cannot communicate with CRS

Cannot communicate with EVM

發現crs未啟動,出現此問題可能和背景程序沒有啟動有關。

檢視crs相關程序

[oracle@oms ~]$ ps -ef|grep crs

root      5142     1  0 16:31 ?        00:00:00 /bin/sh /etc/init.d/init.crsd run

root     19033  5370  0 17:59 ?        00:00:00 /bin/su -l oracle -c /u01/app/oracle/crs/bin/crsctl check boot > /tmp/crsctl.5370

oracle   19034 19033  0 17:59 ?        00:00:00 -bash -c /u01/app/oracle/crs/bin/crsctl check boot > /tmp/crsctl.5370

root     19052  5234  0 17:59 ?        00:00:00 /bin/su -l oracle -c /u01/app/oracle/crs/bin/crsctl check boot > /tmp/crsctl.5234

oracle   19053 19052  0 17:59 ?        00:00:00 -bash -c /u01/app/oracle/crs/bin/crsctl check boot > /tmp/crsctl.5234

oracle   19097 19053  0 17:59 ?        00:00:00 /u01/app/oracle/crs/bin/crsctl.bin check boot

oracle   19101 19034  0 17:59 ?        00:00:00 /u01/app/oracle/crs/bin/crsctl.bin check boot

oracle   19184 19143  0 18:00 pts/1    00:00:00 grep crs

根據相關程序資訊找到報錯的日志痕迹,檢視相關crs日志檔案

[oracle@oms bin]$ cat /tmp/crsctl.5370

Failed 3 to bind listening endpoint: (ADDRESS=(PROTOCOL=tcp)(HOST=oms-priv))

根據上面提示聯想多半是和網絡配置有關,首先檢視網絡配置檔案

[root@oms init.d]# ll /etc/hosts

-rw-r--r-- 2 root root 263 Dec 25  2011 /etc/hosts

檢查這個檔案并無權限光管問題

 [root@oms init.d]# cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1       localhost.localdomain localhost

192.168.17.139  oms oms.localdomain

192.168.17.138  dbsv.localdomain dbsv

顯然,配置檔案中的主機名和節點主機的主機名不對應,很明顯這是不同相關人員為實作不同目的未溝通對配置檔案進行了更改,造成RAC

重新開機後無法啟動,找到相應資源,講hosts檔案中的錯誤修正後,重新開機RAC,問題解決