1.先替换掉OPatch软件
每个实例都要运行
GRID_HOME和ORACLE_HOME的OPatch目录都去除掉
把OPatch软件p6880880_112000_Linux-x86-64.zip解压出来
分别cp到GRID_HOME和ORACLE_HOME,注意将OPatch目录权限修改正确 chown -R xxx
查看opatch软件的版本号
$GRID_HOME/OPatch/opatch version
$ORACLE_HOME/OPatch/opatch version
2.建立rsp文件用来自动打补丁
每个实例都要运行
su - grid
$GRID_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output ~/grid_ocm.rsp
chmod 777 grid_ocm.rsp
su – oracle
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output ~/oracle_ocm.rsp
chmod 777 oracle_ocm.rsp
以上不需要提供email并选择yes忽略,这样就分别在oracle、grid用户下建立了rsp文件。
3.把p19380115_112040_Linux-x86-64.zip补丁集包解压
里面包含了grid和rdbms的补丁集
将解压的19380115文件夹放到grid和oracle都能访问的地方,19380115目录权限改成 777
开始打补丁,都需要在root下运行
每个节点先打grid的补丁,所有节点打完之后打rdbms的补丁
root执行
/app/crs_home/OPatch/opatch auto /app/19380115 -oh /app/crs_home -ocmrf /home/grid/grid_ocm.rsp
所有实例都执行完
root执行
/app/oracle/11g/OPatch/opatch auto /app/19380115 -oh /app/oracle/11g -ocmrf /home/oracle/oracle_ocm.rsp
再所有实例执行
4.如果已经有数据库,升级数据库
su - oracle
sqlplus / as sysdba
sql> startup
sql> @?/rdbms/admin/catbundle.sql psu apply
5.验证补丁集结果
su - grid
$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch lsinventory
su - oracle
$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch lsinventory
set linesize 300
col action_time for a30
col version for a15
col id for 99
col action for a10
col namespace for a10
col COMMENTS for a20
col BUNDLE_SERIES for a15
select * from registry$history;
6.rollback补丁
rollback补丁gi和rdbms的
每个节点都执行
/app/crs_home/OPatch/opatch auto /app/19380115 -rollback -ocmrf /home/grid/grid_ocm.rsp
rollback数据库字典的
su - oracle
sqlplus / as sysdba
sql> startup
sql> @?/rdbms/admin/catbundle.sql psu noapply
然后执行生成的rollback的sql