ORACLE打補丁的方法和案例
打補丁使用opatch工具,具體操作方法以補丁包中的readme.txt為準
1. 檢視某個補丁是否安裝的方法(下面命令不行就升級opatch)
$ORACLE_HOME/OPatch/opatch lsinventory
2. 下載補丁包
檢視當前opatch版本。Oracle 11.2.0.1.0 自帶的opatch版本是11.1.0.6.6。補丁包的README.html中有描述該補丁或PSU需要的最低版本opatch,如果當前opatch版本過低($ORACLE_HOME/OPatch/opatch version命令可以檢視),則需要升級。
3. opatch版本升級
下載 Patch 6880880檔案(如p6880880_112000_Linux-x86-64表示64位版本linux下的),mv原來的$ORACLE_HOME/OPatch目錄,解壓Patch 6880880檔案自動生成$ORACLE_HOME/OPatch目錄即可。
4. 驗證opatch是否升級成功
$ORACLE_HOME/OPatch/opatch version
5. 關閉DB和監聽
6. 進入補丁包的目錄
7. 打補丁(Oracle軟體部分)
打補丁的命令通常是簡單的opatch apply。
$ORACLE_HOME/OPatch/opatch apply
8. 打補丁(資料庫部分,PSU補丁集升級需要執行,只升級特定的某一個補丁一般不需要執行)
SQL>STARTUP migrate
SQL>@$ORACLE_HOME/rdbms/admin/catbundle.sql psu apply
sql>shutdown
immediate
sql>startup
9. 重新編譯CPU相關檢視 (可忽略此步驟)
該步驟在一個資料庫上永遠只需要執行一次,是為了完成在2008年1月份第一次釋出CPU補丁時的後續工作,如果在安裝以前的PSU或者CPU時執行過這個步驟那麼就可以無需再次執行,另外,即使不執行該步驟,資料庫也是正常執行的,只不過意味著2008年1月份的 CPU補丁沒有正常結束安裝。
cd $ORACLE_HOME/cpu/view_recompile
sqlplus / as sysdba
SQL>@recompile_precheck_jan2008cpu.sql
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP UPGRADE
SQL>@view_recompile_jan2008cpu.sql
SQL>SHUTDOWN;
SQL>STARTUP;
SQL>exit
10.編譯無效物件
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql
11.檢視admin/*/bdump下面是否有類似檔案centdb_mmon_9603.trc一直在寫,如果有的話再重啟下DB。
12.解除安裝補丁
opatch
rollback -id 補丁號如9264253
如果打某個補丁1618213,但是沒有找到單個的補丁包,找到了多個PSU,如在MOS上找到兩個這樣的包Database 11.2.0.1 PSU Patch 18139690、Database 11.2.0.1.2 PSU Patch 18031668,我們只打後一個就可以了,因為PSU是從小到大相互包含的累計補丁包
個人升級的一次實驗:升級一個特定的補丁8574851,readme.txt沒有說明說要升級資料字典,只需要opatch apply即可,個人特意去執行SQL>@catbundle.sql psu apply還報錯了
單機與RAC打補丁8574851的區別
(a) In a non-RAC environment:
Shut down all services that are running from this ORACLE_HOME.
Confirm the return status from each shutdown command to verify
the shutdown is successful and there are no errors.
(b) In a RAC environment:
For each node in the RAC system, shut down the services for
the specific machine that are running from the ORACLE_HOME.
OPatch will be used on each node in the RAC system one at
a time. If this patch is not rolling RAC installable treat
it as a non-RAC environment and shut down all services.
As an example, in the case of a two node RAC system:
1. Stop instances running on node 1.
2. Run 'opatch apply /8574851' on node 1.
3. When the apply finishes, opatch asks for confirmation
before going on to apply the patch to node 2.
4. Start instances on node 1.
5. Stop instances running on node 2.
6. Ask opatch to continue to applying the patch to node 2.
7. Start instances on node 2.
RAC打補丁8574851的一次實驗
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2122207/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle打補丁回顧Oracle
- Oracle RAC 19.3打19.5.1 RU補丁Oracle
- windows oracle 11201打補丁報錯WindowsOracle
- Oracle Goldengate 12c打pus補丁OracleGo
- 【UP_ORACLE】如何給Oracle DG打補丁(二)備庫安裝補丁步驟Oracle
- 【UP_ORACLE】如何給Oracle DG打補丁(三)主庫安裝補丁步驟Oracle
- 【補丁】Oracle補丁的知識及術語Oracle
- ORACLE RAC的全自動 打補丁標準化文件Oracle
- 【UP_ORACLE】如何給Oracle DG打補丁(一)整體思路Oracle
- weblogic的版本及打補丁Web
- Git 打補丁-- patch 和 diff 的使用(詳細)Git
- Git 打補丁– patch 和 diff 的使用(詳細)Git
- RU 和 RUR oracle補丁說明Oracle
- Oracle 11g RAC自動打GI PSU補丁Oracle
- oracle 19c rac打補丁常見錯誤Oracle
- Oracle的OPatch補丁更新Oracle
- 如何給esxi打補丁
- Linux檔案打補丁Linux
- Oracle 19c RAC打補丁過程避坑指南Oracle
- Oracle RAC更新補丁Oracle
- GI PSU打補丁之opatch auto 自動方式分別打GI_HOME和ORACLE_HOMEOracle
- 12. Oracle版本、補丁及升級——12.2. 補丁及補丁集Oracle
- DG環境下打補丁
- 打補丁打出新的BUG來了
- Unfolder中的補丁和元素使用方法
- oracle最新補丁查詢Oracle
- Oracle補丁介紹一Oracle
- ORACLE opatch 打補丁fuser command output for /u01/.../crsctl.bin is FailureOracleAI
- 打補丁時重建Inventory目錄
- [202021127]sql打補丁問題.txtSQL
- SAP打補丁時需要注意的地方
- Oracle各版本補丁的支援週期Oracle
- 【PSU】怎麼給RAC打PSU補丁
- 19c 自動打RU補丁
- [20220330]編寫sql打補丁的指令碼.txtSQL指令碼
- ORACLE 19C RAC FOR RHEL7 打補丁報錯OPatchException: Unable to create patchObjectOracleExceptionObject
- Oracle RAC 第二節點打補丁報錯 oui-patch.xml (Permission denied)OracleUIXML
- 5.7打補丁—編譯和官方一致的Linux_Generic包編譯Linux