Oracle 10g 應用補丁PSU 10.2.0.5.180717
最近測試了一下在Oracle 10g下面(單例項下面)升級、應用補丁PSU 10.2.0.5.180717,打這個補丁的主要原因是 Oracle 將於 2019年6月啟用新的SCN相容性,並且由於BigSCN的作用,96K每秒的SCN增速,都可能會使得通過DB Link的訪問產生SCN過度拉昇,所以新的補丁需要被應用。最近(2018年8月份)Oracle 提供了針對 Oracle 10g 最終版本 10.2.0.5 的修正補丁,為低版本使用者提供了一個解決方案。更多這方面的相關知識,可以參考這篇文章升級更新:Oracle關於DB Link在2019年升級的10g版本相容性。下面按照官方文件從Patch Pre-Installation Instructions,Patch Installation Instructions,Post Installation Instructions這三個方面來測試、驗證一下
Patch Pre-Installation Instructions
安裝這個補丁對OPatch Utility的版本有要求,要求OPatch 10.2 version 10.2.0.5.0 或之後的版本,否則在應用補丁的過程就會遇到一些錯誤,後面例子會介紹這個具體錯誤,以及如何升級OPatch Utility(此處不展開,後面展開)
檢查opatch版本
不符合要求的版本的例子:
#$ORACLE_HOME/OPatch/opatch version
Invoking OPatch 10.2.0.4.9
OPatch Version: 10.2.0.4.9
OPatch succeeded.
符合要求的版本的例子:
#$ORACLE_HOME/OPatch/opatch version
Invoking OPatch 10.2.0.5.1
OPatch Version: 10.2.0.5.1
OPatch succeeded.
注意事項:
To install the PSU 10.2.0.5.180717 patch, the Oracle home must have the 10.2.0.5.0 Database installed. Subsequent PSU patches can be installed on Oracle Database 10.2.0.5.0 or any PSU with a lower 5th numeral version than the one being installed.
首先要去meatalink上下載Patch 26493118 也就是 Oracle Database Patch Set Update 10.2.0.5.171017。當然下載這個補丁是需要口令。不過我們下載的是補丁程式26493118: DATABASE PATCH SET UPDATE 10.2.0.5.171017, 因為我去下載的時候,這個補丁程式集已經被取代(Patch 26925212 is a super set of patch 26493118)。
關閉監聽、ORACLE例項等。
如下所示:
$ lsnrctl stop
SQL> shutdown immediate
$ emctl status dbconsole
TZ set to PRC
OC4J Configuration issue. /u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_getlnx14uat.esquel.com_SCM2 not found.
如果EM服務是執行狀態,就必須關閉
$ emctl stop dbconsole
$ unzip p26925212_10205_Linux-x86-64.zip
解壓後,我們最好檢查一下當前環境是否存在補丁衝突
Determine whether any currently installed one-off patches conflict with the PSU patch as follows:
opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./26925212
正常情況:
[[email protected] klb]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./26925212/
Invoking OPatch 10.2.0.4.9
Oracle Interim Patch Installer version 10.2.0.4.9
Copyright (c) 2009, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/oracle/product/10.2.0/db_1
Central Inventory : /u01/app/oracle/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.4.9
OUI version : 10.2.0.5.0
OUI location : /u01/app/oracle/product/10.2.0/db_1/oui
Log file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch2018-11-01_22-35-10PM.log
Patch history file: /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch_history.txt
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
衝突情況:
[[email protected] tmp]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./26925212/
Invoking OPatch 10.2.0.5.1
Oracle Interim Patch Installer version 10.2.0.5.1
Copyright (c) 2010, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/oracle/product/10.2.0/db_1
Central Inventory : /u01/app/oracle/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.5.1
OUI version : 10.2.0.5.0
OUI location : /u01/app/oracle/product/10.2.0/db_1/oui
Log file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch2018-11-04_14-44-35PM.log
Patch history file: /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch_history.txt
Invoking prereq "checkconflictagainstohwithdetail"
ZOP-47: The patch(es) has supersets with other patches installed in the Oracle Home (or) among themselves.
Prereq "checkConflictAgainstOHWithDetail" failed.
Summary of Conflict Analysis:
Patches that can be applied now without any conflicts are :
26925212
Following patches are not required, as they are subset of the patches in Oracle Home or subset of the patches in the given list :
9949948, 7612454