前言
为了解决某个bug,应用了近期发布的最新版psu,应用过程是一路坎坷,在此总结一下。
应用步骤
就是常规打psu的方法,这里简单的贴一下吧,步骤仅供参考:
具体的可以参考:Oracle GridInfrastructure 11.2.0.4.x Patch Set Update SUPPLEMENTAL README (文档 ID1641136.1)
注意:问题都是在这一步遇到的,这一步问题太多:
# 应用OCWpatch
GI_HOME/OPatch/opatchnapply -oh GI_HOME -local /u01/soft/psu9/22646198/22502549
· 空间问题
错误日志:
#解决方法:
在opatch执行过程中执行,把错误中提到的lib文件改名备份,因为这些文件会重新copy一份:
mv/u01/grid/lib/libclsra11.so /u01/grid/lib/libclsra11.so.bak
mv/u01/grid/lib/libdbcfg11.so /u01/grid/lib/libdbcfg11.so.bak
mv/u01/grid/lib/libeons.so /u01/grid/lib/libeons.so.bak
mv/u01/grid/lib/libeonsserver.so /u01/grid/lib/libeonsserver.so.bak
mv/u01/grid/lib/libgns11.so /u01/grid/lib/libgns11.so.bak
mv /u01/grid/lib/libhasgen11.so/u01/grid/lib/libhasgen11.so.bak
mv/u01/grid/lib/libocr11.so /u01/grid/lib/libocr11.so.bak
mv/u01/grid/lib/libocrb11.so /u01/grid/lib/libocrb11.so.bak
mv/u01/grid/lib/libocrutl11.so /u01/grid/lib/libocrutl11.so.bak
mv /u01/grid/lib/libdb-4.6.so/u01/grid/lib/libdb-4.6.so.bak
mv/u01/grid/lib/libcrf11.so /u01/grid/lib/libcrf11.so.bak
· 这个问题是因为在运行脚本过程中网络中断了,所以脚本也就断了,再次运行应用脚本的时候提示的错误
错误日志:
#解决方法:
cd$ORACLE_HOME/.patch_storage
mv patch_lockedpatch_locked.bak
#后续查找文档:Opatch fails with Lock file error (文档 ID 257800.1)
Cause
When Opatch is invoked, it creates patch_locked file in$ORACLE_HOME/.patch_storage during its execution.
If the patch application is interrupted or cancelled, this file gets retainedunder /.patch_storage directory. Hence, On an an attempt to re-apply the patch,the presence of patch_locked file doesnt allow further processing and throwerror.
Solution
1.Check if the file "patch_locked" is present in the directory$ORACLE_HOME/.patch_storage
2. Ifpresent, rename, move or remove the patch_locked file from$ORACLE_HOME/.patch_storage
3.Re-apply the patch
后续遇到的坑
因为这个库有删除归档的脚本,所以后期在删除归档的过程中老是提示要删除的归档需要备份,于是查看RMAN参数,归档保留策略改变了,这里不是人工改变的,是在打psu过程中自动修改的,这里猜测是因为某个bug导致的:
解决方法:
CONFIGURE ARCHIVELOGDELETION POLICY TO NONE;
总结
此次应用psu,是遇到问题太多,之前从没遇到过类似的问题,在这里提醒一下遇到问题一定要淡定,不要慌,即使没遇到过相同的问题;
oracle会把所有的错误信息都记录到日志中,所以一定要监控好日志;
最后建议不要使用自动方式打psu,一定要使用手动方式。