阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle Patch补丁体系和如何打补丁

507次阅读
没有评论

共计 3714 个字符,预计需要花费 10 分钟才能阅读完成。

Oracle 作为大型商用关系型数据库,从其补丁体系就可以看出其考虑的全面性。首先我们看下 Oracle Patch 的主要类型 [参考 1 和 2]:

Version/ 维护版本
针对前一个维护版本的所有补丁进行整理,增加新的功能或对软件有较大的改动,进行整体测试,得到一个软件版本”包”,称为版本 Version。比如 11.2。

One-off patches (e.g. a bug fix)
One-off patches 也称之为一次性补丁,通常针对特定的版本数据库或运行平台。此类补丁通常较小,使用的最为频繁。One-off patch 只需要用 Opatch 工具 apply 即可,不需要升级 / 修正数据字典。如在数据库使用过程中出现某些异常后如较常见的 ORA-00600、ORA-07445 错误等可以通过一次性补丁来搞定。

Critical Patch Update (CPU)
简称 CPU,一般来说 CPU 包含了 Oracle 产品安全漏洞的修复补丁集 (set of security bug fix),通常一年发布四期,一般是每季度提供一次的一组高优先级修复程序(往往针对安全性问题),对于以前的安全性修复程序而言,这些 CPU 是累积的,只需要安装最近最后一个就可以,它就包含了之前的所有 CPU 补丁,但也可包含其他修复程序,目的是解决与非安全性补丁之间的补丁冲突问题(即降低合并请求的必要性)。该类 patch 的安装和安装 one-off patch 一样,同样使用”opatch apply”命令来完成。安装完成后应针对既有的数据库 (已经创建在使用的数据库),应在数据库级别运行数据字典升级脚本。

Bundled patches (For Windows and Exadata only)
用于解决在 Windows 平台无法利用替换共享库文件后 relink 的方式来更新 Oracle binary,所以 Oracle 特别针对 Windows 发布区别于 Unix 上 Normal/Molecular CPU 的 CPU Bundle patch。通常情况下,Bundle Patch 会别较大,Windows bundle patches 通常每一个季度都会发布。

PSR(Patch Set Release)/Patch Set Update(PSU)
 PSR 就是大家常见的大补丁合集,通常 1GB 左右,也就是 oracle 版布号的第四位即为 PSR 号。也就是说 oracle 版布号的第四位会被修改。每一个 PSR 是都整合了之前的一些 bug,并且经过了严格的测试,通常更新 PSR 风险相对较小。10.2,10.2.0.1.0 是基础发行版,至今已有五个 PSR 发布,最新 10.2 的 PSR 为 10.2.0.5.0。
PSU 就是在每个 PSR 发布之间的补丁,由于新旧 PSR 之间周期较长,而数据库在运行期间难以保证不会出现新的 bug,因此有了 PSU。PSU 是对于 PSR 的一个重要补充,每个 PSU 修改 5 位版本号的第 5 位。如,11.1 版本升级为 11.1.0.7.1;10.2 版本为 10.2.0.4.2。PSU 包含 CPU,所以建议尽量安装 PSU,PSU 通常也是增量的,大部分 PSU 可以直接安装,但有些 PSU 则必须要求安装了上一 个版本的 PSU 之后才能继续安装,要仔细看各个 PSU 的 Readme 文档。PSU 与 CPU 一样,定期发布,计划一年发布四次,发布日期与 CPU 发布日期相同。PSU 同样使用 Opatch 工具安装 / 删除,命令仍是 apply 和 rollback。一个 PSU 可视作一个个别补丁,安装和删除操作同样简便。
 [参考 3]PSU 有三个优势,
 (1) 低风险高价值,PSU 包括:
Critical technical issues with fixes that may affect a large number of customers and that are already proven in the field
Critical Patch Update fixes
PSU 不包括:
Changes that require re-certification (for example, Database fixes that cause optimizer plan changes)
Fixes that require configuration changes
每个 PSU 会限制包含 bug fix 的数量,一般在 25 到 100 个之间。会从用户下载量最多,以及发布的关键安全事件中选择出这些补丁。数据库 PSU 确保可以支持滚动 RAC 安装。
(2) PSU 会通过严格的测试,保证各种 fix 可以正常运行,不会互相影响。
(3) Oracle 版本号的第五位是作为每个 PSU 的增量版本号。例如初始 PSU 版本号是 11.1.0.7.1,第二个针对 11.1.0.7 的 PSU 版本号就是 11.1.0.7.2。

实验:
1. 测试安装如下 PSU,
Bug 24006111 – 11.2.0.4.161018 (Oct 2016) Database Patch Set Update (DB PSU) (文档 ID 24006111.8)

Oracle Patch 补丁体系和如何打补丁

选择操作系统版本进行下载,进入目录中执行 opatch apply,

Oracle Patch 补丁体系和如何打补丁
 

提示 patch 安装需要 OPatch 的版本是 11.2.0.3.5,使用 OPatch version 查看当前版本是 11.2.0.3.4,所以第一步需要升级 OPatch。
[oracle@emrep11 ~]$ /u01/app/oracle/11.2.0.4/dbhome_1/OPatch/opatch version
OPatch Version: 11.2.0.3.4
OPatch succeeded.
2. 升级 OPatch,
 如下选择对应操作系统版本,下载 OPatch,p17836989_112000_Linux-x86-64.zip,
 补丁程序 17836989: OPatch patch of version 11.2.0.3.5 for Oracle software releases 11.2.0.x (NOV 2013)

Oracle Patch 补丁体系和如何打补丁

解压缩,并复制至 $ORACLE_HOME 下,可以提前备份下旧版的 OPatch。再执行 OPatch version,
[oracle@emrep11 ~]$ /u01/app/oracle/11.2.0.4/dbhome_1/OPatch/opatch version
OPatch Version: 11.2.0.3.6
OPatch succeeded.
升级至 11.2.0.3.6。
3. 继续安装,

Oracle Patch 补丁体系和如何打补丁

 执行失败,从错误信息看,有下面三个可执行程序处于激活状态,
Following executables are active :
/u01/app/oracle/11.2.0.4/dbhome_1/bin/oracle
/u01/app/oracle/11.2.0.4/dbhome_1/lib/libclntsh.so.11.1
/u01/app/oracle/11.2.0.4/dbhome_1/lib/libsqlplus.so
需要停止这些激活的可执行程序,首先查找 sqlplus,

Oracle Patch 补丁体系和如何打补丁

 接下来需要关闭数据库,以确保 libclntsh.so.11.1 停止,

Oracle Patch 补丁体系和如何打补丁

 仍旧不行,说明仍有进程使用,尝试关闭监听,可参考这篇文章:《opatch error code 73: Prerequisite check“CheckActiveFilesAndExecutables”failed. (文档 ID 1942237.1)》

Oracle Patch 补丁体系和如何打补丁

 此时再次执行 opatch apply,

Oracle Patch 补丁体系和如何打补丁

4. 验证安装,

 Oracle Patch 补丁体系和如何打补丁

Oracle Patch 补丁体系和如何打补丁

Oracle Patch 补丁体系和如何打补丁

Oracle Patch 补丁体系和如何打补丁

可以看出已安装了相应的 patch。

总结:
1. 要了解 Oracle Patch 补丁体系中,各种类型补丁的关系、适用范围,这样才能在需要打补丁的时候选择正确的补丁并完成安装步骤了。
2. 某些补丁要求最低的 OPatch 版本,OPatch 的升级仅需要下载对应操作系统版本的 OPatch 压缩包,直接解压缩至 $ORACLE_HOME 即可,以防万一可以备份之前的 OPatch。
3.OPatch 有一系列的命令参数,可以查看帮助继续了解,例如有些补丁可以不用停机,在线打使用 online 参数。

参考文章:
参考 1:http://www.linuxidc.com/Linux/2016-11/137673.htm
参考 2:http://www.linuxidc.com/Linux/2016-11/137680.htm
参考 3:
Patch Set Updates for Oracle Products (文档 ID 854428.1)
参考 4:
opatch error code 73: Prerequisite check“CheckActiveFilesAndExecutables”failed. (文档 ID 1942237.1)
参考 5:
Quick Reference to Patch Numbers for Database PSU, SPU(CPU), Bundle Patches and Patchsets (文档 ID 1454618.1)

更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-11/137681.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3714字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7875973
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...