转自:http://www.cio360.net/h/1808/319804-4368.html
2009年10月20日,Oracle公司发布了因其OpenWorld大会而延期的本年度第三期的安全补丁CPU-Oct-2009。重视数据库安全性的DBA对于安全补丁CPU已经非常熟悉。详情请参见:http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuoct2009.html
同日,Oracle公司还发布了多种平台的多个版本的新的补丁形式PSU(Patch Set Update), PSU将会在Oracle产品的补丁体系中占据非常重要的位置。本文介绍PSU的由来、特点,并给出安装实例。
首先以Oracle的数据库产品为例,简单介绍其版本表示和补丁体系。8i,9i,10g,11g这是其主要版本号,每一版本会陆续有两至三个发行版,如10.1,10.2,11.1和11.2分别是10g和11g的两个发行版。对于每一个发行版软件中发现的BUG,给出相应的修复补丁。每隔一定时期,会将所有补丁集成到软件中,经过集成测试后,进行发布,也称为PSR(Patch Set Release)。以10.2为例,10.2.0.1.0是基础发行版,至今已有三个PSR发布,每个PSR修改5位版本号的第4位,最新10.2的PSR为10.2.0.4.0。(11.1.0.6.0是11.1的基础发行版,11.1.0.7.0是第一次PSR,也是目前最新的。)
在某个PSR之后编写的补丁,在还没有加入到下一个PSR之前,以个别补丁(Interim Patch)的形式提供给客户。某个个别补丁是针对Oracle公司发现的或客户报告的某一个BUG编写的补丁,多个个别补丁之间一同安装时可能会有冲突,即同一个目标模块分别进行了不同的修改。另外,即便在安装时没有发现冲突,由于没有进行严格的集成测试,运行过程中由于相互作用是否会发生意外也不能完全排除。
除去修改功能和性能BUG的补丁,还有应对安全漏洞的安全补丁。Oracle公司定期(一年四期)发布安全补丁集,称之为CPU(Critical Patch Updates)。
由于数据库在信息系统的核心地位,对其性能和安全性的要求非常高。理应及时安装所有重要补丁。另外一个方面,基于同样的理由,要求数据库系统必须非常稳定,安装补丁而导致的系统故障和性能下降同样不可接受。DBA经常面临一个非常困难的选择:对于多个修复重要BUG的个别补丁是否安装。不安装,失去预防故障发生的机会,以后故障发生时,自己是无作为;安装,如果这些补丁中存在着倒退BUG,或者相互影响,以后发生由于安装补丁而造成的故障时,自己则是无事生非!而等待下一个PSR,一般又需要一年时间。
至此,PSU(Patch Set Update)的登场也是应运而生了。名称是什么不重要,重要的应解决以下几个问题:1. 减轻PSR周期长而带来的不能及时更新的影响;2. 解决多个个别补丁冲突和相互影响的问题;3. 减轻DBA安装补丁的负担:补丁安装次数,不定期检查补丁发布。
PSU具有如下特点:
第一,PSU是PSR的补充,在两次PSR发布之间发布多个PSU,加快更新速度。每个PSU修改5位版本号的第5位。例如,安装此次发布的PSU后,11.1版本“升级”为11.1.0.7.1;10.2版本为10.2.0.4.2。(在笔者的安装实验中已经发现,安装PSU后,显示的仍为以前的版本号。Oracle公司资料中承诺在以后的版本中对此进行改正。)
第二,每个PSU中包含25至100个重要补丁,作为一个整体进行严格测试,解决冲突问题,保证系统的稳定性。PSU不仅包括对功能、性能修复的一般补丁,也包括安全补丁。
第三,PSU定期发布,计划一年分布四次,发布日期与CPU发布日期相同。由于PSU包括同期发布的CPU,只要安装PSU即可。(对部分平台,仍提供单独的CPU,供客户选择)
第四,如同PSR和CPU一样,PSU是累积型的,即只要安装最新的PSU就自动包括以前所有PSU的内容。
第五,使用DBA已经熟悉的Opatch工具安装/删除PSU,命令仍是apply和rollback。一个PSU可视作一个个别补丁,安装和删除操作都很简便。
第六,现有的个别补丁与PSU的关系分为三类:完全独立;是PSU的一部分;与PSU冲突。第一类的个别补丁与PSU相互没有影响,可以独立的安装或删除。对于第二类,在安装PSU之后,自然没有必要安装。若在PSU之前已安装,则在安装PSU时会被自动删除。对于第三类个别补丁,如在PSU之前已安装,必须在安装PSU时删除。客户可以向Oracle公司技术支持部门提出申请,由Oracle负责提供与PSU不冲突的,在PSU之上安装的相应的新的版本。
PSU的限制:必须是在正常技术支持范围之内的版本(11.2,11.1和10.2),并且PSU只能在最新PSR(11.1.0.7和10.2.0.4)之上安装。(这期的安全补丁CPU-Oct-2009的内容,已经包含在11gR2中,所以这次11gR2没有PSU发布。)目前主要支持数据库产品(不包括Fusion Middleware等其它产品)
随后四次的PSU/CPU计划发布日期为:2010年的1月12日(周二),4月13日(周二),7月13日(周二)和10月12日(周二)。
表1:PSU的发布内容
产品 | 2009-10已发布 | 2010-01计划发布 | 备注 |
11.1 DB | 11.1.0.7.1 | 11.1.0.7.2 |
|
10.2 DB | 10.2.0.4.2 | 10.2.0.4.3 | 之前已发布10.2.0.4.1 PSU |
10.2 EM Grid Control for OMS | 10.2.0.5.1 | 10.2.0.5.2 |
|
10.2 EM Grid Control for agent |
| 10.2.0.5.2 |
|
表2:11.1.0.7.1PSU中包含的与CPU有关的BUG修复
BUG号 | 对应MOLECULE |
8290478 | CPUAPR2009 DATABASE 11.1.0.7 |
8306933 | DB-11.1.0.7-MOLECULE-001-CPUAPR2009 |
8306934 | DB-11.1.0.7-MOLECULE-002-CPUAPR2009 |
8342506 | DB-11.1.0.7-MOLECULE-003-CPUAPR2009 |
8534338 | CPUJUL2009 DATABASE 11.1.0.7 |
8563941 | DB-11.1.0.7-MOLECULE-004-CPUJUL2009 |
8563942 | DB-11.1.0.7-MOLECULE-005-CPUJUL2009 |
8563943 | DB-11.1.0.7-MOLECULE-006-CPUJUL2009 |
8563944 | DB-11.1.0.7-MOLECULE-007-CPUJUL2009 |
8563945 | DB-11.1.0.7-MOLECULE-008-CPUJUL2009 |
8563946 | DB-11.1.0.7-MOLECULE-009-CPUJUL2009 |
8563947 | DB-11.1.0.7-MOLECULE-010-CPUJUL2009 |
8563948 | DB-11.1.0.7-MOLECULE-011-CPUJUL2009 |
8836375 | CPUOCT2009 DATABASE 11.1.0.7 |
8855553 | DB-11.1.0.7-MOLECULE-012-CPUOCT2009 |
8855559 | DB-11.1.0.7-MOLECULE-013-CPUOCT2009 |
8855565 | DB-11.1.0.7-MOLECULE-014-CPUOCT2009 |
8855570 | DB-11.1.0.7-MOLECULE-015-CPUOCT2009 |
8855575 | DB-11.1.0.7-MOLECULE-016-CPUOCT2009 |
8855577 | DB-11.1.0.7-MOLECULE-017-CPUOCT2009 |