Oracle Patch for Single Instance

本文以12.1的oracle單機資料庫為例,更新每季出的PSU (Oracle Patch Introduction)

【目前環境】

檢查目前patch為12.1.0.2.210420 PSU 與 OJVM。

$ORACLE_HOME/OPatch/opatch lspatches
lspatches

紀錄目前sqlpatch狀態,可以看出201710與202104有更新過PSU。

##12c
SET LINESIZE 400
COLUMN action_time FORMAT A20
COLUMN action FORMAT A10
COLUMN status FORMAT A12
COLUMN description FORMAT A80
COLUMN version FORMAT A10
COLUMN bundle_series FORMAT A10

SELECT TO_CHAR(action_time, 'YYYY-MM-DD') AS action_time, 
action, 
status, 
description, 
version, 
patch_id, 
bundle_series 
FROM sys.dba_registry_sqlpatch 
ORDER by action_time;
DBA_REGISTRY_SQLPATCH

註: 從12.1.0.1 開始就以DBA_REGISTRY_SQLPATCH 來查詢PSU與BP,取代以前的DBA_REGISTRY_HISTORY

【目標Oracle Patch】

  • DB PSU :  (32768233)
  • OJVM : (32876425)
DB PSU & OJVM

【檢查OPatch版本】

opatch version

目前OPatch版本為12.2.0.1.24,根據此PSU的Readme,需要更新到12.2.0.1.25以上的版本,可以透過6880880下載最新版本的OPatch。

download latest released OPatch

置換OPatch

[oracle@dbz source]$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatchbk
[oracle@dbz source]$ unzip p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME/

置換後OPatch 版本為12.2.0.1.28

opatch version

【事前作業】

解壓縮patch

[oracle@dbz source]$ unzip p32768233_121020_Linux-x86-64.zip
[oracle@dbz source]$ unzip p32876425_121020_Linux-x86-64.zip
[oracle@dbz source]$ ls -l
drwxr-xr-x 30 oracle oinstall       4096 Jul 14 12:27 32768233
drwxr-xr-x  4 oracle oinstall       4096 Jul  6  2021 32876425
-rw-rw-r--  1 opc    opc      3970703826 Jan  5 14:10 p32768233_121020_Linux-x86-64.zip
-rw-rw-r--  1 opc    opc       141249367 Jan  5 14:11 p32876425_121020_Linux-x86-64.zip

Run OPatch Conflict Check.

opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/source/32768233
check conflict

Run OPatch SystemSpace Check

opatch prereq CheckSystemSpace -phBaseDir /u01/source/32768233
CheckSystemSpace

【更新補丁】

SQL> shutdown immediate;
$> lsnrctl stop
cd /u01/source/32768233
$ORACLE_HOME/OPatch/opatch apply
apply oracle patch
apply PSU
apply OJVM

檢查更新結果

lspatches

【事後作業】

$ > sqlplus / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose
datapatch
sqlpatch

1 thought on “Oracle Patch for Single Instance”

  1. Pingback: OPATCHAUTO-68061: return code 1. Re-link fails on target "proc", "procob" - Kxodia 肯佐迪亞

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *