天天看點

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

一、簡單介紹:

Oracle更新檔一般分為2類:CPU和PSU

Ø  CPU:Critical Patch Update,緊急更新檔更新。每季度釋出一次,用來修複安全方面的累積型更新檔,即最新的CPU更新檔已經包含以往的CPU更新檔,隻需安裝最新的CPU更新檔即可。CPU已更名為SPU(Security Patch Update)。

Ø  PSU:Patch Set Update,更新檔集更新。Oracle選取在每個季度使用者下載下傳數量最多、且得到驗證具有較低風險的更新檔放入到每個季度的PSU中。在每個PSU中不但包含Bug的修複,還包含了最新的CPU。PSU通常随CPU一起釋出。PSU通常是增量的,大部分PSU可以直接安裝,但有些PSU必須要求安裝上一個版本的PSU之後才能繼續安裝。

二、示範環境:

1、IP:192.168.1.220

2、作業系統:CentOS 6.10 x86_64

3、Oracle軟體安裝包:p13390677_112040_Linux-x86-64_1of7.zip、p13390677_112040_Linux-x86-64_2of7.zip

4、Oracle版本:11.2.0.4.0

5、OPatch軟體安裝包:p6880880_112000_Linux-x86-64.zip(大小為108M)

6、OPatch版本:11.2.0.3.20

7、Patch更新檔包:p28729262_112040_Linux-x86-64.zip

8、Patch ID:Patch 28729262(Oracle Database Patch Set Update 11.2.0.4.190115)

三、打PSU更新檔:

1、檢視目前OPatch版本:$ $ORACLE_HOME/OPatch/opatch version

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

備注:根據更新檔包中的README.html幫助文檔,Patch 28729262要求的OPatch最低版本為11.2.0.3.5

2、更新OPatch版本:

# unzip -q p6880880_112000_Linux-x86-64.zip

# chown -R oracle.oinstall OPatch

# su - oracle

$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_bak

$ mv OPatch $ORACLE_HOME/

$ $ORACLE_HOME/OPatch/opatch version

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

3、檢視系統中已打過的更新檔:

$ $ORACLE_HOME/OPatch/opatch lspatches

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

$ $ORACLE_HOME/OPatch/opatch lsinv

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

SQL> col ACTION format a6

SQL> col VERSION format a8

SQL> col BUNDLE_SERIES format a13

SQL> col COMMENTS format a19

SQL> select ACTION,VERSION,BUNDLE_SERIES,COMMENTS from dba_registry_history;

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

4、關閉資料庫執行個體和監聽,結束所有Oracle相關程序:

SQL> shutdown immediate

SQL> !lsnrctl stop

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

5、使用expdp資料泵備份全庫資料

6、使用tar指令備份整個資料庫目錄

7、解壓更新檔包,并設定權限:

# unzip -q p28729262_112040_Linux-x86-64.zip

備注:解壓後得到目錄28729262和檔案PatchSearch.xml

# chown -R oracle.oinstall 28729262

$ cd 28729262

$ ls

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

備注:打更新檔前務必仔細閱讀README.html幫助文檔

8、檢查PSU更新檔是否有沖突:

$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

備注:必須要在28729262目錄中執行上述指令

9、手動生成OPatch所需的OCM(Oracle Configuration Manager)檔案ocm.rsp:

$ $ORACLE_HOME/OPatch/ocm/bin/emocmrsp

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

$ ll -lh | grep ocm.rsp

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

10、打更新檔:$ $ORACLE_HOME/OPatch/opatch apply -silent -ocmrf ocm.rsp

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19
Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19
Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

備注:上述提示資訊可忽略

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

11、更新資料字典:

$ sqlplus /nolog

SQL> connect / as sysdba

SQL> !lsnrctl start

SQL> startup

SQL> @$ORACLE_HOME/rdbms/admin/catbundle.sql psu apply

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

12、重新編譯無效對象:

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

備注:可檢視日志确認執行是否成功,此處SID為TESTDB

$ less /oracle/cfgtoollogs/catbundle/catbundle_PSU_TESTDB_APPLY_2019Jan27_20_02_44.log

$ less /oracle/cfgtoollogs/catbundle/catbundle_PSU_TESTDB_GENERATE_2019Jan27_20_02_43.log

13、打OJVM(Oracle JavaVM Component Database PSU)更新檔:

SQL > @$ORACLE_HOME/rdbms/admin/dbmsjdev.sql

SQL > exec dbms_java_dev.disable

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

14、檢視系統中已打過的更新檔:

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19
Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19
Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19
Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19
Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

四、删除PSU更新檔:

1、執行ROLLBACK.sql:

SQL> @$ORACLE_HOME/rdbms/admin/catbundle_PSU_TESTDB_ROLLBACK.sql

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

SQL> quit

備注:此處SID為TESTDB

2、執行utlrp.sql,并關閉資料庫執行個體和監聽,結束所有Oracle相關程序:

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19
Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

3、更新檔回退:

$ $ORACLE_HOME/OPatch/opatch rollback -id 28729262

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19
Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

4、使用tar指令解壓更新前備份的資料庫目錄

5、使用impdp資料泵導入更新前備份的全庫資料

6、啟動資料庫執行個體和監聽:

7、檢視系統中已打過的更新檔:

Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19
Oracle 11.2.0.4.0打PSU更新檔更新至11.2.0.4.19

SQL> col ACTION format a8

繼續閱讀