说明:此次环境的patch p6880880_112000_Linux-x86-64.zip 和 p25476126_112040_Linux-x86-64.zip均放在/soft目录,
且grid和Oracle用户对/soft目录具有读写权限,全程只需要root用户执行即可。
数据库版本
11.2.0.4
PSU
11.2.0.4.20170418
GI 安装目录
/u01/app/11.2.0/grid
DB 安装目录
/u01/app/oracle/product/11.2.0/dbhome_1
注:以下操作均是由root 用户两节点分别执行
1. 替换OPatch
su - root
export GRID_HOME=/u01/app/11.2.0/grid
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
#替换grid的opatch
cd $GRID_HOME;mv OPatch OPatch.`date +%Y%m%d`
unzip /soft/p6880880_112000_Linux-x86-64.zip -d $GRID_HOME
chown -R grid:oinstall $GRID_HOME/OPatch
#替换database的opatch
cd $ORACLE_HOME;mv OPatch OPatch.`date +%Y%m%d`
unzip /soft/p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
chown -R oracle:oinstall $ORACLE_HOME/OPatch
2.验证opatch替换情况:
su - grid -c ' $ORACLE_HOME/OPatch/opatch version'
OPatch Version: 11.2.0.3.12
OPatch succeeded.
su - oracle -c ' $ORACLE_HOME/OPatch/opatch version'
OPatch Version: 11.2.0.3.12
OPatch succeeded.
3.解压补丁到/soft目录:
su - grid -c 'cd /soft ; unzip p25476126_112040_Linux-x86-64.zip'
4.冲突检查
su - grid -c '$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/25476126 -oh $ORACLE_HOME'
su - oracle -c '$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/25476126 -oh $ORACLE_HOME'
5.生成ocm.rsp文件
su - grid -c 'cd /soft; $ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner '
6.开始自动打PSU
root 用户执行:
/u01/app/11.2.0/grid/OPatch/opatch auto /soft/25476126 -ocmrf /soft/ocm.rsp
# --注:如果dbca建库了,上面脚本会同时把grid和database打上PSU,如果是新装RAC还未建库,则只会安装grid的psu,database需要额外命令打上psu。
--打database psu 命令:
/u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch auto /soft/25476126 -oh /u01/app/oracle/product/11.2.0/dbhome_1 -ocmrf /soft/ocm.rsp
7.验证安装PSU结果:
su - grid -c '$ORACLE_HOME/OPatch/opatch lsinv'
su - oracle -c '$ORACLE_HOME/OPatch/opatch lsinv'
# -- 如果是新装RAC,还未建库,则下面操作无需进行。
8.运行脚本,应用psu
su - oracle -c 'sqlplus / as sysdba'<<EOF
@?/rdbms/admin/catbundle.sql psu apply
EOF
9.执行utlrp 脚本
su - oracle -c 'sqlplus / as sysdba'<<EOF
@?/rdbms/admin/utlrp.sql
EOF
10.验证psu应用情况
su - oracle -c 'sqlplus / as sysdba'<<EOF
set line 150
col ACTION_TIME for a30
col ACTION for a8
col NAMESPACE for a8
col VERSION for a10
col BUNDLE_SERIES for a5
col COMMENTS for a20
select * from dba_registry_history;
EOF