新聞中心
一、 規(guī)劃
企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴(kuò)展宣傳的重要窗口,一個合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺,成都創(chuàng)新互聯(lián)面向各種領(lǐng)域:成都混凝土攪拌罐等成都網(wǎng)站設(shè)計(jì)、營銷型網(wǎng)站建設(shè)解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。
數(shù)據(jù)庫版本: Oracle 11.2.0.4 單實(shí)例
操作系統(tǒng): Redhat 6.5 64-bit
PSU: p28204707_112040_Linux-x86-64.zip
OPatch: p6880880_112000_Linux-x86-64.zip
二、 思路清晰
1. 打PSU
step1: 打 PSU 前環(huán)境檢查
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 后檢查
三、 注意事項(xiàng)
1. 閱讀Readme 文檔
每個CPU/PSU 都有一個 Readme 文檔,關(guān)于該 CPU/PSU 的信息都在 Readme 文檔中,再打 CPU/PSU 之前一定要仔細(xì)閱讀。
2. Opatch
打PSU 需要用到 Opatch 工具。 Opatch 的版本必須符合補(bǔ)丁包 readme 文檔中版本要求,否則需要升級 Opatch 版本。
查看opatch 版本
$ cd $ORACLE_HOME/OPatch
$ ./opatch version
四、 打PSU 前準(zhǔn)備工作
1. 檢查instance 狀態(tài)
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl OPEN
2. 檢查數(shù)據(jù)庫版本
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. 確定定當(dāng)前存在的one-off 補(bǔ)丁是否和 PSU 沖突
$ unzip p28204707_112040_Linux-x86-64.zip
$ cd 28204707
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
6. 數(shù)據(jù)庫備份
建議在打補(bǔ)丁之前對數(shù)據(jù)庫進(jìn)行RMAN 全庫備份,避免打補(bǔ)丁出現(xiàn)意外,可以從備份中進(jìn)行恢復(fù)。
五、 打補(bǔ)丁
1. 上傳補(bǔ)丁包,解壓
$ unzip p28204707_112040_Linux-x86-64.zip
2. 查看當(dāng)前OPatch 版本
$ cd /u01/app/oracle/product/11.2.0/db_1/OPatch/
$ ./opatch version
OPatch Version: 11.2.0.3.4
3. 更新Opatch
如果發(fā)現(xiàn)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) 關(guān)閉Instance 和 listener
SQL> shutdown immediate;
SQL> exit
$ lsnrctl stop
2) 查看當(dāng)前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 ,那么我們在執(zhí)行完 catbundle.sql 后 可以看到一些無效的JAVA 類,在這種情況下,運(yùn)行以下命令
$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
6) 檢查補(bǔ)丁日志看看有沒有報(bào)錯
$cd /u01/app/oracle/cfgtoollogs/catbundle
catbundle_PSU_
catbundle_PSU_
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_
2) 關(guān)閉instance 和監(jiān)聽
SQL> shutdown immediate;
SQL> exit
$ lsnrctl stop
3) 執(zhí)行卸載命令
$ 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_
SQL> QUIT
3. 編譯無效對象
如果在之前的PSU 中有 OJVM PSU ,那么我們在執(zhí)行完 catbundle.sql 后 可以看到一些無效的JAVA 類,在這種情況下,運(yùn)行以下命令
$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
4. 檢查日志
$ cd /u01/app/oracle/cfgtoollogs/catbundle
catbundle_PSU_
---- end ----
名稱欄目:【PSU】Oracle打PSU及卸載PSU(單實(shí)例)
本文來源:http://www.dlmjj.cn/article/pjohcp.html