这篇文档的目标是协助客户找到解决补丁冲突的方案,如果没有解决方案,为 Oracle Support 提供解决冲突所需的信息。 您是否希望与其他 Oracle 客户、Oracle 员工和业内专家进一步探讨此主题? 一个新的检查Patch冲突的工具已经在 Patch Search 的结果页可用。. 通过这个工具我们可以上传OPatch inventory并且检查要下载的patch和已经打了的patch是否冲突。 如果没有发现冲突,那么可以下载 Patch。 如果发现冲突,这个工具可以寻找解决方案。 如果没有发现解决方案,你可以申请一个解决方案(注:申请patch或者merge patch),并且可以监控这个过程。 关于更多信息和一个示例视频,请参照 Document 1091294.1 "How to use the My Oracle Support Conflict Checker Tool". 如果您的安装的当前配置信息上传到了 My Oracle Support,您可以利用 补丁计划(Patch Plans) 来验证和解决冲突。如果对这个冲突没有既存的解决方案,它同样会给您提供一个链接,来请求一个解决方案,这甚至不需要创建一个服务请求。 有关 Patch Plans 的视频,请参阅如下: 如果不知道是否已经安装了一个 PSU,请参阅如下文档中的验证步骤: 861152.1> Do Patchset Updates (PSU's) Change the Oracle Release Version/Fifth Digit?
定义:覆盖补丁 当一个补丁与 PSU 冲突,一个覆盖补丁会被创建在相同的 PSU 版本上。例如,PSU 是 11.1.0.7.8,覆盖补丁将会是 11.1.0.7.8。覆盖补丁将会在 PSU 之后被安装,并且使用冲突的 PSU 和原始补丁的一个融合版本来“覆盖”PSU。
Patch 11840910 : applied on Fri Oct 12 11:22:09 EDT 2012 验证是否可以使用如下文档来确认基版本(例如,11.1.0.7.0)无法安装 Document 1357613.1 Can a patch be applied if it is available on base/release version, even though PSU/CPU/SPU is installed 一个新的打包模式在2012年4月被引入到了某些 PSU 版本。它叫做复合补丁模式。如果您不熟悉复合补丁模式,请阅读如下文档: 1376691.1> Composite Patches for Oracle Products 第一步是确定您的冲突所关联的 PSU 是否以复合补丁模式建立。 参考如下文档中的第二节的表,此表包含了哪些发行版是复合补丁。 1376691.1> Composite Patches for Oracle Products [Video] 在 Patch ID 中输入补丁号码,搜索符合您的配置的平台。如果有与您的PSU版本相同的补丁存在(比如 11.1.0.7.8),那么(在安装 PSU 之后)下载安装那个补丁来解决冲突。 阅读如下文档寻找可能的替代补丁 Document 1061295.1 Patch Set Updates - One-off Patch Conflict Resolution 如果没有解决方案,转向 通过一个服务请求提供如下信息
% opatch prereq CheckConflictAgainstOHWithDetail -ph ./13343438 Following patches have conflicts. Please contact Oracle Support and get the merged patch of the patches :
% opatch apply Composite Patch 13696216 conflicts with installed patch(es) 12646784, 11840910 注意,apply 的输出与 CheckConflictAgainstOHWithDetail 的输出并不相同。 apply 显示: Sub-Patch 13343438 conflicts with 11840910 CheckConflictAgainstOHWithDetail 显示: 11840910 and 12646784 both conflict with 13696216 这是一个已知的问题,会在未来的 OPatch 版本中解决。正确的信息是 Apply 的输出。 所以在进行之前,您需要利用如下文档的场景1来确定哪个子补丁关联于这个冲突: Document 1626610.1 "opatch prereq CheckConflictAgainstOHWithDetail -ph ./" does not show correct Composite sub-patch Composite Patch 13923374 conflicts with installed patch(es) 13632140 在这个例子中 PSU 与多个子补丁冲突,那么在冲突解决的处理过程中,使用最新的子补丁(最大的补丁号码)。在上面的例子中,使用 13923374。 Following patches have conflicts. Please contact Oracle Support and get the merged patch of the patches :
Patch 11840910 conflicts with the composite patch 13696216
(specifically, sub-patch(es) 13343438). Please refer to the following to
resolve the conflict(s): Patch conflict resolution (Doc ID 1299688.1)
Patch 13632140 conflicts with the composite patch 13923374 (specifically, sub-patch(es) 13923374,13696216,13343438). 在小补丁与多个子补丁冲突的情况下,在冲突处理过程中使用最新的子补丁(最大的补丁号码)。比如在上面的例子中,使用 13923374。 在如下文档中查找复合子补丁号码 Document 753736.1 Quick Reference to Patchset Patch Numbers 在“搜索”标签下,在补丁编号里输入非 PSU 补丁号码(11840910),并且搜索匹配您的配置的平台。如果存在一个补丁,能够匹配冲突中所报告的 PSU 子补丁版本(例如,11.2.0.3.1),那么,要解决冲突,在安装 PSU 之后下载并安装这个补丁。 查看如下文档找到可能的替代补丁 Document 1061295.1 Patch Set Updates - One-off Patch Conflict Resolution 如果没有解决方案,转向 通过一个服务请求提供如下信息 根据当前的 Patch Set Update and Critical Patch Update Availability Document。在已经安装了 PSU 的环境继续安装 CPU 是不支持的。如果安装了 PSU,您必须执行如下之一: 确认您有最新版本的 OPatch。如果您没有最新的版本,那么参照 My Oracle Support 中列出的如下步骤 上传显示了冲突的 OPatch 日志 将如下结果发到 SR适用于:
Oracle Database - Enterprise Edition - 版本 9.2.0.1 到 12.1.0.2 [发行版 9.2 到 12.1]
Oracle Database Cloud Schema Service - 版本 N/A 和更高版本
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - 版本 N/A 和更高版本
Oracle Database Exadata Express Cloud Service - 版本 N/A 和更高版本
Oracle Cloud Infrastructure - Database Service - 版本 N/A 和更高版本
本文档所含信息适用于所有平台
目标
提问,获得帮助,并分享您对于这篇文档的经验。
请点击这里进入Oracle 社区(中文)。
请点击这里进入My Oracle Support 社区的数据库安装/升级(英文)主页发现更多的话题和讨论。解决方案
较简单的方式:使用 My Oracle Support 来找到冲突的解决方案
My Oracle Support Conflict Checker
OCM Configurations
Document 603505.1 My Oracle Support Speed Training - Links to Recorded Training
Support Tools and Processes 标签
稍微复杂:Patch Set Update (PSU)
验证是否安装了 PSU
验证是否真的是一个冲突
验证是否冲突的补丁是一个覆盖补丁
% opatch lsinv
Unique Patch ID: 14478518
Created on 13 Jan 2012, 05:48:59 hrs PST8PDT
Bugs fixed:
11840910
This patch overlays patches:
13343438
This patch needs patches:
13343438
as prerequisites 如果它是一个覆盖补丁
此 PSU 是否是一个复合补丁
确定此 PSU 是否被打包为一个复合补丁
非复合补丁
在 My Oracle Support 的“补丁和更新程序”标签下查找您的冲突的解决方案:
找可用的替代补丁
复合补丁
当安装 PSU 时 OPatch 的输出示例
12646784, 13696216, 11840910
Following patches will be rolled back from Oracle Home on application of the patches in the given list :
12646784, 11840910
Conflicts/Supersets for each patch are:
Patch : 13696216
Conflict with 12646784
Conflict details:
<$ORACLE_HOME>/lib/libserver11.a:/atb.o
Conflict with 11840910
Conflict details:
<$ORACLE_HOME>/lib/libserver11.a:/kta.o
Conflict Description:
Here are the specific sub-patches of composite patch 13696216 that conflict with 12646784, 11840910
Sub-Patch 13343438 conflicts with 11840910
Sub-Patch 13696216 conflicts with 12646784
Conflict Remedy:
Refer to My Oracle Support Note 1299688.1 for instructions on resolving patch conflicts.
Sub-Patch 13696216 conflicts with 12646784
Conflict Description:
Here are the specific sub-patches of composite patch 13923374 that conflict with 13632140
Sub-Patch 13343438 conflicts with 13632140
Sub-Patch 13696216 conflicts with 13632140
Sub-Patch 13923374 conflicts with 13632140当安装一个小补丁时 OPatch 的输出示例
13343438, 11840910
Following patches will be rolled back from Oracle Home on application of the patches in the given list :
13343438
Conflicts/Supersets for each patch are:
Patch : 11840910
Conflict with 13343438
Conflict details:
<$ORACLE_HOME>/lib/libserver11.a:/kta.o
or
Patch 12646784 conflicts with the composite patch 13696216
(specifically, sub-patch(es) 13696216). Please refer to the following to
resolve the conflict(s): Patch conflict resolution (Doc ID 1299688.1)
确定冲突所关联的复合子补丁的版本
在 My Oracle Support 的“补丁和更新程序”标签下查找您的冲突的解决方案:
查找可用的替代补丁
稍微复杂:Critical Patch Update /Security Patch Update (CPU/SPU)
CPU/SPU 与一个已经安装的 PSU 冲突
% $ORACLE_HOME/OPatch/opatch lsinventory
CPU/SPU 与一个非 PSU 或非安全补丁的的冲突
所有其他的冲突
提交一个服务请求并且提供如下信息
224346.1> OPatch - Where Can I Find the Latest Version of OPatch?
UNIX:
% $ORACLE_HOME/OPatch/opatch lsinventory
Windows:
%ORACLE_HOME%\OPatch\opatch lsinventory
- 上传当前的日志文件,位置是
UNIX:
$ORACLE_HOME/cfgtoollogs/opatch (不是 opatch_history.txt 文件)
Windows:
%ORACLE_HOME%\cfgtoollogs\opatch
UNIX:
% uname -a
% file $ORACLE_HOME/bin/sqlplus
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




