本文共 1589 字,大约阅读时间需要 5 分钟。
关于打PSU补丁,我想最好的文档一定是补丁程序里自带的ReadMe。这里我自己总结了些简要的步骤,供以后打PSU时参考。
1.根据下面的两篇文档下载最新的PSU补丁Oracle 最新补丁参考文档:
Exadata平台最新PSU补丁参考文档:
2.根据补丁要求安装对应的OPatch版本,下载最新的OPatch工具和如何安装可以参考 3.对于存在DG的环境,可以参考4.虽然对RAC来说打PSU补丁的时候不需要停库和集群资源,启停集群软件和数据库完全是自动完成的。但为了打补丁的时候可以节省些时间,最好还是先把数据库停了以后再打补丁。
对于单节点数据库只安装了DB软件的话,则需要停库和停监听还有E。
5、通常GI的补丁包里就已经包含RDBMS的补丁了,这样就不需要再单独下载RDBMS的补丁了。在正式打PSU补丁之前,建议备份GI和RDBMS目录(tar -cvf dbhome_1.tar dbhome_1),以防万一。
6、ocm.rsp文件的生成可以参考文档
7、在RAC+DG的环境中打PSU补丁,首先要在DG的备库端进行PSU补丁的安装,停止并shutdown所有standby数据库,使用root帐号分别对GI和RDBMS打补丁。打完补丁之后不要执行catbundle.sql psu apply脚本。这个脚本应该在生产端执行然后通过redo传递至灾备端。
Patching GI Home Alone # opatch auto <PATH_TO_PATCH_DIRECTORY> -oh <GI_HOME> Patching Oracle Database home # opatch auto <PATH_TO_PATCH_DIRECTORY> -oh <Comma separated Oracle home paths>
不推荐采用全自动的安装方式,虽然简单,但容易出问题
/u01/app/11.2.0/grid/OPatch/opatch auto /orasoft/path/22191577 -ocmrf /orasoft/ocm.rsp
8、DG端PSU补丁安装完成之后,备库启动状态程序和数据库至mount状态。(如果要验证DG端补丁是否安装成功,可以将备库切换至快照模式后执行catbundle.sql脚本验证)
startup mount; alter database recover managed standby database disconnect from session;
9、在生产端用root帐号对每个节点的GI和RDBMS打补丁。所有节点都打完补丁之后,找任一节点执行@?/rdbms/admin/catbundle.sql psu apply脚本。之后就是查询脚本执行的日志是否有错误。
@?/rdbms/admin/utlrp.sql 编译系统无效对象
10、上面的步骤做完之后可以查询dba_registry_history视图验证PSU补丁的安装情况。 OPatch/opatch lsinventory也能显示PSU的安装情况。
11、备库恢复open with read only ADG状态,
alter database recover managed standby cancel;
alter database open;
alter database recover managed standby database using current logfile disconnect from session;
select open_mode from v$database;
12、如果有catalog数据库,那么还得更新下catalog数据库
RMAN> UPGRADE CATALOG;
转载地址:http://gasof.baihongyu.com/