轉自:http://www.askmaclean.com/archives/11gr2-rac安裝ins-35354問題一例.html
今天在安裝一套11.2.0.2 RAC數據庫時出現了INS-35354的問題:
因為之前已經成功安裝了11.2.0.2的GI,而且Cluster的一切狀態都正常,出現這錯誤都少有點意外:
[grid@vrh1 ~]$ crsctl check crs CRS-4638: Oracle High Availability Services is online CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online
去MOS搜了一圈,發現有可能是oraInventory中的inventory.xml更新不正確導致的:
Applies to: Oracle Server - Enterprise Edition - Version: 11.2.0.1 to 11.2.0.2 - Release: 11.2 to 11.2 Information in this document applies to any platform. Symptoms Installing 11gR2 database software in a Grid Infrastrsucture environment fails with the error INS-35354: The system on which you are attempting to install Oracle RAC is not part of a valid cluster. Grid Infrastructure (Oracle Clusterware) is running on all nodes in the cluster which can be verified with: crsctl check crs Changes This is a new install. Cause As per 11gR2 documentation the error description is: INS-35354: The system on which you are attempting to install Oracle RAC is not part of a valid cluster. Cause: Prior to installing Oracle RAC, you must create a valid cluster. This is done by deploying Grid Infrastructure software, which will allow configuration of Oracle Clusterware and Automatic Storage Management. However, the problem at hand may be that the central inventory is missing the "CRS=true" flag (for the Grid Infrastructure Home). <inventory.xml> ------------- <HOME_LIST> <HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/grid" TYPE="O" IDX="1"> <NODE_LIST> <NODE NAME="node1"/> <NODE NAME="node2"/> </NODE_LIST> ------------- From the inventory.xml, we see that the HOME NAME line is missing the CRS="true" flag. The error INS-35354 will occur when the central inventory entry for the Grid Infrastructure home is missing the flag that identifies it as CRS-type home. Solution Use the -updateNodeList option for the installer command to fix the the inventory. The full syntax is: ./runInstaller -updateNodeList "CLUSTER_NODES={node1,node2}" ORACLE_HOME="" ORACLE_HOME_NAME="" LOCAL_NODE="Node_Name" CRS=[true|false] Execute the command on any node in the cluster. Examples: For a two-node RAC cluster on UNIX: Node1: cd /u01/grid/oui/bin ./runInstaller -updateNodeList "CLUSTER_NODES={node1,node2}" ORACLE_HOME="/u01/crs" ORACLE_HOME_NAME="GI_11201" LOCAL_NODE="node1" CRS=true For a 2-node RAC cluster on Windows: Node 1: cd e:\app\11.2.0\grid\oui\bin e:\app\11.2.0\grid\oui\bin\setup -updateNodeList "CLUSTER_NODES={RACNODE1,RACNODE2}" ORACLE_HOME="e:\app\11.2.0\grid" ORACLE_HOME_NAME="OraCrs11g_home1" LOCAL_NODE="RACNODE1" CRS=true
我環境中的inventory.xml內容如下:
[grid@vrh1 ContentsXML]$ cat inventory.xml <?xml version="1.0" standalone="yes" ?> <!-- Copyright (c) 1999, 2010, Oracle. All rights reserved. --> <!-- Do not modify the contents of this file by hand. --> <INVENTORY> <VERSION_INFO> <SAVED_WITH>11.2.0.2.0</SAVED_WITH> <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER> </VERSION_INFO> <HOME_LIST> <HOME NAME="Ora11g_gridinfrahome1" LOC="/g01/11.2.0/grid" TYPE="O" IDX="1" > <NODE_LIST> <NODE NAME="vrh1"/> <NODE NAME="vrh2"/> </NODE_LIST> </HOME> </HOME_LIST> </INVENTORY>
顯然是在<HOME NAME這里缺少了CRS=”true”的標志,導致OUI安裝界面在檢測時認為該節點沒有安裝GI。
解決方案其實很簡單只要加入CRS=”true”在重啟runInstaller即可,不需要如文檔中介紹的那樣使用runInstaller -updateNodeList的復雜命令組合。
[grid@vrh1 ContentsXML]$ cat /g01/oraInventory/ContentsXML/inventory.xml <?xml version="1.0" standalone="yes" ?> <!-- Copyright (c) 1999, 2010, Oracle. All rights reserved. --> <!-- Do not modify the contents of this file by hand. --> <INVENTORY> <VERSION_INFO> <SAVED_WITH>11.2.0.2.0</SAVED_WITH> <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER> </VERSION_INFO> <HOME_LIST> <HOME NAME="Ora11g_gridinfrahome1" LOC="/g01/11.2.0/grid" TYPE="O" IDX="1" CRS="true"> <NODE_LIST> <NODE NAME="vrh1"/> <NODE NAME="vrh2"/> </NODE_LIST> </HOME> </HOME_LIST> </INVENTORY>