Oracle11gR2单机升级OPatch 打PSU补丁

Oracle补丁一般分为2类:CPU和PSU

CPU:Critical Patch Update,紧急补丁更新。每季度发布一次,用来修复安全方面的累积型补丁,即最新的CPU补丁已经包含以往的CPU补丁,只需安装最新的CPU补丁即可。CPU已更名为SPU(Security Patch Update)

PSU:Patch Set Update,补丁集更新。Oracle选取在每个季度用户下载数量最多、且得到验证具有较低风险的补丁放入到每个季度的PSU中。在每个PSU中不但包含Bug的修复,还包含了最新的CPU。PSU通常随CPU一起发布。PSU通常是增量的,大部分PSU可以直接安装,但有些PSU必须要求安装上一个版本的PSU之后才能继续安装


环境

IP:192.168.1.210

OS:CentOS 7.6.1810 x86_64

Oracle软件安装包:p13390677_112040_Linux-x86-64_1of7.zip、p13390677_112040_Linux-x86-64_2of7.zip

Oracle版本:11.2.0.4.0

OPatch软件安装包:p6880880_112000_Linux-x86-64.zip

OPatch版本:11.2.0.3.11

PSU补丁包:p27734982_112040_Linux-x86-64.zip


升级OPatch

#检查原始OPatch版本
su - oracle
$ORACLE_HOME/OPatch/opatch version

Oracle11gR2单机升级OPatch 打PSU补丁


#下载解压新OPatch版本
wget http://192.168.1.100/tools/sql/oracle/11g/11.2.0.4/patch/p6880880_112000_Linux-x86-64.zip
unzip -q p6880880_112000_Linux-x86-64.zip
chown -R oracle.oinstall OPatch

#备份老版本OPatch
mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_old

#移动新版本OPatch
mv OPatch $ORACLE_HOME/

#检查新OPatch版本
$ORACLE_HOME/OPatch/opatch version

Oracle11gR2单机升级OPatch 打PSU补丁


查看过往补丁

$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch lsinv

Oracle11gR2单机升级OPatch 打PSU补丁


Oracle11gR2单机升级OPatch 打PSU补丁

sqlplus / as sysdba
col ACTION format a6
col VERSION format a8
col BUNDLE_SERIES format a13
col COMMENTS format a19
select ACTION,VERSION,BUNDLE_SERIES,COMMENTS from dba_registry_history;

Oracle11gR2单机升级OPatch 打PSU补丁


安装PSU

先关闭数据库和监听

shutdown immediate
!lsnrctl stop
#如果遇到OPatch failed with error code 73错误,再运行一次lsnrctl stop


下载解压PSU补丁

wget http://192.168.1.100/tools/sql/oracle/11g/11.2.0.4/patch/p27734982_112040_Linux-x86-64.zip
unzip -q p27734982_112040_Linux-x86-64.zip
chown -R oracle.oinstall 27734982


检查PSU补丁是否有冲突

cd 27734982/
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

Oracle11gR2单机升级OPatch 打PSU补丁


手动生成OPatch所需的Oracle Configuration Manager文件ocm.rsp

$ORACLE_HOME/OPatch/ocm/bin/emocmrsp
#提示输入Eamil address/User Name处按回车,然后再输入Y

Oracle11gR2单机升级OPatch 打PSU补丁


应用补丁

$ORACLE_HOME/OPatch/opatch apply -silent -ocmrf ocm.rsp


升级数据字典

sqlplus /nolog
connect / as sysdba
!lsnrctl start
startup
@$ORACLE_HOME/rdbms/admin/catbundle.sql psu apply
shutdown immediate
startup


重新编译无效对象

@$ORACLE_HOME/rdbms/admin/utlrp.sql


打Oracle JavaVM Component Database PSU补丁

@$ORACLE_HOME/rdbms/admin/dbmsjdev.sql
exec dbms_java_dev.disable
exit


检查系统已打补丁

$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch lsinv

Oracle11gR2单机升级OPatch 打PSU补丁


sqlplus / as sysdba
col ACTION format a6
col VERSION format a8
col BUNDLE_SERIES format a13
col COMMENTS format a19
select ACTION,VERSION,BUNDLE_SERIES,COMMENTS from dba_registry_history;

Oracle11gR2单机升级OPatch 打PSU补丁


拆卸PSU

sqlplus /nolog
connect / as sysdba
startup
@$ORACLE_HOME/rdbms/admin/catbundle_PSU_ORCLDB_ROLLBACK.sql    #数据库名为ORCLDB
exit

Oracle11gR2单机升级OPatch 打PSU补丁


执行utlrp.sql

sqlplus /nolog
connect / as sysdba
@$ORACLE_HOME/rdbms/admin/utlrp.sql

Oracle11gR2单机升级OPatch 打PSU补丁


关闭数据库实例和监听

shutdown immediate
!lsnrctl stop
exit


拆卸补丁

$ORACLE_HOME/OPatch/opatch rollback -id 27734982


检查

Oracle11gR2单机升级OPatch 打PSU补丁



更新日期: 2019年04月03日
文章标签: OracleLinux
文章链接: https://www.vos.cn/db/296.html  
版权说明:如非注明,本站文章均为vOS原创,转载请注明出处和附带本文链接。