Oracle Patch Bundle Update
Oracle Patch Bundle Update
一、相关知识介绍
以前只知道有CPU(Critical Patch Update)和PSU(Patch Set Update),不知道还有个Bundle Patch,由于出现了TNS-12531的BUG问题,需要在windows上打至少为Patch bundle 22补丁。通过学习查找:
Oracle里的补丁具体分为如下这样6种类型:
Oracle Interim patches: A patch that is applied inbetween patchset releases with the Opatch utility. Interim patches aresometimes also referred to as patchset exceptions.
Oracle Merge patches: A type of interim patch thatmerges multiple fixes to ensure that one fix doesn't overwrite the other. Mergepatches are typically required when a conflict is detected between an existingpatch and a new patch.
Oracle Bundle patches: A type of interim patch that contains fixes to manyimportant bugs, though not as many as a patchset.
Oracle Critical Patch Update (CPU) patches: A typeof interim patch that contains fixes to critical security bugs delivered on aquarterly basis.
Patch Set Updates(PSUs): PSUs are proactivecumulative patches containing recommended bug fixes that are released on aregular and predictable schedule. PSUs are on the same quarterly schedule asthe Critical Patch Updates (CPU), specifically the Tuesday closest to the 15thof January, April, July, and October.
Oracle Patchsets: Software-release mechanisms fordelivering tested and integrated product fixes on a regular basis.
有人认为它只存在于windows系统上,其实在UNIX操作系统上也用该种类型的补丁。之所以这么划分是有其原因的,在Windows系统上,DLL’s(Dynamic Linked Libraries)和库中的可执行文件,不同于其他系统上的库文件,例如,UNIX上的为“.o”结尾的库文件,两者工作原理不同,
当用户在Windows执行补丁修复的时候,在ORACLE HOME中的Oracle的可执行文件将会被补丁中的可执行文件代替。这个行为的结果是,老的补丁将会丢失,所以Windows上不能执行一些个体BUG的修订,代替之的是,许多补丁会组成一起成为一个“Bundle Patch”。
所有的在Windows上的BundlePatch都是一个积累的,它意味着先前的安全告警修复和Bundle Patches都会被包括。
ORACLEDatabase(11.2.0.3.0)的所有的补丁信息都将在11.2.0.3 Patch Set - Availability and Known Issues [ID1348336.1]找到。
在文档ID 161549.1中找到了补丁16803774为最新的Bundle Patch。
二、大致步骤
由于本次做的补丁仅在单机的WINDOWS X64上做,如下步骤:
1、 确保perl的可执行路径在加载到PATH中
set PATH=%ORACLE_HOME%\perl\bin;%PATH%
2、 关闭数据库,确保所有关于oracle的进程都将被关闭。
3、 设置ORACLE_HOME环境变量
SET ORACLE_HOME=<Oracle Home Path>
4、进入到下载的路径
> cd 16803775
5、确保OPatch的执行脚本在你的PATH设置中,执行补丁应用:
>opatch apply
6、如果出现错误,检查%ORACLE_HOME%\cfgtoollogs\opatch 下的补丁日志信息。
7、检查补丁应用的情况,最后不要忘记关注随Patch附带的Known Issues。
三、操作实录
C:\Users\Administrator>d:
D:\>set PATH=%path%;D:\app\Administrator\product\11.2.0\dbhome_1\perl\bin
D:\>set PATH=%path%;D:\app\Administrator\product\11.2.0\dbhome_1\OPatch
D:\>opatch lsinv
The Oracle Home D:\ is not OUI basedhome.Please give proper Oracle Home.
OPatch returns with error code = 1
OPatch succeeded.
D:\>set ORACLE_HOME=D:\app\Administrator\product\11.2.0\dbhome_1\
--执行没有成功,设置正确的ORALCE_HOME后:
D:\>opatch lsinv
Invoking OPatch 11.2.0.1.7
Oracle 中间补丁程序安装程序版本11.2.0.1.7
版权所有 (c) 2011, Oracle Corporation。保留所有权利。
Oracle Home :D:\app\Administrator\product\11.2.0\dbhome_1
Central Inventory : C:\ProgramFiles\Oracle\Inventory
from : n/a
OPatch version : 11.2.0.1.7
OUI version : 11.2.0.3.0
Log file location :D:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs\opa
tch\opatch2013-07-17_09-48-20上午.log
Lsinventory Output file location :D:\app\Administrator\product\11.2.0\dbhome_1\
cfgtoollogs\opatch\lsinv\lsinventory2013-07-17_09-48-20上午.txt
-------------------------------------------------------------------------------
已安装的顶级产品 (1):
Oracle Database 11g 11.2.0.3.0
此 Oracle 主目录中已安装 1 个产品。
此 Oracle 主目录中未安装任何中间补丁程序。
--------------------------------------------------------------------------------
OPatch succeeded.
--我们可以看到11.2.0.3的初始化的OPatch为11.2.0.1.7,文档中要求OPatch utility release 11.2.0.1.9 or later.下载6880880OPatch 工具。
OPatch相关操作可以在http://blog.csdn.net/jyjxs/article/details/8983880中找到
--可以看到目录中没有应用Patch,进入到下载目录中
D:\>cd D:\p16803775_112030_MSWIN-x86-64\16803775
D:\p16803775_112030_MSWIN-x86-64\16803775>opatch apply
Oracle 中间补丁程序安装程序版本11.2.0.3.4
版权所有 (c) 2012, Oracle Corporation。保留所有权利。
Oracle Home :D:\app\Administrator\product\11.2.0\dbhome_1
Central Inventory : C:\ProgramFiles\Oracle\Inventory
from : n/a
OPatch version : 11.2.0.3.4
OUI version : 11.2.0.3.0
Log file location :D:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs\opa
tch\16803775_Jul_17_2013_11_15_45\apply2013-07-17_11-15-45上午_1.log
Applying interim patch '16803775' to OH'D:\app\Administrator\product\11.2.0\dbh
ome_1'