已索引
文档
Master Book List > Universal Installer and OPatch User's Guide for Windows and UNIX -> 7 Patching Oracle Software with OPatch
术语
version,例如 10.2
Patch Set,例如 11.2.0.4,累积的
PSU,补丁集更新,例如 10.2.0.4.1
CPU,关键补丁更新,每季度提供一次的累积的一组高优先级修复程序(往往针对安全性问题)
CRS Bundle Patch,集群软件补丁集,专门修改Clusterware的累计的补丁
UPGRADE:大版本升级,如 9.2 到 10.2
UPDATE:补丁包升级,例如 10.2.0.2 到 10.2.0.3
补丁策略
能应用PSU就尽量应用PSU,这是累积的,且各PSU之间无冲突。
如果某BUG还未包含在PSU中,且该BUG不能规避,必须马上应用补丁的,再打单个补丁,单个补丁可能会与以后的PSU产生冲突。
至于是否主动为数据库应用补丁或者PSU,仁者见仁,智者见智。
但是要注意,应用补丁的实质是引入新的代码,新入新的代码也是有风险的。
例如:Bug 14320415 The value of service name is sometimes removed during expdp/impdp in RAC - superseded
这个 bug 是,运行时间很长的 RAC 环境,每天都会通过 datapump 进行备份,而每个 datapump 会话都会生成一个新的 service name,65536个不同的service name被注册后,就没有service name可以注册了。在datapump备份期间,新的数据库连接会报 ORA-12514 错误而失败,备份完成后,ORA-12514消失,新的数据库连接可以正常建立。
应用这个 bug 的补丁后,触发另一个bug:
Bug 22036236 - Instance terminated by PMON due to ORA-600[KGHALO4] during datapump export / import if fix 14320415 present in 11.2 (Doc ID 22036236.8)
前一个bug只是在逻辑备份期间影响新会话的建立,并不会影响连接池中已经建立的会话。
后面新bug在逻辑备份期间直接导致实例崩溃,问题变得更严重,影响面更大了。
针对这类问题,Oracle 会在第一个 bug 标题的最后写上 " superseded" 字样,表示该 bug 的问题已经在另外一个 bug 修复代码中做了修复。