Critical Patch Update (CPU) Program Oct 2025 Patch Availability Document (DB-only) (Doc ID 3102899.1)

패치작업 19.29.0.0.251021 (GI RU 38298204 )

Database Patch Set Update : 19.29.0.0.251021 (38291812)
OCW Patch Set Update      : 19.29.0.0.251021 (38322923)
ACFS Patch Set Update     : 19.29.0.0.251021 (38311528)
Tomcat Release Update     : 19.0.0.0.0       (38380425)
DBWLM Release Update      : 19.0.0.0.0       (36758186)

Oracle Grid Infrastructure Patch Set Update 19.29.0.0.251021 
-------------------------------------
GI_HOME, ORACLE_HOME 을 개별로 각각 할때

- grid 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/38298204/38291812
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/38298204/38322923
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/38298204/38311528
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/38298204/36758186
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/38298204/38380425

- oracle 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/38298204/38291812
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/38298204/38322923

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

(root 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/crs/install/rootcrs.sh -prepatch 

(grid 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
cd /u01/patch
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/38298204/38322923 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/38298204/38311528 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/38298204/38291812 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/38298204/36758186 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local /u01/patch/38298204/38380425 -silent

(oracle 유저)
export ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
cd /u01/patch
./38298204/38322923/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /u01/patch/38298204/38322923 -silent
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /u01/patch/38298204/38291812 -silent
./38298204/38322923/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME 

(root 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch 

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name> 

- Loading Modified SQL Files into the Database
sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

### [롤백하는 경우] ###########

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

GI Home
(root로)
$GI_HOME/crs/install/rootcrs.sh -prepatch -rollback

(grid 유저로)
export GI_HOME=/u01/app/19.0.0.0/grid
cd /u01/install
$GI_HOME/OPatch/opatch nrollback -local -id 38322923,38311528,38291812,36758186,38380425 -oh $GI_HOME -silent

(oracle 유저로)
export ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
cd /u01/install
./38298204 /38322923/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME 
$ORACLE_HOME/OPatch/opatch nrollback -local -id 38322923,38291812 -oh /u01/app/oracle/product/19.0.0.0/dbhome_1 -silent
./38298204 /38322923/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME

Run post script
(root로)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch -rollback

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>

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

Posted by pat98

설치 로그를 모니터링하다가 귀찮아서 만들어 봄.

 

보통 작업할때 tail 명령어로 지금 생성되고 있는 로그화일 하나만 모니터링 하게 되는데..

특정 디렉토리 위치에 계속 화일 이름이 바뀌면서 시간순으로 쌓이고 있을때 매번 여는게 아니라 계속 끊김없이 보기 위해 만들어 보았다. (오라클의 경우 dbca 로그 등등)

 

- 단순하게 시간순으로 kill 하고 보면 되는거라 작동은 잘 되는듯 하다. (디렉토리 위치와 interval 5초만 수정하면 됨)

 

#!/bin/bash
DIR="/u01/app/oracle/cfgtoollogs/dbca/CDB"
LAST_FILE=""

while true; do
  NEW_FILE=$(ls -t "$DIR" | head -n 1)
  if [[ "$NEW_FILE" != "$LAST_FILE" ]]; then
    echo ">>> lastest file changed : $NEW_FILE"
    LAST_FILE="$NEW_FILE"
    pkill -P $$ tail 2>/dev/null   # previous process teminated
    tail -f "$DIR/$NEW_FILE" &
  fi
  sleep 5
done

Posted by pat98

11-03 04:57
Flag Counter
Yesterday
Today
Total

글 보관함

최근에 올라온 글

달력

 « |  » 2025.11
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

최근에 달린 댓글