Oracle RAC Opatch auto的时候为什么不打到Rac database home上
先交代环境:
操作系统:AIX 7.1
Oracle版本:Oracle Rac 11.2.0.3
之前打了11.2.0.3.9的补丁集,Rac装上还没正式用,所以就干脆再打到最新的11.2.0.3.11补丁集。
今日在前段时间新装的两套Rac打最新的psu,同样使用opatch auto的方式来打psu,但是其中一套Rac是连同Rac和Grid一起patch,而另一套是只patch Grid的补丁集。很郁闷,两套rac的crsconfig_params是基本一样的,两套Rac的相关配置都是我一手安装配置的,为什么会有如此多偏差?
如下是Rac和Grid一同patch的那套Rac:
root@HDB01:/oraapp/oracle/backup>/oraapp/grid/gridhome/OPatch/opatch auto /install/psu -ocmrf /home/grid/grid.rsp
Executing /oraapp/grid/gridhome/perl/bin/perl /oraapp/grid/gridhome/OPatch/crs/patch11203.pl -patchdir /install -patchn psu -ocmrf /home/grid/grid.rsp -paramfile /oraapp/grid/gridhome/crs/install/crsconfig_params
This is the main log file: /oraapp/grid/gridhome/cfgtoollogs/opatchauto2014-09-28_15-07-56.log
This file will show your detected configuration and all the steps that opatchauto attempted to do on your system:
/oraapp/grid/gridhome/cfgtoollogs/opatchauto2014-09-28_15-07-56.report.log
2014-09-28 15:07:56: Starting Clusterware Patch Setup
Using configuration parameter file: /oraapp/grid/gridhome/crs/install/crsconfig_params
Stopping RAC /oraapp/oracle/product/11.2.0/dbhome_1 ...
Stopped RAC /oraapp/oracle/product/11.2.0/dbhome_1 successfully
patch /install/psu/17592127/custom/server/17592127 apply successful for home /oraapp/oracle/product/11.2.0/dbhome_1
patch /install/psu/18522512 apply successful for home /oraapp/oracle/product/11.2.0/dbhome_1
Stopping CRS...
Stopped CRS successfully
patch /install/psu/17592127 apply successful for home /oraapp/grid/gridhome
patch /install/psu/18522512 apply successful for home /oraapp/grid/gridhome
Starting CRS...
CRS-4123: Oracle High Availability Services has been started.
Starting RAC /oraapp/oracle/product/11.2.0/dbhome_1 ...
Started RAC /oraapp/oracle/product/11.2.0/dbhome_1 successfully
opatch auto succeeded.
root@DB01:/oraapp/oracle/backup>su - grid
如下是只patch 了 Grid的那套Rac:
root@ODB01:/install/psu>/oraapp/grid/gridhome/OPatch/opatch auto /install/psu -ocmrf /home/grid/grid.rsp
Executing /oraapp/grid/gridhome/perl/bin/perl /oraapp/grid/gridhome/OPatch/crs/patch11203.pl -patchdir /install -patchn psu -ocmrf /home/grid/grid.rsp -paramfile /oraapp/grid/gridhome/crs/install/crsconfig_params
This is the main log file: /oraapp/grid/gridhome/cfgtoollogs/opatchauto2014-09-28_15-08-19.log
This file will show your detected configuration and all the steps that opatchauto attempted to do on your system:
/oraapp/grid/gridhome/cfgtoollogs/opatchauto2014-09-28_15-08-19.report.log
2014-09-28 15:08:19: Starting Clusterware Patch Setup
Using configuration parameter file: /oraapp/grid/gridhome/crs/install/crsconfig_params
Stopping CRS...
Stopped CRS successfully
patch /install/psu/17592127 apply successful for home /oraapp/grid/gridhome
patch /install/psu/18522512 apply successful for home /oraapp/grid/gridhome
Starting CRS...
CRS-4123: Oracle High Availability Services has been started.
opatch auto succeeded.
root@ODB01:/install/psu>
通过查看Mos文档:(Doc ID 1479651.1)得知,HDB中是有数据库存在的(即通过dbca等形式创建数据库的),而ODB上并没有数据库DB的存在。
ps:这时突然想起来,前段时间确实在HDB上建立过数据库,并做了一些数据迁移做测试。。。(愚钝啊)
opatch的时候oracle在发现没有数据库database注册到OCR中,因此只是patch了Grid。
如下:通过Mos提供的命令发现HDB上CRS中确实有ora.hdb.db的存在:
grid@HDB01:/home/grid>crsctl stat res -p -w "TYPE = ora.database.type"|egrep '^NAME|^ORACLE_HOME'
NAME=ora.hdb.db
ORACLE_HOME=/oraapp/oracle/product/11.2.0/dbhome_1
ORACLE_HOME_OLD=
NAME=ora.hdb.db
ORACLE_HOME=/oraapp/oracle/product/11.2.0/dbhome_1
ORACLE_HOME_OLD=
grid@HDB01:/home/grid>
而在ODB上,次命令下去无任何输出,查看一下/etc/oratab文件,确实未发现除ASM之外的其他数据库:
grid@ODB01:/home/grid>crsctl stat res -p -w "TYPE = ora.database.type"|egrep '^NAME|^ORACLE_HOME'
grid@SRMBODB01:/home/grid>
可以通过以下命令来另外给Rac patch 补丁:
As root user, execute the following command:
opatch auto <UNZIPPED_PATCH_LOCATION> -oh <DATABASE_HOME> -ocmrf <ocm response file>