本文以12.1的oracle單機資料庫為例,更新每季出的PSU
【目前環境】
檢查目前patch為12.1.0.2.210420 PSU 與 OJVM。
$ORACLE_HOME/OPatch/opatch 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;
註:
從12.1.0.1 開始就以DBA_REGISTRY_SQLPATCH 來查詢PSU與BP,取代以前的DBA_REGISTRY_HISTORY
【目標補丁】
- DB PSU : (32768233)
- OJVM : (32876425)
【檢查OPatch】
目前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
【事前作業】
解壓縮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
Run OPatch SystemSpace Check
opatch prereq CheckSystemSpace -phBaseDir /u01/source/32768233
【更新補丁】
SQL> shutdown immediate;
$> lsnrctl stop
cd /u01/source/32768233
$ORACLE_HOME/OPatch/opatch apply
檢查更新結果
【事後作業】
$ > sqlplus / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose