溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【PSU】Oracle打PSU及卸載PSU(單實例)

發布時間:2020-08-09 14:25:43 來源:ITPUB博客 閱讀:178 作者:恩強Boy 欄目:關系型數據庫

一、  規劃

數據庫版本: Oracle 11.2.0.4 單實例

操作系統: Redhat 6.5 64-bit

PSU: p28204707_112040_Linux-x86-64.zip

OPatch: p6880880_112000_Linux-x86-64.zip

二、  思路清晰

1.  PSU

step1: PSU 前環境檢查

step2: PSU 前全庫備份

step3: 上傳 PSU

step4: 閱讀 README.html

step5: 如果有必要,更新 Opatch

step6: 軟件打 PSU

step7: database PSU

step8: PSU 后檢查

2.  卸載PSU

step1: 卸載軟件 PSU

step2: 卸載 database PSU

step3: 卸載 PSU 后檢查

三、  注意事項

1.  閱讀Readme 文檔

每個CPU/PSU 都有一個 Readme 文檔,關于該 CPU/PSU 的信息都在 Readme 文檔中,再打 CPU/PSU 之前一定要仔細閱讀。

2.  Opatch

PSU 需要用到 Opatch 工具。 Opatch 的版本必須符合補丁包 readme 文檔中版本要求,否則需要升級 Opatch 版本。

查看opatch 版本

$ cd $ORACLE_HOME/OPatch

$ ./opatch version

四、  PSU 前準備工作

1.  檢查instance 狀態

SQL> select instance_name,status from v$instance;

INSTANCE_NAME    STATUS

---------------- ------------

orcl             OPEN

2.  檢查數據庫版本

SQL> select * from v$version;

BANNER

-----------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

PL/SQL Release 11.2.0.4.0 - Production

CORE    11.2.0.4.0      Production

TNS for Linux: Version 11.2.0.4.0 - Production

NLSRTL Version 11.2.0.4.0 - Production

3.  查看PSU 情況

SQL> set linesize 200

SQL> col comments for a30

SQL> select ACTION_TIME, ACTION, COMMENTS from sys.DBA_REGISTRY_HISTORY;

ACTION_TIME                                 ACTION         COMMENTS

-------------------------------       ---------------    -----------------

24-AUG-13 12.03.45.119862 PM            APPLY           Patchset 11.2.0.2.0

30-JUL-18 10.04.26.133727 AM            APPLY           Patchset 11.2.0.2.0

4.  查看無效對象

SQL> select count(*) from dba_objects where status<>'VALID';

SQL>   select object_name,object_type,owner,status from dba_objects where status<>'VALID';

5.  確定定當前存在的one-off 補丁是否和 PSU 沖突

$ unzip p28204707_112040_Linux-x86-64.zip

$ cd 28204707

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

6.  數據庫備份

建議在打補丁之前對數據庫進行RMAN 全庫備份,避免打補丁出現意外,可以從備份中進行恢復。

五、  打補丁

1.  上傳補丁包,解壓

$ unzip p28204707_112040_Linux-x86-64.zip

2.  查看當前OPatch 版本

$ cd /u01/app/oracle/product/11.2.0/db_1/OPatch/

$ ./opatch version

OPatch Version: 11.2.0.3.4

3.  更新Opatch

如果發現Opatch 版本低,下載最新的 Opatch ,覆蓋原來的 Opatch

$ ls

p6880880_112000_Linux-x86-64.zip

$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_bak20200804

$ cp -r OPatch $ORACLE_HOME/

$ cd /u01/app/oracle/product/11.2.0/db_1/OPatch

$ ./opatch version

OPatch Version: 11.2.0.3.18

4.  PSU

1)  關閉Instance listener

SQL> shutdown immediate;

SQL> exit

$ lsnrctl stop

2)  查看當前PSU 版本

$ $ORACLE_HOME/OPatch/opatch lsinv

3)  安裝PSU (軟件 PSU

$ pwd

/home/oracle/28204707

$ $ORACLE_HOME/OPatch/opatch apply

最后可能會有warnings ,可以忽略。如果是 error 就不能忽略。

4)  安裝PSU database PSU

cd $ORACLE_HOME/rdbms/admin

$ sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP

SQL> @catbundle.sql psu apply

SQL> QUIT

5)  如果在之前的PSU 中有 OJVM PSU ,那么我們在執行完 catbundle.sql 可以看到一些無效的JAVA 類,在這種情況下,運行以下命令

$ cd $ORACLE_HOME/rdbms/admin

$ sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> @utlrp.sql

6)  檢查補丁日志看看有沒有報錯

$cd /u01/app/oracle/cfgtoollogs/catbundle

catbundle_PSU_ <database SID> _APPLY_ <TIMESTAMP> .log

catbundle_PSU_ <database SID> _GENERATE_< TIMESTAMP> .log

7)  檢查

$ cd /u01/app/oracle/product/11.2.0/db_1/OPatch

$ ./opatch lsinv

Patch  28204707: applied on Tue Aug 04 13:15:43 EDT 2020

Unique Patch ID:  22491169

Patch description:  "Database Patch Set Update : 11.2.0.4.181016 (28204707) "

   Created on 19 Sep 2018, 03:24:06 hrs PST8PDT

SQL> select COMP_ID,COMP_NAME,VERSION,STATUS from DBA_REGISTRY;

SQL>  select ACTION_TIME, ACTION, COMMENTS from DBA_REGISTRY_HISTORY;

SQL> select owner,object_name,object_type,status from dba_objects where status<>'VALID';

SQL> select count(*) from dba_objects where status<>'VALID';

六、  卸載PSU

1.  卸載軟件PSU

1)  檢查文件是否存在

$ORACLE_HOME/rdbms/admin/catbundle_PSU_<SID>_ROLLBACK.sql

2)  關閉instance 和監聽

SQL> shutdown immediate;

SQL> exit

$ lsnrctl stop

3)  執行卸載命令

$ cd $ORACLE_HOME/OPatch

$ ./ opatch rollback -id 28204707

最后可能會有warnings ,可以忽略。如果是 error 就不能忽略。

2.  卸載database PSU

$ cd $ORACLE_HOME/rdbms/admin

$ sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP

SQL> @catbundle_PSU_ <SID> _ROLLBACK.sql

SQL> QUIT

3.  編譯無效對象

如果在之前的PSU 中有 OJVM PSU ,那么我們在執行完 catbundle.sql 可以看到一些無效的JAVA 類,在這種情況下,運行以下命令

$ cd $ORACLE_HOME/rdbms/admin

$ sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> @utlrp.sql

4.  檢查日志

$ cd /u01/app/oracle/cfgtoollogs/catbundle

catbundle_PSU_<database SID>_ROLLBACK_<TIMESTAMP>.log

---- end ----

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女