資料庫補丁衝突解決方案 (文件 ID 1674432.1)
適用於:
Oracle Database - Enterprise Edition - 版本 9.2.0.1 到 11.2.0.3 [發行版 9.2 到 11.2]本文件所含資訊適用於所有平臺
目標
這篇文件的目標是協助客戶找到解決補丁衝突的方案,如果沒有解決方案,為 Oracle Support 提供解決衝突所需的資訊。
提問,獲得幫助,並分享您對於這篇文件的經驗。
您是否希望與其他 Oracle 客戶、Oracle 員工和業內專家進一步探討此主題?
請點選這裡進入Oracle 社群(中文)。
請點選進入My Oracle Support 社群的資料庫安裝/升級(英文)主頁發現更多的話題和討論。
解決方案
較簡單的方式:使用 My Oracle Support 來找到衝突的解決方案
My Oracle Support Conflict Checker
一個新的檢查Patch衝突的工具已經在 Patch Search 的結果頁可用。. 透過這個工具我們可以上傳OPatch inventory並且檢查要下載的patch和已經打了的patch是否衝突。
如果沒有發現衝突,那麼可以下載 Patch。 如果發現衝突,這個工具可以尋找解決方案。 如果沒有發現解決方案,你可以申請一個解決方案(注:申請patch或者merge patch),並且可以監控這個過程。
關於更多資訊和一個示例影片,請參照
Document 1091294.1 "How to use the My Oracle Support Conflict Checker Tool".
OCM Configurations
如果您的安裝的當前配置資訊上傳到了 My Oracle Support,您可以利用 補丁計劃(Patch Plans) 來驗證和解決衝突。如果對這個衝突沒有既存的解決方案,它同樣會給您提供一個連結,來請求一個解決方案,這甚至不需要建立一個服務請求。
有關 Patch Plans 的影片,請參閱如下:
Document 603505.1 My Oracle Support Speed Training - Links to Recorded Training
Support Tools and Processes 標籤
- Why use Configuration Manager in MOS
- Configuration Manager
- Installing the Collector
- MOS Configuration Manager
- Patch Recommendations and Patch Plans
稍微複雜:Patch Set Update (PSU)
驗證是否安裝了 PSU
如果不知道是否已經安裝了一個 PSU,請參閱如下文件中的驗證步驟:
Document 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。
-
執行如下
% opatch lsinv
- 檢視庫存清單來確定衝突的補丁是否是一個覆蓋補丁。例如:
Patch 11840910 : applied on Fri Oct 12 11:22:09 EDT 2012
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
驗證是否可以使用如下文件來確認基版本(例如,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 is installed
此 PSU 是否是一個複合補丁
一個新的打包模式在2012年4月被引入到了某些 PSU 版本。它叫做複合補丁模式。如果您不熟悉複合補丁模式,請閱讀如下文件:
Document 1376691.1 Composite Patches for Oracle Products
第一步是確定您的衝突所關聯的 PSU 是否以複合補丁模式建立。
確定此 PSU 是否被打包為一個複合補丁參考如下文件中的第二節的表,此表包含了哪些發行版是複合補丁。
Document 1376691.1 Composite Patches for Oracle Products [Video]
非複合補丁
在 My Oracle Support 的“補丁和更新程式”標籤下查詢您的衝突的解決方案:找可用的替代補丁在 Patch ID 中輸入補丁號碼,搜尋符合您的配置的平臺。如果有與您的PSU版本相同的補丁存在(比如 11.1.0.7.8),那麼(在安裝 PSU 之後)下載安裝那個補丁來解決衝突。
閱讀如下文件尋找可能的替代補丁
Document 1061295.1 Patch Set Updates - One-off Patch Conflict Resolution
如果沒有解決方案,轉向 透過一個服務請求提供如下資訊
複合補丁
當安裝 PSU 時 OPatch 的輸出示例
- 在安裝 PSU 之前檢查衝突
% opatch prereq CheckConflictAgainstOHWithDetail -ph ./13343438
Following patches have conflicts. Please contact Oracle Support and get the merged patch of the patches :
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:
/bugmnt6/ap/celclnx17/BOD/11.2.0.3/A/64bit/app/oracle/product/11.2.0.3.0/lib/libserver11.a:/atb.o
Conflict with 11840910
Conflict details:
/bugmnt6/ap/celclnx17/BOD/11.2.0.3/A/64bit/app/oracle/product/11.2.0.3.0/lib/libserver11.a:/kta.o
- 安裝 PSU
% opatch apply
Composite Patch 13696216 conflicts with installed patch(es) 12646784, 11840910
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.注意,apply 的輸出與 CheckConflictAgainstOHWithDetail 的輸出並不相同。
apply 顯示:
Sub-Patch 13343438 conflicts with 11840910
Sub-Patch 13696216 conflicts with 12646784CheckConflictAgainstOHWithDetail 顯示:
11840910 and 12646784 both conflict with 13696216這是一個已知的問題,會在未來的 OPatch 版本中解決。正確的資訊是 Apply 的輸出。
所以在進行之前,您需要利用如下文件的場景1來確定哪個子補丁關聯於這個衝突:
Document 1626610.1 "opatch prereq CheckConflictAgainstOHWithDetail -ph ./" does not show correct Composite sub-patch
- 當 PSU 與多個子補丁衝突時安裝 PSU
Composite Patch 13923374 conflicts with installed patch(es) 13632140
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在這個例子中 PSU 與多個子補丁衝突,那麼在衝突解決的處理過程中,使用最新的子補丁(最大的補丁號碼)。在上面的例子中,使用 13923374。
當安裝一個小補丁時 OPatch 的輸出示例
- 在安裝小補丁前檢查與 PSU 的衝突
Following patches have conflicts. Please contact Oracle Support and get the merged patch of the patches :
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:
/bugmnt6/ap/celclnx17/BOD/11.2.0.3/A/64bit/app/oracle/product/11.2.0.3.0/lib/libserver11.a:/kta.o
- 安裝一個與 PSU 衝突的補丁
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)
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)
- 安裝一個小補丁,此小補丁與 PSU 的多個子補丁衝突
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
在 My Oracle Support 的“補丁和更新程式”標籤下查詢您的衝突的解決方案:在“搜尋”標籤下,在補丁編號裡輸入非 PSU 補丁號碼(11840910),並且搜尋匹配您的配置的平臺。如果存在一個補丁,能夠匹配衝突中所報告的 PSU 子補丁版本(例如,11.2.0.3.1),那麼,要解決衝突,在安裝 PSU 之後下載並安裝這個補丁。查詢可用的替代補丁檢視如下文件找到可能的替代補丁
Document 1061295.1 Patch Set Updates - One-off Patch Conflict Resolution
如果沒有解決方案,轉向 透過一個服務請求提供如下資訊
稍微複雜:Critical Patch Update (CPU)
CPU 與一個已經安裝的 PSU 衝突
-
執行如下命令來確定是否安裝了 PSU
% $ORACLE_HOME/OPatch/opatch lsinventory
- 閱讀輸出,檢視是否安裝了任何版本的 PSU
根據當前的 Patch Set Update and Critical Patch Update Availability Document。在已經安裝了 PSU 的環境繼續安裝 CPU 是不支援的。如果安裝了 PSU,您必須執行如下之一:
-
安裝當前的 PSU 而不是 CPU。
- 回滾 PSU,安裝 CPU。並不推薦這個方案,因為回滾 PSU 的時候,您會移除很多已經安裝在 ORACLE_HOME 下修復內容。
CPU 與一個非 PSU 或非安全補丁的的衝突
所有其他的衝突
提交一個服務請求並且提供如下資訊
-
確認您有最新版本的 OPatch。如果您沒有最新的版本,那麼參照 My Oracle Support 中列出的如下步驟
Document 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
-
上傳顯示了衝突的 OPatch 日誌
-
將如下結果發到 SR
UNIX:
% uname -a
% file $ORACLE_HOME/bin/sqlplus
參考
NOTE:563656.1 - Different types of Patch Conflicts - Superset/Subset/Duplicate/Bug/FileNOTE:861152.1 - Do Patchset Updates (PSU's) Change the Oracle Release Version/Fifth Digit?
NOTE:1626610.1 - "opatch prereq CheckConflictAgainstOHWithDetail -ph ./" shows incorrect results for Composite Patch
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31393455/viewspace-2129651/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- IP衝突解決方案
- 流衝突解決方案——流
- git pull衝突的解決方案Git
- 12.1.0.1 及更高版本的資料庫安全補丁 (文件 ID 1603242.1)資料庫
- Elasticsearch——併發衝突以及解決方案Elasticsearch
- Jar包衝突解決方案調研JAR
- 資料庫補丁索引資料庫索引
- 解決jquery和其他庫的衝突jQuery
- UITapGestureRecognizer與didSelectRowAtIndexPath衝突解決UIIndex
- Git 解決衝突Git
- git 解決衝突Git
- 建立結算清單時提示衝突解決方案
- Android com.android.support衝突解決Android
- 解決動態庫的符號衝突符號
- Oracle資料庫打補丁方法Oracle資料庫
- 微軟新補丁與Outlook衝突 CPU佔用率高達99%微軟
- Android Studio 包衝突解決方法Android
- 程式衝突及其解決
- git pull 衝突解決Git
- windows解決埠衝突Windows
- SVN 版本衝突解決
- hash衝突解決方法
- Git衝突解決技巧Git
- 關於jquery.form和jquery.validata衝突的解決方案jQueryORM
- 一種巢狀滑動衝突的解決方案巢狀
- 巢狀UIScrollview的滑動衝突解決方案巢狀UIView
- Maven Idea檢視解決jar包衝突MavenIdeaJAR
- Android Studio 包衝突的解決方法Android
- Oracle資料庫升級與補丁Oracle資料庫
- 給Oracle資料庫打補丁(轉)Oracle資料庫
- css命名衝突解決方法CSS
- SVN解決衝突 記錄
- 一種非巢狀滑動衝突的解決方案巢狀
- IP衝突 資料庫時斷時續資料庫
- 海量資料庫解決方案資料庫
- Android 解決BottomSheetDialog 拖曳衝突問題Android
- Android View 滑動衝突解決方式以及原理AndroidView
- com.android.support衝突的解決辦法Android