OracleRacopatchauto的時候為什麼不打到Racdatabasehome上
先交代環境:
操作系統: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>