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

image.png

備註:根據補丁包中的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

image.png

3、查看系統中已打過的補丁:

$ $ORACLE_HOME/OPatch/opatch lspatches

image.png

$ $ORACLE_HOME/OPatch/opatch lsinv

image.png

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;

image.png

4、關閉數據庫實例和監聽,結束所有Oracle相關進程:

SQL> shutdown immediate

SQL> !lsnrctl stop

image.png

5、使用expdp數據泵備份全庫數據

6、使用tar命令備份整個數據庫目錄

7、解壓補丁包,並設置權限:

# unzip -q p28729262_112040_Linux-x86-64.zip

備註:解壓後得到目錄28729262和文件PatchSearch.xml

# chown -R oracle.oinstall 28729262

# su - oracle

$ cd 28729262

$ ls

image.png

備註:打補丁前務必仔細閱讀README.html幫助文檔

8、檢查PSU補丁是否有衝突:

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

image.png

備註:必須要在28729262目錄中執行上述命令

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

$ $ORACLE_HOME/OPatch/ocm/bin/emocmrsp

image.png

$ ll -lh | grep ocm.rsp

image.png

10、打補丁:$ $ORACLE_HOME/OPatch/opatch apply -silent -ocmrf ocm.rsp

image.png

image.png

image.png

備註:上述提示信息可忽略

image.png

備註:上述提示信息可忽略

11、升級數據字典:

$ sqlplus /nolog

SQL> connect / as sysdba

SQL> !lsnrctl start

SQL> startup

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

image.png

SQL> shutdown immediate

SQL> startup

12、重新編譯無效對象:

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

image.png

備註:可查看日誌確認執行是否成功,此處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

image.png

14、查看系統中已打過的補丁:

$ $ORACLE_HOME/OPatch/opatch lspatches

image.png

$ $ORACLE_HOME/OPatch/opatch lsinv

image.png

image.png

image.png

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;

image.png

 

四、刪除PSU補丁:

1、執行ROLLBACK.sql:

$ sqlplus /nolog

SQL> connect / as sysdba

SQL> startup

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

image.png

SQL> quit

備註:此處SID爲TESTDB

2、執行utlrp.sql,並關閉數據庫實例和監聽,結束所有Oracle相關進程:

$ sqlplus /nolog

SQL> connect / as sysdba

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

image.png

SQL> shutdown immediate

SQL> !lsnrctl stop

image.png

3、補丁回退:

$ $ORACLE_HOME/OPatch/opatch rollback -id 28729262

image.png

image.png

備註:上述提示信息可忽略

4、使用tar命令解壓升級前備份的數據庫目錄

5、使用impdp數據泵導入升級前備份的全庫數據

6、啓動數據庫實例和監聽:

SQL> startup

SQL> !lsnrctl start

7、查看系統中已打過的補丁:

$ $ORACLE_HOME/OPatch/opatch lspatches

image.png

$ $ORACLE_HOME/OPatch/opatch lsinv

image.png

SQL> col ACTION format a8

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;

image.png

轉自:https://blog.51cto.com/qiuyue/2347172

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章