#本篇文章属于Oracle Database 11g Administrator Certified Master–Exam Topics
#Server Configuration —-Use OPatch to install a patch部分
#主要内容:补丁基础知识,在11gR2的RAC及单实例上打PSU
#待完善
#最后更新:2013-05-24
一些补丁的基础知识
什么是Oracle补丁?
这里就不多做介绍,Oracle的中文技术支持博客上有一篇Oracle补丁术语介绍的文章已经写的很详细。或者可以看【转Oracle补丁】老托的Oracle 数据库Patch概念性小常识。
如何获得Oracle补丁?
Oracle的补丁可以通过Quick Reference to Patch Numbers for Database PSU, SPU(CPU), Bundle Patches and Patchsets [ID 1454618.1]和Oracle Recommended Patches — Oracle Database [ID 756671.1]来获得补丁。也可以通过查询补丁号获得补丁。
在安装任何补丁时都应该要仔细阅读该补丁对应的readme,因为每个补丁的安装步骤都是可能有所不同的。
从11.2.0.2以后,对于每个RAC及任何安装grid的数据库,强烈要求使用Grid Infrastructure Patch Set Update(即称GI PSU)。GI PSU中不仅仅有GI的PSU,也包括了DB的PSU。而且有的Bug既需要在GI中修复,也需要在DB中修复。
opatch工具
OPatch is Oracle’s only supported method of installing interim patches. It updates
the central and per-product inventories with the details of the patch.
在打patch之前,推荐下载最新的补丁安装工具opatch :
首先查看opatch的版本
$ <ORACLE_HOME>/OPatch/opatch version
保证opatch的版本高于readme中要求的版本
否则的话,下载最新的opatch:https://updates.oracle.com/download/6880880.html
安装最新的OPatch工具,不需要停止任何服务:
切换到拥有者的用户,并移动原有的OPatch目录,然后将新的OPatch安装到GRID_HOME
su - grid $ mv /u01/app/11.2.0/grid/OPatch $GRID_HOME/OPatch_old $ unzip p6880880_112000_Linux-x86-64.zip -d $GRID_HOME
su - oracle [oracle@localhost 11.2]$ mv /u01/app/oracle/product/11.2/OPatch/ $ORACLE_HOME/OPatch_old $ unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
检查确定是否已经安装正确
[grid@ocmrac2 32]$ opatch version OPatch Version: 11.2.0.3.4 OPatch succeeded.
注意:不管grid还是oracle用户,都必须要单独更新。且注意可能会出现Permission denied,检查权限,复权775
示例:
11g R2
在Oracle 11.2.0.3 RAC 上手动打11.2.0.3.5补丁
在Oracle 11.2.0.3 RAC上自动打11.2.0.3.6补丁
Oracle 11.2.0.1 RAC升级到11.2.0.3
打bug补丁