系统刚上线时,RAC的一个节点出现几次因reboot_toc重启。
现象:
当前主机情况:
数据库服务器的配置如下,cpu激活数为16个。
System Name : HP-UX
Model : server rx8640
HP-UX version : B.11.23
CPU type : IA64 (400 Mhz)
CPU Architecture : IA-64 0
当前数据库情况:
crs 10.2.0.3 + oracle 10.2.0.3 (rac)
当前问题:
在两节点rx8640的oracle rac环境下,节点1的操作系统曾经出现几次无故重起现象,,数据库层面上数据库的告警日志和crs都缺少产生的日志(未产生),hp工程师通过主机问题产生的core文件分析,认为是oracle的crs引起的,发现是由./app/oracle/product/10.2.0/crs/bin/reboot_toc (属于oracle rac)进程重启了操作系统。
[@more@]分析原因:
1. 从hp工程师对core文件分析结果来看,主机的重起是由于oracle的ocssd进程的问题引起的。
2. 在metalink上也有这样的案例,环境和我们遇到的一样,它提到了一个oracle base bug 5679565,但还尚未给出明确的解决方法。
3. 通过与oracle rac pack小组联系,把相关日志发给他们看后,建议我们打oracle10.2.0.3基础上的patch sets:MLR#10 6273339。他们认为此问题在这个补丁集中得到了解决。
解决办法:
根据oracle rac pack小组的建议,对此oracle数据库进行升级,下面是具体的升级步骤:
1. 从metalink网站上下载MLR#10 6273339,把它拷贝到$ORA_CRS_HOME/OPatch目录下
2. % unzip p6273339_10203_HPUX-IA64.zip
3. 关闭数据库和crs集群,以oracle用户执行:
% $ORACLE_HOME/bin/srvctl stop database -d ysdb
% $ORACLE_HOME/bin/srvctl stop nodeapps -n 8640a
% $ORACLE_HOME/bin/srvctl stop nodeapps -n 8640b
以root用户执行:
$ORA_CRS_HOME/bin/crsctl stop crs
4. 以root用户执行下面命令unlock受保护的文件:
$ORAC_CRS_HOME/OPatch/6273339/custom/scripts/prerootpatch.sh -crshome /u01/app/oracle/product/10.2.0/crs -crsuser oracle
5. 以oracle用户执行下面命令,在升级前保存当前重要的配置设置:
$ORAC_CRS_HOME/OPatch/6273339/custom/scripts/prepatch.sh -crshome /u01/app/oracle/product/10.2.0/crs
$ORAC_CRS_HOME/OPatch/6273339/custom/scripts/prepatch.sh -dbhome /u01/app/oracle/product/10.2.0/db
6. Patch补丁文件集:
Patch the CRS home files
以oracle用户执行下面命令:
cp $ORA_CRS_HOME/OPatch/6273339/* $ORA_CRS_HOME/OPatch/
% opatch apply -local -oh /u01/app/oracle/product/10.2.0/crs
Patch the RDBMS home files
以oracle用户执行下面命令:
% opatch apply custom/server/6273339 -local -oh /u01/app/oracle/product/10.2.0/db
7. Configure the HOME
在第6步中patch完之后,一些配置设置需要应用到已打的补丁文件中,以oracle用户执行下面命令:
% $ORA_CRS_HOME/OPatch/custom/scripts/postpatch.sh -crshome /u01/app/oracle/product/10.2.0/crs
% $ORA_CRS_HOME/OPatch/custom/server/6273339/custom/scripts/postpatch.sh -dbhome /u01/app/oracle/product/10.2.0/db
7. 接下来需要在CRS Home上做些恢复,同时它会启动CRS守护进程,以root用户执行下面命令:
% $ORA_CRS_HOME/OPatch/custom/scripts/postrootpatch.sh –crshome /u01/app/oracle/product/10.2.0/crs
8. 最后,检查oracle相关服务是否已全部启动,并验证该补丁程序是否已打上:
% opatch lsinventory -detail -oh
% opatch lsinventory -detail -oh
注意,在这里打完补丁后,发现vip服务无启动,用crs_start进行手动启动时只是报vip无法启动,并在crsd log下发现不了有用的信息。通过换成用srvctl命令手动启动时,却把无法启动的原因的详细的提示,原来是因为操作系统上没有指定网关导致vip无法启动(此问题以前遇到过)。重新设定网关后,vip重常启动。整个升级过程完成。
根据oracle的说法,此问题已得到了解决,但在我们这边目前是无法得到证实,因为此问题本来就是确定性,无法通过类似压力测试等方式人为的模拟出来,只能是通过时间来证明。
注:该补丁打过过已经一年多没出现过这种问题了!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/670493/viewspace-1024971/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/670493/viewspace-1024971/