SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
了解 Oracle Critical
  Patch Update


     by Maclean.liu
           liu.maclean@gmail.com
       www.oracledatabase12g.com
About Me

l Email:liu.maclean@gmail.com
l Blog:www.oracledatabase12g.com
l Oracle Certified Database Administrator Master 10g
and 11g
l Over 6 years experience with Oracle DBA technology
l Over 7 years experience with Linux technology
l Member Independent Oracle Users Group
l Member All China Users Group
l Presents for advanced Oracle topics: RAC,
DataGuard, Performance Tuning and Oracle Internal.
Oracle Critical Patch Update 是什么?
Critical Patch Update(以下简称 CPU),是 Oracle 在 2005 年开始引入的产品安全更新策略。一
般来说 CPU 包含了 Oracle 产品安全漏洞的修复补丁集 (set of security bug fix)。CPU 最早的
雏形出现在 2005 年,该项目致力于为客户周期性地提供累积性的补丁以修复安全漏洞。




通常 CPU 补丁会在每季度开始第一个月的 15 号发布,按照发布日期的不同可以划分为:
   •   January : CPU JAN
   •   April :   CPU APR
   •   July :    CPU JUL
   •   October : CPU OCT




存在以下 3 种类型的 CPU 补丁:

   • Normal CPU:在 10.2.0.2 之前所有的 CPU 均是 Normal CPU
   • Molecular CPU:Molecular 解释为分子,从 10.2.0.3 开始以后版本的 CPU patches 均以
       Molecular 格式发布,之后我们会介绍 Normal/Molecular 格式的区别
   • CPU Bundle Patch:由于在 Windows 平台无法利用替换共享库文件后 relink 的方式来
       更新 Oracle binary,所以 Oracle 特别针对 Windows 发布区别于 Unix 上
       Normal/Molecular CPU 的 CPU Bundle patch(也因此 Bundle Patch 会别较大)。Windows
       bundle patches 通常每一个季度都会发布




接下来我们通过 2 个实例来了解 Normal CPU 与 Molecular CPU 之间的区别。Linux x86 平台
上的 CPUJAN2009 for 9.2.0.8 的 bug#补丁号为 7592365。我们可以通过该补丁号从 My Oracle
Support 上下载到压缩为 zip 的补丁包,试着将该压缩包解压后我们会发现该 CPU 补丁包的
目录结构类似于一个 one-off patch(一次性补丁):



$cd 7592365
$ls
/etc     /files       readme
之前已经介绍过了从 10.2.0.3 开始以后版本的 CPU patches 均以 Molecular 格式发布。我们选
取 Linux x86 平台上的 CPUAPR2009 for 10.2.0.4 为 Molecular CPU 的示例,下载并解压该
CPU 后会发现补丁包目录下有不少以 Patch number 为名的子目录,这就是 Molecular-分子式
的寓意所在,其实你也可以简单地理解为是对散装的安全补丁打了包:



$cd 8290506
$ls
7155248 7155251   7155254   7375613   7609058   8309592   8309637   cpu_root.sh
7155249 7155252   7197583   7375617   8290506   8309623   8309639   patchmd.xml
7155250 7155253   7375611   7609057   8309587   8309632   8309642   README.html




以上每一个数字代表一个 molecules,称作分子补丁
注意!一个 molecules 可能包含有多个小的 fix!!


Normal CPU 与 Molecular CPU 间的差异还表现在所包含的补丁类型上。Normal CPU 也被叫
做 Classic CPU 即传统 CPU,不同于 molecular CPU,Normal CPU 不仅包含安全漏洞修复,
针对于特定的产品、产品版本及平台还可能包含了非安全的补丁。




而 Molecular CPU(在 MOS 上有时也被叫做 New format CPU)从 10.2.0.3 开始改变了既往
Normal CPU 的习惯,Molecular CPU 仅仅包含安全漏洞补丁(security bug fixes),这是目前
CPU 与另一种补丁更新策略 Patch Set Update(PSU)间的主要区别之一(PSU 在格式上类似于
Normal CPU),CPU 专门负责修复安全漏洞,而 PSU 往往会包含 CPU(INCLUDES CPU)。




第一个以 Molecular 形式发布的是 CPU 是 CPUJUL2007(DB-10.2.0.3-MOLECULE-013-
CPUAPR2007):

此外根据 Oracle Product lifetime 的介绍 CPU 的发布遵循几个原则:




   1. CPU 仅为最新的 patchset 补丁集发布
2. 对于之前的 patchset 补丁集存在一个宽限期,在此宽限期内仍会针对老的 patchset 发
     布 CPU,关于这个宽限期(grace period)在 MOS 文档<Database, FMW, EM Grid Control,
     and OCS Software Error Correction Support Policy [ID 209768.1]>中有详细描述,实际上
     如 Fusion Middleware、Application 等 Oracle 产品的维护保障期也受到该宽限期的影
     响,以下摘录 Database 部分的附录:


Grace Period: up to 1 year, minimum 3 months.
You have up to one year from the release of a patch set on the first platform
(currently Linux x86) to plan for
and install the new patch set. During that year we will create new bug fixes for
the previous patch set.
This grace period is effective with the release of 10.2.0.4.
For example, 10.2.0.4 was released first on Linux x86. The release date was 22
February 2008.
Until 22 February 2009 we will create new fixes for both 10.2.0.3 and 10.2.0.4.
After that date new fixes for 10.2.0.3 will cease on all platforms and we will
only create new fixes for 10.2.0.4.
Grace period for current patch sets can be found on Metalink in Note 742060.1

Exceptions:
3 Month minimum grace period: Since the release of a patch set on different
platforms happens over time,
not all platforms will be supported for error correction for the full year.
Because of this,
we will always support the previous patch set for error correction for at least
3 months.
For example, if the initial release of patchset A.x.y.z is on January 1st on
Linux x86 and the same patch set
is released on Univac on November1, Oracle will still provide new patches on
Univac A.x.y.z-1 until
the end of January of the next year. Outside of the specific exceptions listed
below,
CPUs will NOT be provided beyond the initial 12-month grace period.

Bundle patches for Windows: Oracle releases patches for Windows via periodic
patch bundles instead of
interim patches. Patch bundles are released periodically (at least quarterly),
and include the security fixes
from that quarter’s Critical Patch Update.


举例来说 10R2 上的 CPUJAN2009 发布时有 10.2.0.3 和 10.2.0.4 这 2 个版本的,因为当时
10.2.0.3 还在宽限期内;而到 了 CPUAPR2009 也就是三个月后,10.2.0.3 的宽限期也超过
了,所以 10GR2 上的 CPUAPR2009 只有 10.2.0.4 一个版本的了。




在 Unix 平台上 10.2.0.3 之前(包含 9iR2,10gR1,10.2.0.2),因为当时是以 Normal 格式发布的
CPU,用户 apply CPU 时要么不打,要打就必须打上整个 CPU,这导致出现补丁冲突
(conflict patch)的概率大大提高了。依照当时的 support 流程,在 Oracle 发布 CPU 的 4 周内用
户若发现 CPU 与现有 patch 间存在冲突,那么可以 提交 Service Request 让 Oracle 开发部门去
开发出一个超集合并(superset merge)的 CPU 版本,若用户在超过 4 周后才提交 SR 那么会被
告知等下一次 CPU 的发布,Oracle 在接到开发合并版本 CPU 的要求后会在以后的 2 周内(也
就是 CPU 发布的第六周)发布用户需要的 merged cpu。CPUJAN2009 发布于 2009 年 1 月 15
日,假设我是一家对数据库安全性要求极其严格的公司,我希望实施该 CPUJAN2009 以提
高自身 数据库的安全,那么如果我在 1 月 15 日即发现 CPUJAN2009 与现有补丁存在冲突并
通过 MOS 向 oracle 报告了该冲突问题,那么 Oracle 理论 上会在 2009 年的 2 月 28 日向我提
供相应的超集合并补丁;若我在 2 月 15 日才刚刚发现冲突的存在,那么我将不得不等待下
一次 CPU 的发布,在这个假设中 是 4 月 15 日,也就是 2 个月之后。




实施 Normal CPU 的原子性要求给用户和 Oracle Support 都带来了不小的工作量,为了缓解这
种矛盾,Molecular CPU 应运而生。




从 10.2.0.3 开始发布的 Molecular CPU 在 apply 时没有如 Normal CPU 那样强的原子性要求,
即我们可以安装 Molecular CPU 中所包含的一部分安全补丁,而跳过一些存在冲突的安全补
丁。此外因为 Molecular CPU 的特有格式,patch conflict 补丁冲突仅可能发生在某个特定的
分子补丁(molecule)上,而不会整个补丁包都存在冲突。针对这部分存在冲突的分子补丁(一
般来说 就是普通的 one-off patch),用户可以随时向 Oracle 支持部分提出合并 patch 的请求,
这打破了 Normal CPU 所造成的不便。如上文所述 Molecular CPU 仅针对最新的补丁集
(patchset)或仍处在宽限期(grace period)的补丁集发布。
从理论上讲在实施新的 Molecular CPU 时,一般不会出现如 Normal CPU 那样 opatch 报整个
补丁都存在冲突的现象,取而代之冲突会存在于个别 molecule 分子补丁上。在此情形下用户
可以跳过存在冲突的 molecule,以便安装剩余的无冲突的安全补丁,并申请对已安装的 one-
off patch 和存在冲突的 molecule 实施合并。one-off patch merge 是 Oracle Support 日常的客户
服务项目,所以不用担心得不到 merge patch,当然这仍是在最新补丁集或宽限期的前提下,
举例来说如果现在我们去申请 10.2.0.3 上的 patch merge 则很可能被 Oracle Support 以要求升
级为由来拒绝。




此外我们需要铭记 CPU 补丁总是累加(cumulative)的,这一点同 PSU(Patch Set Update)恰恰不
同!新的 PSU 补丁可能未包含之前发布的 PSU 补丁内容,而 CPU 补丁总是包含所有之前的
CPU 内容。举例来说 10.2.0.4.5 即 10204 上的 PSU5 就没有包含 10.2.0.4.4(PSU4)中的所有
fix,这要求我们在安装 PSU5 时以 PSU4 为基础(Patch Set Update PSU 10.2.0.4.5 is an overlay
PSU whose base PSU is 10.2.0.4.4. This patch can only be applied in an Oracle home for which
PSU 10.2.0.4.4 has already been installed);而 10.2.0.4 上的 CPUAPR2011 就会包含
CPUJAN2011 及之前的所有补丁内容。




因为传统 CPU 与 Molecular CPU 在格式上的差异,所以它们在 apply 时的步骤亦不相
同。Normal CPU 会在 apply 之前将所有旧的 CPU 全都回滚掉,以保持自身能被打上。而
Molecular CPU 则不那么简单粗暴,它只需要 apply 其所包含的新的 molecules 分子补丁即
可,即如果之前有安装过老的 CPU,那么老的 cpu 补丁是不动 的。
同时 CPU 补丁的内容还会被包含在今后发布的 Patch Set 或 Patch Set Update(PSU)中(CPU
molecules in PSU),注意针对如 9.2.0.8 这样的最终补丁集,Oracle 将不再发布新的 Patchset
或 PSU;10.2.0.5 作为 10g 的最终版本今后 将不会再有 Patchset 发布,但包含了 CPU 的 PSU
仍会被发布。




很多朋友都会要问 CPU 补丁是否是必须要安装的?实际上并没有一个强制要求安装 CPU 的
理由,Oracle 仅仅是强烈推荐实施这些补丁以降低潜在的安全风险并降低受到骇客入侵成功
的概率。




安装 CPU 与安装普通的 one-off patch 或 PSU 没有太大的区别,同样要使用著名的 opatch 工
具。Normal CPU 具有强的原子性要求,所以我们不可能去不完整(partial)的安装一个 Normal
CPU。而对于 10.2.0.3 后出现的 Molecular CPU 则没有这种限制,Molecular CPU 总是由一定
数量的 molecules 分子补丁组成,注意实际上每一个 molecules 还可能包含了一个或多个的小
的 Fix。虽然我们在没有补丁冲 突的情况下,也可以选择仅安装 CPU 中的一个子集的
molecules,但 Oracle 强烈推荐尽可能安装整个 CPU。




我们在安装 Normal CPU 时使用和安装 one-off patch 同样简单的”opatch apply”命令。在安装
Molecular CPU 时的命令要负责一些,在不同需求下可能分为:
1.
安装 CPU 中所有的 molecules

$./opatch napply <patch_location> -skip_subset -skip_duplicate

-skip_subset 意为跳过那些已安装补丁的子集(subset patches--patches under        that are
subsets of patches
installed in the ORACLE_HOME)
-skip_duplicate,跳过已安装过的 molecule(provides the additional benefit of
detecting when a molecule
patch has already been applied, as in the case of a previous CPU, and to skip
application of it.
This reduces the length of time required to do the n-apply CPU installation and
minimizes
the overall change to the Oracle home)

2.
安装 CPU 中的部分 molecules

$ ./opatch napply 8290506 -id 7155248,7155249,7155250 -skip_subset
-skip_duplicate

以上意为 apply patch 7155248,7155249,7155250

Invoking OPatch 11.2.0.1.3
Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation. All rights reserved.
UTIL session
Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
  from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-06-02_22-37-02PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt

Invoking utility "napply"
Checking conflict among patches...
Checking if Oracle Home has components required by patches...
Checking skip_duplicate
Checking skip_subset
Checking conflicts against Oracle Home...
OPatch continues with these patches:   7155250 7155249 7155248

Do you want to proceed? [y|n]
y
User Responded with: Y

Running prerequisite checks...

OPatch detected non-cluster Oracle Home from the inventory and will patch the
local system only.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local
system.
(Oracle Home = '/s01/db_1')

Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files affected by the patch 'NApply' for restore. This might take a
while...

Applying patch 7155250...

ApplySession applying interim patch '7155250' to OH '/s01/db_1'
Backing up files affected by the patch '7155250' for rollback. This might take a
while...
Patching component oracle.rdbms, 10.2.0.4.0...
Updating archive file "/s01/db_1/lib/libserver10.a" with
"lib/libserver10.a/kupp.o"
Copying file to "/s01/db_1/rdbms/admin/prvtbpp.plb"
ApplySession adding interim patch '7155250' to inventory

Verifying the update...
Inventory check OK: Patch ID 7155250 is registered in Oracle Home inventory with
proper meta-data.
Files check OK: Files from Patch ID 7155250 are present in Oracle Home.

Applying patch 7155249...

ApplySession applying interim patch '7155249' to OH '/s01/db_1'
Backing up files affected by the patch '7155249' for rollback. This might take a
while...

Patching component oracle.rdbms, 10.2.0.4.0...
Copying file to "/s01/db_1/rdbms/admin/prvtdefr.plb"
ApplySession adding interim patch '7155249' to inventory

Verifying the update...
Inventory check OK: Patch ID 7155249 is registered in Oracle Home inventory with
proper meta-data.
Files check OK: Files from Patch ID 7155249 are present in Oracle Home.

Applying patch 7155248...

ApplySession applying interim patch '7155248' to OH '/s01/db_1'
Backing up files affected by the patch '7155248' for rollback. This might take a
while...

Patching component oracle.rdbms, 10.2.0.4.0...
Copying file to "/s01/db_1/rdbms/lib/env_rdbms.mk"
ApplySession adding interim patch '7155248' to inventory

Verifying the update...
Inventory check OK: Patch ID 7155248 is registered in Oracle Home inventory with
proper meta-data.
Files check OK: Files from Patch ID 7155248 are present in Oracle Home.
Running make for target ioracle
Running make for target iextjob
Running make for target iextjobo
The local system has been patched and can be restarted.
UtilSession: N-Apply done.
OPatch succeeded.

另外我们可以使用 opatch lsinventory -bugs_fixed 命令列出已安装的 CPU/PSU

$ ./opatch lsinventory -bugs_fixed

List of Bugs fixed by Installed Patches:
Bug        Fixed by Installed at                      Description
      Patch
---        -------- ------------                      -----------
8309642    8309642   Thu Jun 02 22:54:51   CST 2011   DB-10.2.0.4-MOLECULE-018-
CPUAPR2009
8309639    8309639   Thu Jun 02 22:54:48   CST 2011   DB-10.2.0.4-MOLECULE-019-
CPUAPR2009
8309637    8309637   Thu Jun 02 22:54:45   CST 2011   DB-10.2.0.4-MOLECULE-020-
CPUAPR2009
8309632    8309632   Thu Jun 02 22:54:42   CST 2011   DB-10.2.0.4-MOLECULE-017-
CPUAPR2009
8309623      8309623   Thu Jun 02 22:54:39 CST 2011   DB-10.2.0.4-MOLECULE-016-
CPUAPR2009
8309592      8309592   Thu Jun 02 22:54:35 CST 2011   DB-10.2.0.4-MOLECULE-015-
CPUAPR2009
8309587      8309587   Thu Jun 02 22:54:30 CST 2011   DB-10.2.0.4-MOLECULE-014-
CPUAPR2009
7150470      8290506   Thu Jun 02 22:54:26 CST 2011   MLR BUG FOR 10.2.0.4 FOR
CPUJUL2008
7375644      8290506   Thu Jun 02 22:54:26 CST 2011   MLR BUG FOR 10.2.0.4 FOR
CPUOCT2008
7592346      8290506   Thu Jun 02 22:54:26 CST 2011   CPUJAN2009 DATABASE 10.2.0.4
8290506      8290506   Thu Jun 02 22:54:26 CST 2011   CPUAPR2009 DATABASE 10.2.0.4
7609058      7609058   Thu Jun 02 22:54:21 CST 2011   DB-10.2.0.4-MOLECULE-013-
CPUJAN2009
7609057      7609057   Thu Jun 02 22:54:17 CST 2011   DB-10.2.0.4-MOLECULE-012-
CPUJAN2009
7375617      7375617   Thu Jun 02 22:54:14 CST 2011   DB-10.2.0.4-MOLECULE-0011-
CPUOCT2008
7375613      7375613   Thu Jun 02 22:54:11 CST 2011   DB-10.2.0.4-MOLECULE-0010-
CPUOCT2008
7375611      7375611   Thu Jun 02 22:54:07 CST 2011   DB-10.2.0.4-MOLECULE-009-
CPUOCT2008
7197583      7197583   Thu Jun 02 22:54:03 CST 2011   DB-10.2.0.4-MOLECULE-008-
CPUJUL2008
7155254      7155254   Thu Jun 02 22:54:00 CST 2011   DB-10.2.0.4-MOLECULE-007-
CPUJUL2008
7155253      7155253   Thu Jun 02 22:53:35 CST 2011   DB-10.2.0.4-MOLECULE-006-
CPUJUL2008
7155252      7155252   Thu Jun 02 22:53:13 CST 2011   DB-10.2.0.4-MOLECULE-005-
CPUJUL2008
7155251      7155251   Thu Jun 02 22:53:07 CST 2011   DB-10.2.0.4-MOLECULE-004-
CPUJUL2008
7155250      7155250   Thu Jun 02 22:53:02 CST 2011   DB-10.2.0.4-MOLECULE-003-
CPUJUL2008
7155249      7155249   Thu Jun 02 22:52:58 CST 2011   DB-10.2.0.4-MOLECULE-002-
CPUJUL2008
7155248      7155248   Thu Jun 02 22:52:54 CST 2011   DB-10.2.0.4-MOLECULE-001-
CPUJUL2008

3.
回滚 CPU 中的部分 molecules

$ ./opatch nrollback    -id 7155248,7155249,7155250

This will roll back patches 7155248,7155249,7155250 that have been installed
under the ORACLE_HOME.
If a patch is not installed, it does not have any impact and roll back skips the
patch.

Invoking OPatch 11.2.0.1.3
Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation. All rights reserved.
UTIL session
Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
  from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-06-02_22-41-49PM.log
Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt
Invoking utility "nrollback"
Patches will be rolled back in the following order:
7155248      7155249   7155250

Running prerequisite checks...
The following patch(es) will be rolled back: 7155248 7155249 7155250
OPatch detected non-cluster Oracle Home from the inventory and will patch the
local system only.
Please shutdown Oracle instances running out of this ORACLE_HOME on the local
system.
(Oracle Home = '/s01/db_1')
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files affected by the patch 'NRollback' for restore. This might take
a while...
Rolling back patch 7155248...
RollbackSession rolling back interim patch '7155248' from OH '/s01/db_1'
Patching component oracle.rdbms, 10.2.0.4.0...
Copying file to "/s01/db_1/rdbms/lib/env_rdbms.mk"
RollbackSession removing interim patch '7155248' from inventory
Rolling back patch 7155249...
RollbackSession rolling back interim patch '7155249' from OH '/s01/db_1'
Patching component oracle.rdbms, 10.2.0.4.0...
Copying file to "/s01/db_1/rdbms/admin/prvtdefr.plb"
RollbackSession removing interim patch '7155249' from inventory
Rolling back patch 7155250...
RollbackSession rolling back interim patch '7155250' from OH '/s01/db_1'
Patching component oracle.rdbms, 10.2.0.4.0...
Updating archive file "/s01/db_1/lib/libserver10.a" with
"lib/libserver10.a/kupp.o"
Copying file to "/s01/db_1/rdbms/admin/prvtbpp.plb"
RollbackSession removing interim patch '7155250' from inventory
Running make for target iextjob
Running make for target iextjobo
Running make for target ioracle
The local system has been patched and can be restarted.
UtilSession: N-Rollback done.
OPatch succeeded.


安装 CPU 补丁除去以上列出的命令外还可以参考 MOS 文档<OPatch Utility Guide – 10.2 [ID
554417.1]>和
<Critical Patch Update – Introduction to Database n-Apply CPUs [ID 438314.1]>。

完成以上 opatch 操作后针对既有的数据库(已经创建在使用的数据库)还需要在数据库级别运
行数据字典升级脚本:
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
www.oracledatabase12g.com

1.
针对传统的 Normal CPU 运行

@?/rdbms/admin/catcpu.sql

2.
针对 Molecular CPU 补丁需要运行
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
@?/rdbms/admin/catbundle cpu apply

cd $ORACLE_HOME/cpu/view_recompile
sqlplus /nolog
SQL> CONNECT / AS SYSDBA

SQL> @recompile_precheck_jan2008cpu.sql
SQL> QUIT

cd $ORACLE_HOME/cpu/view_recompile
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP UPGRADE

SQL> @view_recompile_jan2008cpu.sql
SQL> SHUTDOWN;
SQL> STARTUP;

SQL> @?/rdbms/admin/utlrp

SQL> QUIT




以上字典升级工作的步骤可以从补丁包自带的 README.HTML 网页中找到,另外你可以参
考 MOS 文档<Introduction To Oracle Database catbundle.sql [ID 605795.1]>。




虽然 Oracle 宣称其发布的每一个 CPU 都经过广泛和长时间的测试,但实际 Oracle 不可能具
体到每一个用户的环境中去做测试,所以贸然实施 CPU 还是可能有一定风险的。Oracle 推
荐用户在将 CPU 安装到生产系统之前,首先在自己客制化的环境中充分测试安装 CPU 所可
能带来的影响。

我们可以从 Critical Patch Update Advisory 上找到 Oracle 产品相关的安全风险信息,作为是否
实施 CPU 补丁的依据之一。此外随 CPU 附带的文档将是用户所能找到最为详细的同时也是
最有用的安全信息来源。
Reference:
Database, FMW, EM Grid Control, and OCS Software Error Correction Support Policy [ID
209768.1]
<OPatch Utility Guide – 10.2 [ID 554417.1]>
<Critical Patch Update – Introduction to Database n-Apply CPUs [ID 438314.1]>

<Introduction To Oracle Database catbundle.sql [ID 605795.1]>。
http://www.oracle.com/technetwork/topics/security/whatsnew/index.html

PS:如果对 PSU 有兴趣,可以读一读 Kamusis 的 Notes for Oracle Database PSU/CPU

Más contenido relacionado

La actualidad más candente

配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制
maclean liu
 
Liferay环境搭建
Liferay环境搭建Liferay环境搭建
Liferay环境搭建
donotbeevil
 
SQL Server 2000 高可用性群集构建
SQL Server 2000 高可用性群集构建SQL Server 2000 高可用性群集构建
SQL Server 2000 高可用性群集构建
bigqiang zou
 
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
acqua young
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
weige
 
分区表基础知识培训
分区表基础知识培训分区表基础知识培训
分区表基础知识培训
maclean liu
 
Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)
bigqiang zou
 
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器
Leyi (Kamus) Zhang
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
heima911
 
Mysql mmm安装指南(翻译)
Mysql mmm安装指南(翻译)Mysql mmm安装指南(翻译)
Mysql mmm安装指南(翻译)
Yiwei Ma
 
Am备份恢复文档
Am备份恢复文档Am备份恢复文档
Am备份恢复文档
miglinda
 
诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识
maclean liu
 
为10g rac cluster添加节点
为10g rac cluster添加节点为10g rac cluster添加节点
为10g rac cluster添加节点
maclean liu
 

La actualidad más candente (20)

配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制
 
Liferay环境搭建
Liferay环境搭建Liferay环境搭建
Liferay环境搭建
 
Mysql企业备份发展及实践
Mysql企业备份发展及实践Mysql企业备份发展及实践
Mysql企业备份发展及实践
 
SQL Server 2000 高可用性群集构建
SQL Server 2000 高可用性群集构建SQL Server 2000 高可用性群集构建
SQL Server 2000 高可用性群集构建
 
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
分区表基础知识培训
分区表基础知识培训分区表基础知识培训
分区表基础知识培训
 
Sth About SSD
Sth About SSDSth About SSD
Sth About SSD
 
Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)
 
Cognos8.3安装配置For Db2
Cognos8.3安装配置For Db2Cognos8.3安装配置For Db2
Cognos8.3安装配置For Db2
 
Oracle 資料庫建立
Oracle 資料庫建立Oracle 資料庫建立
Oracle 資料庫建立
 
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
 
Mysql mmm安装指南(翻译)
Mysql mmm安装指南(翻译)Mysql mmm安装指南(翻译)
Mysql mmm安装指南(翻译)
 
Am备份恢复文档
Am备份恢复文档Am备份恢复文档
Am备份恢复文档
 
诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识
 
为10g rac cluster添加节点
为10g rac cluster添加节点为10g rac cluster添加节点
为10g rac cluster添加节点
 
Mysql展示功能与源码对应
Mysql展示功能与源码对应Mysql展示功能与源码对应
Mysql展示功能与源码对应
 
Oracle Tablespace介紹
Oracle Tablespace介紹Oracle Tablespace介紹
Oracle Tablespace介紹
 
-Nginx book
 -Nginx book -Nginx book
-Nginx book
 

Destacado

11g新特性 在线实施补丁online patching
11g新特性 在线实施补丁online patching11g新特性 在线实施补丁online patching
11g新特性 在线实施补丁online patching
maclean liu
 
【Maclean liu技术分享】深入理解oracle中mutex的内部原理
【Maclean liu技术分享】深入理解oracle中mutex的内部原理【Maclean liu技术分享】深入理解oracle中mutex的内部原理
【Maclean liu技术分享】深入理解oracle中mutex的内部原理
maclean liu
 
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321
maclean liu
 
你所不知道的Oracle后台进程Smon功能
你所不知道的Oracle后台进程Smon功能你所不知道的Oracle后台进程Smon功能
你所不知道的Oracle后台进程Smon功能
maclean liu
 
了解Oracle rac brain split resolution
了解Oracle rac brain split resolution了解Oracle rac brain split resolution
了解Oracle rac brain split resolution
maclean liu
 
Essential oracle security internal for dba
Essential oracle security internal for dbaEssential oracle security internal for dba
Essential oracle security internal for dba
maclean liu
 
Upgrade 11.2.0.1 gi crs to 11.2.0.2 in linux
Upgrade 11.2.0.1 gi crs to 11.2.0.2 in linuxUpgrade 11.2.0.1 gi crs to 11.2.0.2 in linux
Upgrade 11.2.0.1 gi crs to 11.2.0.2 in linux
maclean liu
 
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linux
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linuxUpgrade 11.2.0.1 rac db to 11.2.0.2 in linux
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linux
maclean liu
 
Kutná hora
Kutná horaKutná hora
Kutná hora
AlfickaH
 
Managing expectations can we really call on our big blue brother- busch
Managing expectations  can we really call on our big blue brother- buschManaging expectations  can we really call on our big blue brother- busch
Managing expectations can we really call on our big blue brother- busch
Leishman Associates
 
Uvr emissions from solaria in australia gies
Uvr emissions from solaria in australia giesUvr emissions from solaria in australia gies
Uvr emissions from solaria in australia gies
Leishman Associates
 

Destacado (20)

11g新特性 在线实施补丁online patching
11g新特性 在线实施补丁online patching11g新特性 在线实施补丁online patching
11g新特性 在线实施补丁online patching
 
【Maclean liu技术分享】深入理解oracle中mutex的内部原理
【Maclean liu技术分享】深入理解oracle中mutex的内部原理【Maclean liu技术分享】深入理解oracle中mutex的内部原理
【Maclean liu技术分享】深入理解oracle中mutex的内部原理
 
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321
 
你所不知道的Oracle后台进程Smon功能
你所不知道的Oracle后台进程Smon功能你所不知道的Oracle后台进程Smon功能
你所不知道的Oracle后台进程Smon功能
 
了解Oracle rac brain split resolution
了解Oracle rac brain split resolution了解Oracle rac brain split resolution
了解Oracle rac brain split resolution
 
Essential oracle security internal for dba
Essential oracle security internal for dbaEssential oracle security internal for dba
Essential oracle security internal for dba
 
Upgrade 11.2.0.1 gi crs to 11.2.0.2 in linux
Upgrade 11.2.0.1 gi crs to 11.2.0.2 in linuxUpgrade 11.2.0.1 gi crs to 11.2.0.2 in linux
Upgrade 11.2.0.1 gi crs to 11.2.0.2 in linux
 
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linux
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linuxUpgrade 11.2.0.1 rac db to 11.2.0.2 in linux
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linux
 
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
 
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
 
Teorema de tales
Teorema de talesTeorema de tales
Teorema de tales
 
Kutná hora
Kutná horaKutná hora
Kutná hora
 
Managing expectations can we really call on our big blue brother- busch
Managing expectations  can we really call on our big blue brother- buschManaging expectations  can we really call on our big blue brother- busch
Managing expectations can we really call on our big blue brother- busch
 
SDN 2010: Using Social Nodes to Design Services_Eleanor Davies
SDN 2010: Using Social Nodes to Design Services_Eleanor DaviesSDN 2010: Using Social Nodes to Design Services_Eleanor Davies
SDN 2010: Using Social Nodes to Design Services_Eleanor Davies
 
Z-krant: wordt vriend van de Z-krant!
Z-krant: wordt vriend van de Z-krant!Z-krant: wordt vriend van de Z-krant!
Z-krant: wordt vriend van de Z-krant!
 
Ángulos
ÁngulosÁngulos
Ángulos
 
Assalamualaikum PROSA
Assalamualaikum PROSAAssalamualaikum PROSA
Assalamualaikum PROSA
 
TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例
 
IEC / VISOGRAF BRAZIL
IEC / VISOGRAF BRAZILIEC / VISOGRAF BRAZIL
IEC / VISOGRAF BRAZIL
 
Uvr emissions from solaria in australia gies
Uvr emissions from solaria in australia giesUvr emissions from solaria in australia gies
Uvr emissions from solaria in australia gies
 

Similar a 了解Oracle critical patch update

Bypat博客出品-利用cent os快速构建自己的发行版-进阶版v1.1
Bypat博客出品-利用cent os快速构建自己的发行版-进阶版v1.1Bypat博客出品-利用cent os快速构建自己的发行版-进阶版v1.1
Bypat博客出品-利用cent os快速构建自己的发行版-进阶版v1.1
redhat9
 
S3C44B0 User Guide
S3C44B0 User GuideS3C44B0 User Guide
S3C44B0 User Guide
phantoxe
 
S3C44B0 User Guide
S3C44B0 User GuideS3C44B0 User Guide
S3C44B0 User Guide
phantoxe
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
diwis
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
aakine
 
soyo manual 8100 Vt6103 Ok
soyo manual 8100 Vt6103 Oksoyo manual 8100 Vt6103 Ok
soyo manual 8100 Vt6103 Ok
guest69f195
 
OpenSTACK Installation on Ubuntu
OpenSTACK Installation on UbuntuOpenSTACK Installation on Ubuntu
OpenSTACK Installation on Ubuntu
康志強 大人
 
Itpub电子杂志(第五期)
Itpub电子杂志(第五期)Itpub电子杂志(第五期)
Itpub电子杂志(第五期)
yiditushe
 
尚观Linux研究室 linux驱动程序全解析
尚观Linux研究室   linux驱动程序全解析尚观Linux研究室   linux驱动程序全解析
尚观Linux研究室 linux驱动程序全解析
hangejnu
 
Moodle 2.3 图文安装教程
Moodle 2.3 图文安装教程Moodle 2.3 图文安装教程
Moodle 2.3 图文安装教程
YUCHENG HU
 
Android系统移植技术详解
Android系统移植技术详解Android系统移植技术详解
Android系统移植技术详解
zzc89522
 
Firefox OS Overview
Firefox OS OverviewFirefox OS Overview
Firefox OS Overview
Yan-ren Tsai
 
了解真实的Oracle unbreakable database appliance
了解真实的Oracle unbreakable database appliance了解真实的Oracle unbreakable database appliance
了解真实的Oracle unbreakable database appliance
maclean liu
 
Mini2440 manual part1
Mini2440 manual part1Mini2440 manual part1
Mini2440 manual part1
vineyugave
 
Kick start无人值守批量安装linux
Kick start无人值守批量安装linuxKick start无人值守批量安装linux
Kick start无人值守批量安装linux
Yiwei Ma
 
Micro2440 manual 20100609
Micro2440 manual 20100609Micro2440 manual 20100609
Micro2440 manual 20100609
jrogulj
 
Mini2440 manual 2010060901
Mini2440 manual 2010060901Mini2440 manual 2010060901
Mini2440 manual 2010060901
hudikm
 
Linux 期末報告
Linux 期末報告Linux 期末報告
Linux 期末報告
米米 林
 
OpenWRT, A value-add base solution for your product. (2nd, Macpual)
OpenWRT, A value-add base solution for your product. (2nd, Macpual)OpenWRT, A value-add base solution for your product. (2nd, Macpual)
OpenWRT, A value-add base solution for your product. (2nd, Macpual)
Macpaul Lin
 

Similar a 了解Oracle critical patch update (20)

Bypat博客出品-利用cent os快速构建自己的发行版-进阶版v1.1
Bypat博客出品-利用cent os快速构建自己的发行版-进阶版v1.1Bypat博客出品-利用cent os快速构建自己的发行版-进阶版v1.1
Bypat博客出品-利用cent os快速构建自己的发行版-进阶版v1.1
 
S3C44B0 User Guide
S3C44B0 User GuideS3C44B0 User Guide
S3C44B0 User Guide
 
S3C44B0 User Guide
S3C44B0 User GuideS3C44B0 User Guide
S3C44B0 User Guide
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
soyo manual 8100 Vt6103 Ok
soyo manual 8100 Vt6103 Oksoyo manual 8100 Vt6103 Ok
soyo manual 8100 Vt6103 Ok
 
OpenSTACK Installation on Ubuntu
OpenSTACK Installation on UbuntuOpenSTACK Installation on Ubuntu
OpenSTACK Installation on Ubuntu
 
Itpub电子杂志(第五期)
Itpub电子杂志(第五期)Itpub电子杂志(第五期)
Itpub电子杂志(第五期)
 
尚观Linux研究室 linux驱动程序全解析
尚观Linux研究室   linux驱动程序全解析尚观Linux研究室   linux驱动程序全解析
尚观Linux研究室 linux驱动程序全解析
 
Moodle 2.3 图文安装教程
Moodle 2.3 图文安装教程Moodle 2.3 图文安装教程
Moodle 2.3 图文安装教程
 
Android系统移植技术详解
Android系统移植技术详解Android系统移植技术详解
Android系统移植技术详解
 
Firefox OS Overview
Firefox OS OverviewFirefox OS Overview
Firefox OS Overview
 
了解真实的Oracle unbreakable database appliance
了解真实的Oracle unbreakable database appliance了解真实的Oracle unbreakable database appliance
了解真实的Oracle unbreakable database appliance
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorial
 
Mini2440 manual part1
Mini2440 manual part1Mini2440 manual part1
Mini2440 manual part1
 
Kick start无人值守批量安装linux
Kick start无人值守批量安装linuxKick start无人值守批量安装linux
Kick start无人值守批量安装linux
 
Micro2440 manual 20100609
Micro2440 manual 20100609Micro2440 manual 20100609
Micro2440 manual 20100609
 
Mini2440 manual 2010060901
Mini2440 manual 2010060901Mini2440 manual 2010060901
Mini2440 manual 2010060901
 
Linux 期末報告
Linux 期末報告Linux 期末報告
Linux 期末報告
 
OpenWRT, A value-add base solution for your product. (2nd, Macpual)
OpenWRT, A value-add base solution for your product. (2nd, Macpual)OpenWRT, A value-add base solution for your product. (2nd, Macpual)
OpenWRT, A value-add base solution for your product. (2nd, Macpual)
 

Más de maclean liu

基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
maclean liu
 
Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2
maclean liu
 
Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2
maclean liu
 
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
maclean liu
 
Oracle prm安装说明
Oracle prm安装说明Oracle prm安装说明
Oracle prm安装说明
maclean liu
 
Oracle prm数据库恢复工具与asm
Oracle prm数据库恢复工具与asmOracle prm数据库恢复工具与asm
Oracle prm数据库恢复工具与asm
maclean liu
 

Más de maclean liu (20)

Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアルOracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
 
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
 
PRM DUL Oracle Database Health Check
PRM DUL Oracle Database Health CheckPRM DUL Oracle Database Health Check
PRM DUL Oracle Database Health Check
 
Vbox virtual box在oracle linux 5 - shoug 梁洪响
Vbox virtual box在oracle linux 5 - shoug 梁洪响Vbox virtual box在oracle linux 5 - shoug 梁洪响
Vbox virtual box在oracle linux 5 - shoug 梁洪响
 
【诗檀软件】Mysql高可用方案
【诗檀软件】Mysql高可用方案【诗檀软件】Mysql高可用方案
【诗檀软件】Mysql高可用方案
 
Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2
 
Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2
 
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础
 
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
 
追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?
 
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
 
Prm dul is an oracle database recovery tool database
Prm dul is an oracle database recovery tool   databasePrm dul is an oracle database recovery tool   database
Prm dul is an oracle database recovery tool database
 
Oracle prm dul, jvm and os
Oracle prm dul, jvm and osOracle prm dul, jvm and os
Oracle prm dul, jvm and os
 
Oracle dba必备技能 使用os watcher工具监控系统性能负载
Oracle dba必备技能   使用os watcher工具监控系统性能负载Oracle dba必备技能   使用os watcher工具监控系统性能负载
Oracle dba必备技能 使用os watcher工具监控系统性能负载
 
Parnassus data recovery manager for oracle database user guide v0.3
Parnassus data recovery manager for oracle database user guide v0.3Parnassus data recovery manager for oracle database user guide v0.3
Parnassus data recovery manager for oracle database user guide v0.3
 
Oracle prm安装说明
Oracle prm安装说明Oracle prm安装说明
Oracle prm安装说明
 
Oracle prm数据库恢复工具与asm
Oracle prm数据库恢复工具与asmOracle prm数据库恢复工具与asm
Oracle prm数据库恢复工具与asm
 
Prm 一个oracle数据库灾难恢复救护车工具
Prm 一个oracle数据库灾难恢复救护车工具Prm 一个oracle数据库灾难恢复救护车工具
Prm 一个oracle数据库灾难恢复救护车工具
 
如何在Aix上运行prm for oracle database
如何在Aix上运行prm for oracle database如何在Aix上运行prm for oracle database
如何在Aix上运行prm for oracle database
 

了解Oracle critical patch update

  • 1. 了解 Oracle Critical Patch Update by Maclean.liu liu.maclean@gmail.com www.oracledatabase12g.com
  • 2. About Me l Email:liu.maclean@gmail.com l Blog:www.oracledatabase12g.com l Oracle Certified Database Administrator Master 10g and 11g l Over 6 years experience with Oracle DBA technology l Over 7 years experience with Linux technology l Member Independent Oracle Users Group l Member All China Users Group l Presents for advanced Oracle topics: RAC, DataGuard, Performance Tuning and Oracle Internal.
  • 3. Oracle Critical Patch Update 是什么? Critical Patch Update(以下简称 CPU),是 Oracle 在 2005 年开始引入的产品安全更新策略。一 般来说 CPU 包含了 Oracle 产品安全漏洞的修复补丁集 (set of security bug fix)。CPU 最早的 雏形出现在 2005 年,该项目致力于为客户周期性地提供累积性的补丁以修复安全漏洞。 通常 CPU 补丁会在每季度开始第一个月的 15 号发布,按照发布日期的不同可以划分为: • January : CPU JAN • April : CPU APR • July : CPU JUL • October : CPU OCT 存在以下 3 种类型的 CPU 补丁: • Normal CPU:在 10.2.0.2 之前所有的 CPU 均是 Normal CPU • Molecular CPU:Molecular 解释为分子,从 10.2.0.3 开始以后版本的 CPU patches 均以 Molecular 格式发布,之后我们会介绍 Normal/Molecular 格式的区别 • CPU Bundle Patch:由于在 Windows 平台无法利用替换共享库文件后 relink 的方式来 更新 Oracle binary,所以 Oracle 特别针对 Windows 发布区别于 Unix 上 Normal/Molecular CPU 的 CPU Bundle patch(也因此 Bundle Patch 会别较大)。Windows bundle patches 通常每一个季度都会发布 接下来我们通过 2 个实例来了解 Normal CPU 与 Molecular CPU 之间的区别。Linux x86 平台 上的 CPUJAN2009 for 9.2.0.8 的 bug#补丁号为 7592365。我们可以通过该补丁号从 My Oracle Support 上下载到压缩为 zip 的补丁包,试着将该压缩包解压后我们会发现该 CPU 补丁包的 目录结构类似于一个 one-off patch(一次性补丁): $cd 7592365 $ls /etc /files readme
  • 4. 之前已经介绍过了从 10.2.0.3 开始以后版本的 CPU patches 均以 Molecular 格式发布。我们选 取 Linux x86 平台上的 CPUAPR2009 for 10.2.0.4 为 Molecular CPU 的示例,下载并解压该 CPU 后会发现补丁包目录下有不少以 Patch number 为名的子目录,这就是 Molecular-分子式 的寓意所在,其实你也可以简单地理解为是对散装的安全补丁打了包: $cd 8290506 $ls 7155248 7155251 7155254 7375613 7609058 8309592 8309637 cpu_root.sh 7155249 7155252 7197583 7375617 8290506 8309623 8309639 patchmd.xml 7155250 7155253 7375611 7609057 8309587 8309632 8309642 README.html 以上每一个数字代表一个 molecules,称作分子补丁 注意!一个 molecules 可能包含有多个小的 fix!! Normal CPU 与 Molecular CPU 间的差异还表现在所包含的补丁类型上。Normal CPU 也被叫 做 Classic CPU 即传统 CPU,不同于 molecular CPU,Normal CPU 不仅包含安全漏洞修复, 针对于特定的产品、产品版本及平台还可能包含了非安全的补丁。 而 Molecular CPU(在 MOS 上有时也被叫做 New format CPU)从 10.2.0.3 开始改变了既往 Normal CPU 的习惯,Molecular CPU 仅仅包含安全漏洞补丁(security bug fixes),这是目前 CPU 与另一种补丁更新策略 Patch Set Update(PSU)间的主要区别之一(PSU 在格式上类似于 Normal CPU),CPU 专门负责修复安全漏洞,而 PSU 往往会包含 CPU(INCLUDES CPU)。 第一个以 Molecular 形式发布的是 CPU 是 CPUJUL2007(DB-10.2.0.3-MOLECULE-013- CPUAPR2007): 此外根据 Oracle Product lifetime 的介绍 CPU 的发布遵循几个原则: 1. CPU 仅为最新的 patchset 补丁集发布
  • 5. 2. 对于之前的 patchset 补丁集存在一个宽限期,在此宽限期内仍会针对老的 patchset 发 布 CPU,关于这个宽限期(grace period)在 MOS 文档<Database, FMW, EM Grid Control, and OCS Software Error Correction Support Policy [ID 209768.1]>中有详细描述,实际上 如 Fusion Middleware、Application 等 Oracle 产品的维护保障期也受到该宽限期的影 响,以下摘录 Database 部分的附录: Grace Period: up to 1 year, minimum 3 months. You have up to one year from the release of a patch set on the first platform (currently Linux x86) to plan for and install the new patch set. During that year we will create new bug fixes for the previous patch set. This grace period is effective with the release of 10.2.0.4. For example, 10.2.0.4 was released first on Linux x86. The release date was 22 February 2008. Until 22 February 2009 we will create new fixes for both 10.2.0.3 and 10.2.0.4. After that date new fixes for 10.2.0.3 will cease on all platforms and we will only create new fixes for 10.2.0.4. Grace period for current patch sets can be found on Metalink in Note 742060.1 Exceptions: 3 Month minimum grace period: Since the release of a patch set on different platforms happens over time, not all platforms will be supported for error correction for the full year. Because of this, we will always support the previous patch set for error correction for at least 3 months. For example, if the initial release of patchset A.x.y.z is on January 1st on Linux x86 and the same patch set is released on Univac on November1, Oracle will still provide new patches on Univac A.x.y.z-1 until the end of January of the next year. Outside of the specific exceptions listed below, CPUs will NOT be provided beyond the initial 12-month grace period. Bundle patches for Windows: Oracle releases patches for Windows via periodic patch bundles instead of interim patches. Patch bundles are released periodically (at least quarterly), and include the security fixes from that quarter’s Critical Patch Update. 举例来说 10R2 上的 CPUJAN2009 发布时有 10.2.0.3 和 10.2.0.4 这 2 个版本的,因为当时 10.2.0.3 还在宽限期内;而到 了 CPUAPR2009 也就是三个月后,10.2.0.3 的宽限期也超过 了,所以 10GR2 上的 CPUAPR2009 只有 10.2.0.4 一个版本的了。 在 Unix 平台上 10.2.0.3 之前(包含 9iR2,10gR1,10.2.0.2),因为当时是以 Normal 格式发布的 CPU,用户 apply CPU 时要么不打,要打就必须打上整个 CPU,这导致出现补丁冲突 (conflict patch)的概率大大提高了。依照当时的 support 流程,在 Oracle 发布 CPU 的 4 周内用 户若发现 CPU 与现有 patch 间存在冲突,那么可以 提交 Service Request 让 Oracle 开发部门去
  • 6. 开发出一个超集合并(superset merge)的 CPU 版本,若用户在超过 4 周后才提交 SR 那么会被 告知等下一次 CPU 的发布,Oracle 在接到开发合并版本 CPU 的要求后会在以后的 2 周内(也 就是 CPU 发布的第六周)发布用户需要的 merged cpu。CPUJAN2009 发布于 2009 年 1 月 15 日,假设我是一家对数据库安全性要求极其严格的公司,我希望实施该 CPUJAN2009 以提 高自身 数据库的安全,那么如果我在 1 月 15 日即发现 CPUJAN2009 与现有补丁存在冲突并 通过 MOS 向 oracle 报告了该冲突问题,那么 Oracle 理论 上会在 2009 年的 2 月 28 日向我提 供相应的超集合并补丁;若我在 2 月 15 日才刚刚发现冲突的存在,那么我将不得不等待下 一次 CPU 的发布,在这个假设中 是 4 月 15 日,也就是 2 个月之后。 实施 Normal CPU 的原子性要求给用户和 Oracle Support 都带来了不小的工作量,为了缓解这 种矛盾,Molecular CPU 应运而生。 从 10.2.0.3 开始发布的 Molecular CPU 在 apply 时没有如 Normal CPU 那样强的原子性要求, 即我们可以安装 Molecular CPU 中所包含的一部分安全补丁,而跳过一些存在冲突的安全补 丁。此外因为 Molecular CPU 的特有格式,patch conflict 补丁冲突仅可能发生在某个特定的 分子补丁(molecule)上,而不会整个补丁包都存在冲突。针对这部分存在冲突的分子补丁(一 般来说 就是普通的 one-off patch),用户可以随时向 Oracle 支持部分提出合并 patch 的请求, 这打破了 Normal CPU 所造成的不便。如上文所述 Molecular CPU 仅针对最新的补丁集 (patchset)或仍处在宽限期(grace period)的补丁集发布。
  • 7. 从理论上讲在实施新的 Molecular CPU 时,一般不会出现如 Normal CPU 那样 opatch 报整个 补丁都存在冲突的现象,取而代之冲突会存在于个别 molecule 分子补丁上。在此情形下用户 可以跳过存在冲突的 molecule,以便安装剩余的无冲突的安全补丁,并申请对已安装的 one- off patch 和存在冲突的 molecule 实施合并。one-off patch merge 是 Oracle Support 日常的客户 服务项目,所以不用担心得不到 merge patch,当然这仍是在最新补丁集或宽限期的前提下, 举例来说如果现在我们去申请 10.2.0.3 上的 patch merge 则很可能被 Oracle Support 以要求升 级为由来拒绝。 此外我们需要铭记 CPU 补丁总是累加(cumulative)的,这一点同 PSU(Patch Set Update)恰恰不 同!新的 PSU 补丁可能未包含之前发布的 PSU 补丁内容,而 CPU 补丁总是包含所有之前的 CPU 内容。举例来说 10.2.0.4.5 即 10204 上的 PSU5 就没有包含 10.2.0.4.4(PSU4)中的所有 fix,这要求我们在安装 PSU5 时以 PSU4 为基础(Patch Set Update PSU 10.2.0.4.5 is an overlay PSU whose base PSU is 10.2.0.4.4. This patch can only be applied in an Oracle home for which PSU 10.2.0.4.4 has already been installed);而 10.2.0.4 上的 CPUAPR2011 就会包含 CPUJAN2011 及之前的所有补丁内容。 因为传统 CPU 与 Molecular CPU 在格式上的差异,所以它们在 apply 时的步骤亦不相 同。Normal CPU 会在 apply 之前将所有旧的 CPU 全都回滚掉,以保持自身能被打上。而 Molecular CPU 则不那么简单粗暴,它只需要 apply 其所包含的新的 molecules 分子补丁即 可,即如果之前有安装过老的 CPU,那么老的 cpu 补丁是不动 的。
  • 8. 同时 CPU 补丁的内容还会被包含在今后发布的 Patch Set 或 Patch Set Update(PSU)中(CPU molecules in PSU),注意针对如 9.2.0.8 这样的最终补丁集,Oracle 将不再发布新的 Patchset 或 PSU;10.2.0.5 作为 10g 的最终版本今后 将不会再有 Patchset 发布,但包含了 CPU 的 PSU 仍会被发布。 很多朋友都会要问 CPU 补丁是否是必须要安装的?实际上并没有一个强制要求安装 CPU 的 理由,Oracle 仅仅是强烈推荐实施这些补丁以降低潜在的安全风险并降低受到骇客入侵成功 的概率。 安装 CPU 与安装普通的 one-off patch 或 PSU 没有太大的区别,同样要使用著名的 opatch 工 具。Normal CPU 具有强的原子性要求,所以我们不可能去不完整(partial)的安装一个 Normal CPU。而对于 10.2.0.3 后出现的 Molecular CPU 则没有这种限制,Molecular CPU 总是由一定 数量的 molecules 分子补丁组成,注意实际上每一个 molecules 还可能包含了一个或多个的小 的 Fix。虽然我们在没有补丁冲 突的情况下,也可以选择仅安装 CPU 中的一个子集的 molecules,但 Oracle 强烈推荐尽可能安装整个 CPU。 我们在安装 Normal CPU 时使用和安装 one-off patch 同样简单的”opatch apply”命令。在安装 Molecular CPU 时的命令要负责一些,在不同需求下可能分为: 1. 安装 CPU 中所有的 molecules $./opatch napply <patch_location> -skip_subset -skip_duplicate -skip_subset 意为跳过那些已安装补丁的子集(subset patches--patches under that are subsets of patches installed in the ORACLE_HOME)
  • 9. -skip_duplicate,跳过已安装过的 molecule(provides the additional benefit of detecting when a molecule patch has already been applied, as in the case of a previous CPU, and to skip application of it. This reduces the length of time required to do the n-apply CPU installation and minimizes the overall change to the Oracle home) 2. 安装 CPU 中的部分 molecules $ ./opatch napply 8290506 -id 7155248,7155249,7155250 -skip_subset -skip_duplicate 以上意为 apply patch 7155248,7155249,7155250 Invoking OPatch 11.2.0.1.3 Oracle Interim Patch Installer version 11.2.0.1.3 Copyright (c) 2010, Oracle Corporation. All rights reserved. UTIL session Oracle Home : /s01/db_1 Central Inventory : /s01/oraInventory from : /etc/oraInst.loc OPatch version : 11.2.0.1.3 OUI version : 10.2.0.4.0 OUI location : /s01/db_1/oui Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-06-02_22-37-02PM.log Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt Invoking utility "napply" Checking conflict among patches... Checking if Oracle Home has components required by patches... Checking skip_duplicate Checking skip_subset Checking conflicts against Oracle Home... OPatch continues with these patches: 7155250 7155249 7155248 Do you want to proceed? [y|n] y User Responded with: Y Running prerequisite checks... OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only. Please shutdown Oracle instances running out of this ORACLE_HOME on the local system. (Oracle Home = '/s01/db_1') Is the local system ready for patching? [y|n] y User Responded with: Y Backing up files affected by the patch 'NApply' for restore. This might take a while... Applying patch 7155250... ApplySession applying interim patch '7155250' to OH '/s01/db_1' Backing up files affected by the patch '7155250' for rollback. This might take a while...
  • 10. Patching component oracle.rdbms, 10.2.0.4.0... Updating archive file "/s01/db_1/lib/libserver10.a" with "lib/libserver10.a/kupp.o" Copying file to "/s01/db_1/rdbms/admin/prvtbpp.plb" ApplySession adding interim patch '7155250' to inventory Verifying the update... Inventory check OK: Patch ID 7155250 is registered in Oracle Home inventory with proper meta-data. Files check OK: Files from Patch ID 7155250 are present in Oracle Home. Applying patch 7155249... ApplySession applying interim patch '7155249' to OH '/s01/db_1' Backing up files affected by the patch '7155249' for rollback. This might take a while... Patching component oracle.rdbms, 10.2.0.4.0... Copying file to "/s01/db_1/rdbms/admin/prvtdefr.plb" ApplySession adding interim patch '7155249' to inventory Verifying the update... Inventory check OK: Patch ID 7155249 is registered in Oracle Home inventory with proper meta-data. Files check OK: Files from Patch ID 7155249 are present in Oracle Home. Applying patch 7155248... ApplySession applying interim patch '7155248' to OH '/s01/db_1' Backing up files affected by the patch '7155248' for rollback. This might take a while... Patching component oracle.rdbms, 10.2.0.4.0... Copying file to "/s01/db_1/rdbms/lib/env_rdbms.mk" ApplySession adding interim patch '7155248' to inventory Verifying the update... Inventory check OK: Patch ID 7155248 is registered in Oracle Home inventory with proper meta-data. Files check OK: Files from Patch ID 7155248 are present in Oracle Home. Running make for target ioracle Running make for target iextjob Running make for target iextjobo The local system has been patched and can be restarted. UtilSession: N-Apply done. OPatch succeeded. 另外我们可以使用 opatch lsinventory -bugs_fixed 命令列出已安装的 CPU/PSU $ ./opatch lsinventory -bugs_fixed List of Bugs fixed by Installed Patches: Bug Fixed by Installed at Description Patch --- -------- ------------ ----------- 8309642 8309642 Thu Jun 02 22:54:51 CST 2011 DB-10.2.0.4-MOLECULE-018- CPUAPR2009 8309639 8309639 Thu Jun 02 22:54:48 CST 2011 DB-10.2.0.4-MOLECULE-019- CPUAPR2009 8309637 8309637 Thu Jun 02 22:54:45 CST 2011 DB-10.2.0.4-MOLECULE-020- CPUAPR2009 8309632 8309632 Thu Jun 02 22:54:42 CST 2011 DB-10.2.0.4-MOLECULE-017- CPUAPR2009
  • 11. 8309623 8309623 Thu Jun 02 22:54:39 CST 2011 DB-10.2.0.4-MOLECULE-016- CPUAPR2009 8309592 8309592 Thu Jun 02 22:54:35 CST 2011 DB-10.2.0.4-MOLECULE-015- CPUAPR2009 8309587 8309587 Thu Jun 02 22:54:30 CST 2011 DB-10.2.0.4-MOLECULE-014- CPUAPR2009 7150470 8290506 Thu Jun 02 22:54:26 CST 2011 MLR BUG FOR 10.2.0.4 FOR CPUJUL2008 7375644 8290506 Thu Jun 02 22:54:26 CST 2011 MLR BUG FOR 10.2.0.4 FOR CPUOCT2008 7592346 8290506 Thu Jun 02 22:54:26 CST 2011 CPUJAN2009 DATABASE 10.2.0.4 8290506 8290506 Thu Jun 02 22:54:26 CST 2011 CPUAPR2009 DATABASE 10.2.0.4 7609058 7609058 Thu Jun 02 22:54:21 CST 2011 DB-10.2.0.4-MOLECULE-013- CPUJAN2009 7609057 7609057 Thu Jun 02 22:54:17 CST 2011 DB-10.2.0.4-MOLECULE-012- CPUJAN2009 7375617 7375617 Thu Jun 02 22:54:14 CST 2011 DB-10.2.0.4-MOLECULE-0011- CPUOCT2008 7375613 7375613 Thu Jun 02 22:54:11 CST 2011 DB-10.2.0.4-MOLECULE-0010- CPUOCT2008 7375611 7375611 Thu Jun 02 22:54:07 CST 2011 DB-10.2.0.4-MOLECULE-009- CPUOCT2008 7197583 7197583 Thu Jun 02 22:54:03 CST 2011 DB-10.2.0.4-MOLECULE-008- CPUJUL2008 7155254 7155254 Thu Jun 02 22:54:00 CST 2011 DB-10.2.0.4-MOLECULE-007- CPUJUL2008 7155253 7155253 Thu Jun 02 22:53:35 CST 2011 DB-10.2.0.4-MOLECULE-006- CPUJUL2008 7155252 7155252 Thu Jun 02 22:53:13 CST 2011 DB-10.2.0.4-MOLECULE-005- CPUJUL2008 7155251 7155251 Thu Jun 02 22:53:07 CST 2011 DB-10.2.0.4-MOLECULE-004- CPUJUL2008 7155250 7155250 Thu Jun 02 22:53:02 CST 2011 DB-10.2.0.4-MOLECULE-003- CPUJUL2008 7155249 7155249 Thu Jun 02 22:52:58 CST 2011 DB-10.2.0.4-MOLECULE-002- CPUJUL2008 7155248 7155248 Thu Jun 02 22:52:54 CST 2011 DB-10.2.0.4-MOLECULE-001- CPUJUL2008 3. 回滚 CPU 中的部分 molecules $ ./opatch nrollback -id 7155248,7155249,7155250 This will roll back patches 7155248,7155249,7155250 that have been installed under the ORACLE_HOME. If a patch is not installed, it does not have any impact and roll back skips the patch. Invoking OPatch 11.2.0.1.3 Oracle Interim Patch Installer version 11.2.0.1.3 Copyright (c) 2010, Oracle Corporation. All rights reserved. UTIL session Oracle Home : /s01/db_1 Central Inventory : /s01/oraInventory from : /etc/oraInst.loc OPatch version : 11.2.0.1.3 OUI version : 10.2.0.4.0 OUI location : /s01/db_1/oui Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-06-02_22-41-49PM.log Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt Invoking utility "nrollback" Patches will be rolled back in the following order:
  • 12. 7155248 7155249 7155250 Running prerequisite checks... The following patch(es) will be rolled back: 7155248 7155249 7155250 OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only. Please shutdown Oracle instances running out of this ORACLE_HOME on the local system. (Oracle Home = '/s01/db_1') Is the local system ready for patching? [y|n] y User Responded with: Y Backing up files affected by the patch 'NRollback' for restore. This might take a while... Rolling back patch 7155248... RollbackSession rolling back interim patch '7155248' from OH '/s01/db_1' Patching component oracle.rdbms, 10.2.0.4.0... Copying file to "/s01/db_1/rdbms/lib/env_rdbms.mk" RollbackSession removing interim patch '7155248' from inventory Rolling back patch 7155249... RollbackSession rolling back interim patch '7155249' from OH '/s01/db_1' Patching component oracle.rdbms, 10.2.0.4.0... Copying file to "/s01/db_1/rdbms/admin/prvtdefr.plb" RollbackSession removing interim patch '7155249' from inventory Rolling back patch 7155250... RollbackSession rolling back interim patch '7155250' from OH '/s01/db_1' Patching component oracle.rdbms, 10.2.0.4.0... Updating archive file "/s01/db_1/lib/libserver10.a" with "lib/libserver10.a/kupp.o" Copying file to "/s01/db_1/rdbms/admin/prvtbpp.plb" RollbackSession removing interim patch '7155250' from inventory Running make for target iextjob Running make for target iextjobo Running make for target ioracle The local system has been patched and can be restarted. UtilSession: N-Rollback done. OPatch succeeded. 安装 CPU 补丁除去以上列出的命令外还可以参考 MOS 文档<OPatch Utility Guide – 10.2 [ID 554417.1]>和 <Critical Patch Update – Introduction to Database n-Apply CPUs [ID 438314.1]>。 完成以上 opatch 操作后针对既有的数据库(已经创建在使用的数据库)还需要在数据库级别运 行数据字典升级脚本: SQL> select * from global_name; GLOBAL_NAME -------------------------------------------------------------------------------- www.oracledatabase12g.com 1. 针对传统的 Normal CPU 运行 @?/rdbms/admin/catcpu.sql 2. 针对 Molecular CPU 补丁需要运行 sqlplus /nolog SQL> CONNECT / AS SYSDBA
  • 13. @?/rdbms/admin/catbundle cpu apply cd $ORACLE_HOME/cpu/view_recompile sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> @recompile_precheck_jan2008cpu.sql SQL> QUIT cd $ORACLE_HOME/cpu/view_recompile sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> SHUTDOWN IMMEDIATE SQL> STARTUP UPGRADE SQL> @view_recompile_jan2008cpu.sql SQL> SHUTDOWN; SQL> STARTUP; SQL> @?/rdbms/admin/utlrp SQL> QUIT 以上字典升级工作的步骤可以从补丁包自带的 README.HTML 网页中找到,另外你可以参 考 MOS 文档<Introduction To Oracle Database catbundle.sql [ID 605795.1]>。 虽然 Oracle 宣称其发布的每一个 CPU 都经过广泛和长时间的测试,但实际 Oracle 不可能具 体到每一个用户的环境中去做测试,所以贸然实施 CPU 还是可能有一定风险的。Oracle 推 荐用户在将 CPU 安装到生产系统之前,首先在自己客制化的环境中充分测试安装 CPU 所可 能带来的影响。 我们可以从 Critical Patch Update Advisory 上找到 Oracle 产品相关的安全风险信息,作为是否 实施 CPU 补丁的依据之一。此外随 CPU 附带的文档将是用户所能找到最为详细的同时也是 最有用的安全信息来源。 Reference: Database, FMW, EM Grid Control, and OCS Software Error Correction Support Policy [ID
  • 14. 209768.1] <OPatch Utility Guide – 10.2 [ID 554417.1]> <Critical Patch Update – Introduction to Database n-Apply CPUs [ID 438314.1]> <Introduction To Oracle Database catbundle.sql [ID 605795.1]>。 http://www.oracle.com/technetwork/topics/security/whatsnew/index.html PS:如果对 PSU 有兴趣,可以读一读 Kamusis 的 Notes for Oracle Database PSU/CPU