最近Oracle12.1.0.2 RAC PSU,因为某个节点/目录使用率达到100%,导致补丁失败。尝试解决补丁失败问题时,发现该节点的很多文件的权限都已经混乱了。最后决定通过节点删除与添加来解决。
但是不幸,遇到了因为前面的错误,导致节点删除没有成功。武断的通过rm,将文件的都清理了。最后尝试添加节点。
在节点添加的过程中,首先遇到了 Error ocurred while retrieving node numbers of the existing nodes错误,查询发现可通过detachHome.sh,然后 attachHome.sh解决。有点不怎么放心,于是看下了脚本文件:
#######detachHome.sh:
#!/bin/sh
OHOME=/u01/app/12.1.0/grid
OHOMENAME=OraGI12Home1
CUR_DIR=`pwd`
cd $OHOME/oui/bin
./runInstaller -detachhome ORACLE_HOME=$OHOME ORACLE_HOME_NAME=$OHOMENAME $*
cd $CUR_DIR
#######attachHome.sh
#!/bin/sh
OHOME=/u01/app/12.1.0/grid
OHOMENAME=OraGI12Home1
CUR_DIR=`pwd`
cd $OHOME/oui/bin
./runInstaller -detachhome ORACLE_HOME=$OHOME ORACLE_HOME_NAME=$OHOMENAME $* > /dev/null 2>&1
./runInstaller -attachhome ORACLE_HOME=$OHOME ORACLE_HOME_NAME=$OHOMENAME $*
cd $CUR_DIR
通过上面的脚本内容注意到:
detachHome/attachHome在实际执行时,都是通过调用runInstaller来实现的。
查询runInstaller的帮助文档(./runInstaller -help):
-detachHome
For detaching homes from the OUI inventory without deleting inventory directory inside Oracle home.
-attachHome
For attaching homes to the OUI inventory.
感觉应该就是更新了inventory。于是就果断执行了:attachHome.sh 。
然后执行节点添加操作,果不其然,报错如下:
SEVERE:OUI-10010:Cannot perform add node procedure for non-cluster Oracle homes.
然后查看inventory的文件:OraGI12Home1果然是异常的。
异常结果如下:
<HOME NAME="OraGI12Home1" LOC="/u01/app/12.1.0/grid" TYPE="O" IDX="1"/>
正常的结果案例:
<HOME NAME="OraGI12Home1" LOC="/u01/app/12.1.0/grid" TYPE="O" IDX="2">
<NODE_LIST>
<NODE NAME="rac1"/>
<NODE NAME="rac2"/>
</NODE_LIST>
</HOME>
于是就尝试修复文件文件内容,担心与之相关的不仅仅包括该xml文件。没有直接通过编辑该文件。runInstaller来更新来更新文件。
测试过程参考附件: http://blog.itpub.net/30393815/viewspace-2138790/
通过上面的测试过程,还原了当时的场景。完成之后,执行后续的节点添加步骤,顺利完成。
但是不幸,遇到了因为前面的错误,导致节点删除没有成功。武断的通过rm,将文件的都清理了。最后尝试添加节点。
在节点添加的过程中,首先遇到了 Error ocurred while retrieving node numbers of the existing nodes错误,查询发现可通过detachHome.sh,然后 attachHome.sh解决。有点不怎么放心,于是看下了脚本文件:
#######detachHome.sh:
#!/bin/sh
OHOME=/u01/app/12.1.0/grid
OHOMENAME=OraGI12Home1
CUR_DIR=`pwd`
cd $OHOME/oui/bin
./runInstaller -detachhome ORACLE_HOME=$OHOME ORACLE_HOME_NAME=$OHOMENAME $*
cd $CUR_DIR
#######attachHome.sh
#!/bin/sh
OHOME=/u01/app/12.1.0/grid
OHOMENAME=OraGI12Home1
CUR_DIR=`pwd`
cd $OHOME/oui/bin
./runInstaller -detachhome ORACLE_HOME=$OHOME ORACLE_HOME_NAME=$OHOMENAME $* > /dev/null 2>&1
./runInstaller -attachhome ORACLE_HOME=$OHOME ORACLE_HOME_NAME=$OHOMENAME $*
cd $CUR_DIR
通过上面的脚本内容注意到:
detachHome/attachHome在实际执行时,都是通过调用runInstaller来实现的。
查询runInstaller的帮助文档(./runInstaller -help):
-detachHome
For detaching homes from the OUI inventory without deleting inventory directory inside Oracle home.
-attachHome
For attaching homes to the OUI inventory.
感觉应该就是更新了inventory。于是就果断执行了:attachHome.sh 。
然后执行节点添加操作,果不其然,报错如下:
SEVERE:OUI-10010:Cannot perform add node procedure for non-cluster Oracle homes.
然后查看inventory的文件:OraGI12Home1果然是异常的。
异常结果如下:
<HOME NAME="OraGI12Home1" LOC="/u01/app/12.1.0/grid" TYPE="O" IDX="1"/>
正常的结果案例:
<HOME NAME="OraGI12Home1" LOC="/u01/app/12.1.0/grid" TYPE="O" IDX="2">
<NODE_LIST>
<NODE NAME="rac1"/>
<NODE NAME="rac2"/>
</NODE_LIST>
</HOME>
于是就尝试修复文件文件内容,担心与之相关的不仅仅包括该xml文件。没有直接通过编辑该文件。runInstaller来更新来更新文件。
测试过程参考附件: http://blog.itpub.net/30393815/viewspace-2138790/
通过上面的测试过程,还原了当时的场景。完成之后,执行后续的节点添加步骤,顺利完成。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30393815/viewspace-2138787/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30393815/viewspace-2138787/