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
#下载解压新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
查看过往补丁
$ORACLE_HOME/OPatch/opatch lspatches $ORACLE_HOME/OPatch/opatch lsinv
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;
安装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 ./
手动生成OPatch所需的Oracle Configuration Manager文件ocm.rsp
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp #提示输入Eamil address/User Name处按回车,然后再输入Y
应用补丁
$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
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;
拆卸PSU
sqlplus /nolog connect / as sysdba startup @$ORACLE_HOME/rdbms/admin/catbundle_PSU_ORCLDB_ROLLBACK.sql #数据库名为ORCLDB exit
执行utlrp.sql
sqlplus /nolog connect / as sysdba @$ORACLE_HOME/rdbms/admin/utlrp.sql
关闭数据库实例和监听
shutdown immediate !lsnrctl stop exit
拆卸补丁
$ORACLE_HOME/OPatch/opatch rollback -id 27734982
检查
本站所有文章均可随意转载,转载时请保留原文链接及作者。