设为首页 加入收藏

TOP

Oracle补丁体系及opatch工具介绍(二)
2014-11-24 08:06:48 来源: 作者: 【 】 浏览:3
Tags:Oracle 补丁 体系 opatch 工具 介绍
这种补丁集经过了严格的集成测试,也是累积型的。所以推荐安装最新的Patch Set。

Patch SetUpdate

¤ 就是DBA&DMA们常论道的PSU。Oracle 选取在每个季度用户下载数量最多,并且得到验证具有较低风险的补丁放入到每个季度的PSU中,修复比较严重的一些问题,包含每个季度的CPU,是累积型的。虽然在描述PSU的时候会用到数据库版本第5位,比如Database PSU 11.2.0.3.5,但实际上打完PSU后并不会真正改变数据库的版本,从v$version中看到的版本还是4位的(11.2.0.3.0),第5位仍然是0
¤ 注意
(1)Windows上没有CPU和PSU,对于Windows和Exadata,Oracle使用Bundle Patch代替PSU,Bundle Patch会包含PSU的内容
(2)从11.2.0.2版本开始,一个新的补丁策略被引入,11.2.0.1之后发布的Patch Set本身就是一个完整的安装包,不再需要基础的Release 版本安装。

Critical PatchUpdate

¤ 这个指的就是CPU补丁。每季度发布一次,用来修复安全方面的一些补丁,是累积型的。目前(2012年10月)已经更名为Security Patch Update (SPU)
¤ 这类问题本来不属于软件错误,在正常使用中不会出现任何问题。但是别有用心的人可以通过运行非常精巧设计的代码 ,绕过数据库系统的安全管理机制,达到非授权存取的目的。
¤ 重要补丁公告参见这里.

Interim Patch/One-Off Patch

¤ 是我们常说的小补丁,为了修复某(几)个Bug而发布的补丁。这种补丁推荐在测试库上测试无误后再安装在生产库上。

Merged Patch

¤ 合并的补丁。当几个小补丁之间有冲突,不能同时安装的时候,需要提供这种Merged Patch。补丁冲突主要是由于2个或者多个补丁修改同一个文件,但是修改的内容是不同的。

Bundle Patch(BP)

¤ 补丁集,修复多个Bug。在Windows平台上的Oracle没有小补丁,只有这种BundlePatch。 这种累积型的补丁集会周期性的发布(至少每季一次),也就是每个Bundle Patch会包含之前所有的Bundle Patch。比如Windows Bundle Patch 16,它会包含之前所有15个Bundle Patch,所以我们总是推荐安装最新的Bundle Patch。Oracle的集群软件和数据库软件的Window Bundle Patch是同一个,比如Windows Bundle Patch 16(补丁号16167942,既可以打在集群上,也可以打在数据库上) 。

■要了解Windows Bundle Patch的补丁号,可以参考MOS文档:

Note 161549.1 Oracle Database, Networking and Grid Agent Patches for Microsoft Platforms

■这部分有待补充


三. OPatch 命令

从9.2版开始,Oracle公司实现了个别补丁安装工具opatch. opatch使用一个称为inventory的系统数据结构(严格说是与oui共享inventory),集中管理所有已安装的个别补丁;个别补丁的安装和卸载都使用opatch命令完成,冲突检测也由opatch在安装时自动完成;提供列表命令可以很方便得到已安装个别补丁的信息。

10g(10.1和10.2)版本中,opatch作为一个标准工具,在安装时自动安装。(安装在$ORACLE_HOME/OPatch下。)而对于9.2版,需要从metalink下载opatch.无论是哪一个版本,系统中是否已经安装opatch,在使用之前,应从metalink下载最新版本的opatch.很遗憾,由于系统实现的问题,10.2使用的opatch与之前版本(10.1和9.2)使用的opatch不兼容,不能混用,这一点必须注意。

opatch是使用perl编写的脚本程序(其中也使用JAVA API)。使用的perl版本是5.6版,虽然在5.6之前的版本中也可运行,但应尽可能安装5.6或以上的版本的perl. 对于DBA来说一个好消息是,如果安装9.2版软件时保留了HTTP服务器,则在$ORACLE_HOME/Apache下会自动安装perl.(10g会自动安装配置perl和opatch.)

3.1 opatch命令存放位置

该命令的存放位置在$ORACLE_HOME下的OPatch目录下。
-bash-3.2$ pwd
/u01/oracle/oracle/product/10.2.0/db_1/OPatch

-bash-3.2$ ls
docs emdpatch.pl jlib opatch opatch.ini opatch.pl

3.2 使用“-help”参数可以获得opatch命令的帮助信息

apply
Installs an interim patch. Refer to "apply Command" for more information.

napply
Installs n number of patches (hence napply). Refer to "napply Command" for more information.

auto
Applies Oracle Clusterware patches. Refer to "auto Command" for more information.

lsinventory
Lists what is currently installed on the system. Refer to "lsinventory Command" for more information.

query
Queries a given patch for specific details. Refer to "query Command" for more information.

rollback
Removes an interim patch. Refer to "rollback Command" for more information.

nrollback
Removes n number of patches (hence nrollback). Refer to "nrollback Command" for more information.

version
Prints the current version of the patch tool. Refer to "version Command" for more information.

在$ORACLE_HOME/OPatch/docs目录下,用指南文件(Users_Guide.txt),其中有详细的命令格式和使用示例,可以参考。

Opatch执行操作时,除在屏幕输出结果外,还生成日志文件。日志文件的路径和文件名格式如下:

$ORACLE_HOME/.patch_storage/< patch_id >/< action >-< patch_id >_< mm-dd-yyyy_hh-mi-ss>.log

其中“patch_id”是Oracle技术支持部门为个别补丁分配的编号。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇关于oracle12c对RAW裸设备的支持 下一篇oracle12c(oracle12.1.0.1.0)安..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C 内存管理 | 菜鸟教 (2025-12-26 20:20:37)
·如何在 C 语言函数中 (2025-12-26 20:20:34)
·国际音标 [ç] (2025-12-26 20:20:31)
·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)