Oracle 11g RAC 執行root.sh時遭遇 CRS-0184/PRCR-1070
Oracle 11g RAC安裝時,在第一個節點執行root.sh時遭遇了CRS-0184/PRCR-1070,Google了很多文章也沒有找到解決辦法。嗚嗚,還是靜下心來看日誌!!最後的發現原來是一個不經意的小問題,如下面的描述。
1、故障現象
#安裝環境
[root@linux1 ~]# more /etc/issue
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel \r on an \m
[root@linux1 ~]# uname -a
Linux linux1.orasrv.com 2.6.18-194.el5PAE #1 SMP Mon Mar 29 20:19:03 EDT 2010 i686 athlon i386 GNU/Linux
[root@linux1 bin]# ./crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.1.0]
#執行root時,出現了下面的錯誤,僅列出錯誤部分
CRS-0184: Cannot communicate with the CRS daemon. #這個是主要的錯誤提示,不能同crs通訊
PRCR-1070 : Failed to check if resource ora.asm is registered
Cannot communicate with crsd
add asm ... failed
clsr_start_dg return error at loc: 70 rc=0
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4000: Command Create failed, or completed with errors.
create diskgroup DATA ... failed
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4000: Command Add failed, or completed with errors.
Command return code of 1 (256) from command: /u01/app/11.2.0/grid/bin/crsctl add type ora.registry.acfs.type -basetype
ora.local_resource.type -file /u01/app/11.2.0/grid/crs/template/registry.acfs.type
add ora.registry.acfs.type ... failed
PRCR-1070 : Failed to check if resource ora.net1.network is registered
Cannot communicate with crsd
add scan=scan-cluster.orasrv.com ... failed
Preparing packages for installation...
cvuqdisk-1.0.7-1 #這裡有個提示,需要安裝cvuqdisk-1.0.7-1包
Configure Oracle Grid Infrastructure for a Cluster ... failed
Updating inventory properties for clusterware
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 3498 MB Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory
'UpdateNodeList' was successful.
#使用crsctl check時收到了crs-4535錯誤
[root@linux1 bin]# ./crsctl check cluster
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
2、分析日誌
#查看grid的crsd部分的日誌,注意該日誌位於$CRS_HOME/log/node_name/crsd
[root@linux1 crsd]# tail -30 crsdOUT.log
2013-07-16 16:27:21
CRSD REBOOT
Unable to resolve address for localhost:2016
ONS runtime exiting
Fatal error: eONS: eonsapi.c: Aug 4 2009 21:09:36
2013-07-16 16:27:24
Changing directory to /u01/app/11.2.0/grid/log/linux1/crsd
2013-07-16 16:27:24
CRSD REBOOT
Unable to resolve address for localhost:2016
ONS runtime exiting
Fatal error: eONS: eonsapi.c: Aug 4 2009 21:09:36
2013-07-16 16:27:26
Changing directory to /u01/app/11.2.0/grid/log/linux1/crsd
2013-07-16 16:27:26
CRSD REBOOT
Unable to resolve address for localhost:2016
ONS runtime exiting
Fatal error: eONS: eonsapi.c: Aug 4 2009 21:09:36
2013-07-16 16:27:29
Changing directory to /u01/app/11.2.0/grid/log/linux1/crsd
2013-07-16 16:27:29
CRSD REBOOT
Unable to resolve address for localhost:2016
ONS runtime exiting
Fatal error: eONS: eonsapi.c: Aug 4 2009 21:09:36
2013-07-16 16:48:00
Changing directory to /u01/app/11.2.0/grid/log/linux1/crsd
2013-07-16 16:48:00
CRSD REBOOT
#上面的日誌提示不能夠解析localhost
#看看grid的主日誌,也就是alert_nodename部分的描述
[root@linux1 linux1]# tail -100 alertlinux1.log | more
2013-07-16 16:27:13.688
[crsd(3913)]CRS-1201:CRSD started on node linux1.
2013-07-16 16:27:14.338
[/u01/app/11.2.0/grid/bin/oraagent.bin(3993)]CRS-5823:Could not initialize agent framework. Details at (:CRSAGF00120:) in
/u01/app/11.2.0/grid/log/linux1/agent/crsd/oraagent_grid/oraagent_grid.log.
2013-07-16 16:27:14.932
[ohasd(2748)]CRS-2765:Resource 'ora.crsd' has failed on server 'linux1'.
# Meatlink [ID 1230899.1] 有關於該問題的描述,就是需要添加localhost到hosts檔案
# Author : Robinson
# Blog : http://www.bkjia.com
3、解決故障
#查看本地的hosts檔案,下面是更改後的hosts設定檔
[root@linux1 bin]# more /etc/hosts | grep 127.0
#127.0.0.1 linux1.orasrv.com linux1 localhost.localdomain localhost #這個是安裝OS時自動產生的
#127.0.0.1 linux1.orasrv.com linux1 #這個是安裝rac之前配置的,看來這個寫法有問題,一定要寫localhost
127.0.0.1 localhost.orasrv.com localhost #添加一個新的關於localhost的解析entry
#嘗試啟動crs
[root@linux1 bin]# ./crsctl start res ora.crsd -init
CRS-2672: Attempting to start 'ora.crsd' on 'linux1'
CRS-2676: Start of 'ora.crsd' on 'linux1' succeeded
#crs成功啟動
[root@linux1 bin]# ./crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[root@linux1 bin]# ./crsctl stat res -t -init
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
1 ONLINE ONLINE linux1 Started
ora.crsd
1 ONLINE ONLINE linux1
ora.cssd
1 ONLINE ONLINE linux1
ora.cssdmonitor
1 ONLINE ONLINE linux1
ora.ctssd
1 ONLINE ONLINE linux1 ACTIVE:0
ora.diskmon
1 ONLINE ONLINE linux1
ora.drivers.acfs
1 ONLINE ONLINE linux1
ora.evmd
1 ONLINE ONLINE linux1
ora.gipcd
1 ONLINE ONLINE linux1
ora.gpnpd
1 ONLINE ONLINE linux1
ora.mdnsd
1 ONLINE ONLINE linux1