본 테스트는 Oracle 2Node RAC 12cR2 nonCDB DB를 Oracle 19c CDB로 Upgrade하는 테스트 절차를 정리한 것임
1. 테스트 환경 정보
--1번 노드
[DRDB1:oracle@rdb01d][/home/oracle]$ cat > make_all_orainfo.sh
<<'EOF'
#!/bin/bash
# 공통
정보
echo "========================================"
echo
" Oracle/Grid OS Info Summary"
echo
"========================================"
echo -n
"Hostname : "; hostname
echo -n "IP
Address : "; hostname -i
echo -n "OS
Name : "; grep -i pretty_name /etc/os-release |
cut -d= -f2 | tr -d '"'
echo -n "Kernel Ver : "; uname -r
echo
"========================================"
# Grid Home
정보
if [[ -n "$GRID_HOME" ]]; then
echo "[GRID_HOME:
$GRID_HOME]"
echo -n "GRID Version : "
$GRID_HOME/bin/sqlplus -S / as sysdba <<EOQ | head -1
SET TIMING
OFF
SET PAGESIZE 0
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING
OFF
SET ECHO OFF
SELECT banner FROM v\$version WHERE
rownum=1;
EXIT
EOQ
echo "<GRID Patch Info>"
su -
grid -c "$GRID_HOME/OPatch/opatch lspatches"
echo
"----------------------------------------"
else
echo "[GRID_HOME
not set, skip grid info]"
fi
# Oracle
Home 정보
if [[ -n "$DB_HOME" ]]; then
echo "[DB_HOME:
$DB_HOME]"
echo -n "DB Version : "
$DB_HOME/bin/sqlplus -S / as sysdba <<EOQ | head -1
SET TIMING
OFF
SET PAGESIZE 0
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING
OFF
SET ECHO OFF
SELECT banner FROM v\$version WHERE
rownum=1;
EXIT
EOQ
echo "<DB Patch Info>"
su -
oracle -c "$DB_HOME/OPatch/opatch lspatches"
echo
"----------------------------------------"
else
echo "[DB_HOME not
set, skip DB info]"
fi
echo
"========================================"
EOF
[DRDB1:oracle@rdb01d][/home/oracle]$ sh
make_all_orainfo.sh
========================================
Oracle/Grid OS Info
Summary
========================================
Hostname
: rdb01d
IP Address : 192.168.0.31
OS
Name : Oracle Linux Server 7.9
Kernel
Ver :
5.4.17-2102.201.3.el7uek.x86_64
========================================
[GRID_HOME:
/u01/app/12c/grid]
GRID Version : Oracle Database 12c Enterprise Edition
Release 12.2.0.1.0 - 64bit Production
<GRID Patch
Info>
Password:
33587128;Database Jan 2022 Release Update :
12.2.0.1.220118 (33587128)
33116894;ACFS JUL 2021 RELEASE UPDATE
12.2.0.1.210720 (33116894)
26839277;DBWLM RELEASE UPDATE
12.2.0.1.0(ID:170913) (26839277)
33610989;TOMCAT RELEASE UPDATE
12.2.0.1.0(ID:RELEASE) (33610989)
33678030;OCW JAN 2022 RELEASE UPDATE
12.2.0.1.220118 (33678030)
OPatch
succeeded.
----------------------------------------
[DB_HOME:
/u01/app/oracle/product/12c/db_1]
DB Version : Oracle Database
12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
<DB Patch
Info>
Password:
33587128;Database Jan 2022 Release Update :
12.2.0.1.220118 (33587128)
33678030;OCW JAN 2022 RELEASE UPDATE
12.2.0.1.220118 (33678030)
OPatch
succeeded.
----------------------------------------
========================================
--2번 노드
[DRDB2:oracle@rdb02d][/home/oracle]$ cat > make_all_orainfo.sh
<<'EOF'
#!/bin/bash
# 공통
정보
echo "========================================"
echo
" Oracle/Grid OS Info Summary"
echo
"========================================"
echo -n
"Hostname : "; hostname
echo -n "IP
Address : "; hostname -i
echo -n "OS
Name : "; grep -i pretty_name /etc/os-release |
cut -d= -f2 | tr -d '"'
echo -n "Kernel Ver : "; uname -r
echo
"========================================"
# Grid Home
정보
if [[ -n "$GRID_HOME" ]]; then
echo "[GRID_HOME:
$GRID_HOME]"
echo -n "GRID Version : "
$GRID_HOME/bin/sqlplus -S / as sysdba <<EOQ | head -1
SET TIMING
OFF
SET PAGESIZE 0
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING
OFF
SET ECHO OFF
SELECT banner FROM v\$version WHERE
rownum=1;
EXIT
EOQ
echo "<GRID Patch Info>"
su -
grid -c "$GRID_HOME/OPatch/opatch lspatches"
echo
"----------------------------------------"
else
echo "[GRID_HOME
not set, skip grid info]"
fi
# Oracle
Home 정보
if [[ -n "$DB_HOME" ]]; then
echo "[DB_HOME:
$DB_HOME]"
echo -n "DB Version : "
$DB_HOME/bin/sqlplus -S / as sysdba <<EOQ | head -1
SET TIMING
OFF
SET PAGESIZE 0
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING
OFF
SET ECHO OFF
SELECT banner FROM v\$version WHERE
rownum=1;
EXIT
EOQ
echo "<DB Patch Info>"
su -
oracle -c "$DB_HOME/OPatch/opatch lspatches"
echo
"----------------------------------------"
else
echo "[DB_HOME not
set, skip DB info]"
fi
echo
"========================================"
EOF
[DRDB2:oracle@rdb02d][/home/oracle]$ sh
make_all_orainfo.sh
========================================
Oracle/Grid OS Info
Summary
========================================
Hostname
: rdb02d
IP Address : 192.168.0.32
OS
Name : Oracle Linux Server 7.9
Kernel
Ver :
5.4.17-2102.201.3.el7uek.x86_64
========================================
[GRID_HOME:
/u01/app/12c/grid]
GRID Version : Oracle Database 12c Enterprise Edition
Release 12.2.0.1.0 - 64bit Production
<GRID Patch
Info>
Password:
33587128;Database Jan 2022 Release Update :
12.2.0.1.220118 (33587128)
33116894;ACFS JUL 2021 RELEASE UPDATE
12.2.0.1.210720 (33116894)
26839277;DBWLM RELEASE UPDATE
12.2.0.1.0(ID:170913) (26839277)
33610989;TOMCAT RELEASE UPDATE
12.2.0.1.0(ID:RELEASE) (33610989)
33678030;OCW JAN 2022 RELEASE UPDATE
12.2.0.1.220118 (33678030)
OPatch
succeeded.
----------------------------------------
[DB_HOME:
/u01/app/oracle/product/12c/db_1]
DB Version : Oracle Database
12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
<DB Patch
Info>
Password:
33587128;Database Jan 2022 Release Update :
12.2.0.1.220118 (33587128)
33678030;OCW JAN 2022 RELEASE UPDATE
12.2.0.1.220118 (33678030)
OPatch
succeeded.
----------------------------------------
========================================
[2025-07-18:22:26:18][rdb01d]<SYS@DRDB1>
col instance_name for a20
col host_name for a20
col
version for a20
col database_type for a20
SELECT INSTANCE_NUMBER, INSTANCE_NAME, HOST_NAME, VERSION, EDITION, DATABASE_TYPE FROM GV$INSTANCE;
INSTANCE_NUMBER INSTANCE_NAME
HOST_NAME
VERSION
EDITION
DATABASE_TYPE
--------------- -------------------- --------------------
-------------------- ---------------------
--------------------
1
DRDB1
rdb01d
12.2.0.1.0
EE
RAC
2
DRDB2
rdb02d
12.2.0.1.0
EE
RAC
2 rows selected.
Elapsed: 00:00:00.02
[DRDB1:oracle@rdb01d][/home/oracle]$ olsnodes
-n
rdb01d 1
rdb02d 2
[DRDB1:oracle@rdb01d][/home/oracle]$ srvctl status database -db
drdb
Instance DRDB1 is running on node rdb01d
Instance DRDB2 is running on
node rdb02d
[DRDB1:oracle@rdb01d][/home/oracle]$ srvctl config database -db
drdb
Database unique name: DRDB
Database name:
Oracle home:
/u01/app/oracle/product/12c/db_1
Oracle user: oracle
Spfile:
+DATA1/DRDB/PARAMETERFILE/spfile.268.1198106043
Password file:
+DATA1/DRDB/PASSWORD/pwddrdb.256.1196204543
Domain:
Start options:
open
Stop options: immediate
Database role: PRIMARY
Management policy:
AUTOMATIC
Server pools:
Disk Groups: FRA1,DATA1
Mount point
paths:
Services:
Type: RAC
Start concurrency:
Stop
concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances:
DRDB1,DRDB2
Configured nodes: rdb01d,rdb02d
CSS critical: no
CPU count:
0
Memory target: 0
Maximum memory: 0
Default network number for
database services:
Database is administrator managed
[DRDB1:oracle@rdb01d][/home/oracle]$ crsctl stat res
-t
--------------------------------------------------------------------------------
Name
Target State
Server
State
details
--------------------------------------------------------------------------------
Local
Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.CRS.dg
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.DATA1.dg
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.FRA1.dg
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.LISTENER.lsnr
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.MGMT.dg
ONLINE ONLINE
rdb01d
STABLE
OFFLINE OFFLINE
rdb02d
STABLE
ora.net1.network
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.ons
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
--------------------------------------------------------------------------------
Cluster
Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE
ONLINE
rdb02d
STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE
ONLINE
rdb01d
STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE
ONLINE
rdb01d
STABLE
ora.MGMTLSNR
1 ONLINE
ONLINE
rdb01d
169.254.50.53
10.0.0
.31,STABLE
ora.asm
1 ONLINE
ONLINE
rdb01d
Started,STABLE
2 ONLINE
ONLINE
rdb02d
Started,STABLE
3 OFFLINE
OFFLINE
STABLE
ora.cvu
1 ONLINE
ONLINE
rdb01d
STABLE
ora.drdb.db
1 ONLINE
ONLINE
rdb01d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
2 ONLINE
ONLINE
rdb02d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
ora.mgmtdb
1 ONLINE
ONLINE
rdb01d
Open,STABLE
ora.qosmserver
1 ONLINE
ONLINE
rdb01d
STABLE
ora.rdb01d.vip
1 ONLINE
ONLINE
rdb01d
STABLE
ora.rdb02d.vip
1 ONLINE
ONLINE
rdb02d
STABLE
ora.scan1.vip
1 ONLINE
ONLINE
rdb02d
STABLE
ora.scan2.vip
1 ONLINE
ONLINE
rdb01d
STABLE
ora.scan3.vip
1 ONLINE
ONLINE
rdb01d
STABLE
--------------------------------------------------------------------------------
[DRDB1:oracle@rdb01d][/home/oracle]$
ocrcheck
Status of Oracle Cluster Registry is as follows
:
Version
:
4
Total space
(kbytes) :
409568
Used space
(kbytes) :
2008
Available space
(kbytes) :
407560
ID
: 1537392064
Device/File
Name
:
+CRS
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check bypassed due to non-privileged user
[DRDB1:oracle@rdb01d][/home/oracle]$ crsctl query css
votedisk
## STATE File Universal
Id
File Name Disk group
-- -----
-----------------
--------- ---------
1. ONLINE
de09ddda92054fd8bf647c70a813af35 (/dev/sdc) [CRS]
2. ONLINE
c0900515c8054fdabfe233c5fc5f1ae2 (/dev/sdb) [CRS]
3. ONLINE
e200ea55077f4f8dbf22d0188ce9e1f0 (/dev/sdd) [CRS]
Located 3 voting
disk(s).
[DRDB1:oracle@rdb01d][/home/oracle]$ srvctl config
asm
ASM home: <CRS home>
Password file: +CRS/orapwASM
Backup of
Password file:
ASM listener: LISTENER
ASM instance count: 3
Cluster ASM
listener: ASMNET1LSNR_ASM
[+ASM1:grid@rdb01d][/home/grid]$ asmcmd
lsdg
State Type Rebal Sector
Logical_Sector Block AU
Total_MB Free_MB Req_mir_free_MB Usable_file_MB
Offline_disks Voting_files Name
MOUNTED NORMAL
N
512
512 4096 4194304
6144
5276
2048
1614
0
Y CRS/
MOUNTED EXTERN
N
512
512 4096 4194304
40960
32516
0
32516
0
N DATA1/
MOUNTED EXTERN
N
512
512 4096 4194304
26624
20532
0
20532
0
N FRA1/
MOUNTED EXTERN
N
512
512 4096 4194304
40960
35628
0
35628
0
N MGMT/
2. GRID Upgrade 전 grid 엔진 관련 모두 백업
--1번 노드
[root@rdb01d][/root]$ mkdir -pv
/tmp/backup_before_upgrade
mkdir: created directory
‘/tmp/backup_before_upgrade’
[root@rdb01d][/root]$ chmod 777 /tmp/backup_before_upgrade/
[root@rdb01d][/root]$ ocrconfig -export
/tmp/backup_before_upgrade/ocr_backup_20250718
PROT-58: successfully exported the
Oracle Cluster Registry contents to file
'/tmp/backup_before_upgrade/ocr_backup_20250718'
[root@rdb01d][/root]$ ocrconfig -local -export
/tmp/backup_before_upgrade/ocr_local_backup_20250718
PROTL-58: successfully exported the Oracle Local Registry contents to
file '/tmp/backup_before_upgrade/ocr_local_backup_20250718'
[root@rdb01d][/root]$ ocrconfig -manualbackup
rdb01d 2025/07/18 22:53:57 +MGMT:/drdb2/OCRBACKUP/backup_20250718_225357.ocr.279.1206831239 3975995681
--grid os
user
[+ASM1:grid@rdb01d][/home/grid]$ asmcmd
cp +MGMT/drdb2/OCRBACKUP/backup_20250718_225357.ocr.279.1206831239
/tmp/backup_before_upgrade
copying
+MGMT/drdb2/OCRBACKUP/backup_20250718_225357.ocr.279.1206831239 ->
/tmp/backup_before_upgrade/backup_20250718_225357.ocr.279.1206831239
--OLR 파일 위치 확인
[+ASM1:grid@rdb01d][/home/grid]$ ls -l
$GRID_HOME/cdata/
total 1712
drwxrwxr-x. 2 grid
oinstall 6 May 31 17:11
drdb2
drwxr-xr-x. 2 grid
oinstall 6 Jan 27 2017
localhost
drwxr-xr-x. 2 grid oinstall 4096 Jul
18 22:59 rdb01d
-rw-------. 1 root oinstall 503484416 Jul 19 10:00
rdb01d.olr
--OLR 백업
[root@rdb01d][/root]$ ocrconfig -local -manualbackup
rdb01d 2025/07/18 22:59:24 /u01/app/12c/grid/cdata/rdb01d/backup_20250718_225924.olr 3975995681
[+ASM1:grid@rdb01d][/home/grid]$ cp /u01/app/12c/grid/cdata/rdb01d/backup_20250718_225924.olr /tmp/backup_before_upgrade
--그리드 엔진
백업
[root@rdb01d][/root]$ echo
$GRID_HOME
/u01/app/12c/grid
[root@rdb01d][/root]$ tar -cvzf /tmp/backup_before_upgrade/grid_engine_backup.tar.gz $GRID_HOME
--asm
instance parameter file 백업
[+ASM1:grid@rdb01d][/home/grid]$ alias sa
alias sa='rlwrap sqlplus "/as sysasm"'< /STRONG>
[+ASM1:grid@rdb01d][/home/grid]$ sa
SQL*Plus: Release 12.2.0.1.0 Production on Fri Jul 18 23:04:52 2025
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 -
64bit Production
SQL> set linesize 300
SQL> show parameter spfile
NAME
TYPE
VALUE
------------------------------------ ---------------------------------
------------------------------
spfile
string
+CRS/drdb2/ASMPARAMETERFILE/re
gistry.253.1202577667
<
/STRONG>
SQL> create pfile='/tmp/backup_before_upgrade/asm_pfile.ora' from spfile;< /STRONG>
File created.
SQL> host ls -l
/tmp/backup_before_upgrade/asm_pfile.ora
-rw-r--r--. 1 grid oinstall 381 Jul 18 23:05
/tmp/backup_before_upgrade/asm_pfile.ora
SQL> quit
Disconnected from Oracle Database 12c Enterprise Edition Release
12.2.0.1.0 - 64bit Production
[root@rdb01d][/root]$ ls -l
/etc/rc.d/init.d
total 104
-rw-r--r--.
1 root root 18281 May 22 2020 functions
-rwxr-xr-x. 1 root root 15336
May 31 17:18 init.ohasd
-rwxr-xr-x. 1 root root 21310 Mar 18 00:08
init.tfa
-rwxr-xr-x. 1 root root 4569 May 22 2020
netconsole
-rwxr-xr-x. 1 root root 9198 Oct 2 2020
network
-rwxr-xr-x. 1 root root 7283 May 31 17:18 ohasd
-rwxr-xr-x.
1 root root 4954 Feb 4 2018 oracleasm
-rw-r--r--. 1 root
root 1160 Oct 2 2020 README
-rwxr-xr-x. 1 root root 2437 Feb
6 2018 rhnsd
[root@rdb01d][/root]$ tar czvf
/tmp/backup_before_upgrade/etc_rc.d_init.d.tar.gz -C /etc/rc.d
init.d
init.d/
init.d/README
init.d/functions
init.d/netconsole
init.d/network
init.d/rhnsd
init.d/oracleasm
init.d/init.tfa
init.d/init.ohasd
init.d/ohasd
[root@rdb01d][/root]$ tar tzvf
/tmp/backup_before_upgrade/etc_rc.d_init.d.tar.gz
drwxr-xr-x
root/root 0 2025-05-31 17:18
init.d/
-rw-r--r-- root/root 1160 2020-10-02
22:09 init.d/README
-rw-r--r-- root/root 18281
2020-05-22 19:44 init.d/functions
-rwxr-xr-x
root/root 4569 2020-05-22 19:44
init.d/netconsole
-rwxr-xr-x root/root 9198
2020-10-02 00:53 init.d/network
-rwxr-xr-x
root/root 2437 2018-02-06 14:47
init.d/rhnsd
-rwxr-xr-x root/root 4954
2018-02-04 01:15 init.d/oracleasm
-rwxr-xr-x
root/root 21310 2025-03-18 00:08
init.d/init.tfa
-rwxr-xr-x root/root 15336 2025-05-31
17:18 init.d/init.ohasd
-rwxr-xr-x
root/root 7283 2025-05-31 17:18
init.d/ohasd
--만약 복구한다고
가정 시
tar xpvzf
/tmp/backup_before_upgrade/etc_rc.d_init.d.tar.gz -C
/etc/rc.d
[root@rdb01d][/dev]$ tar cvzf
/tmp/backup_before_upgrade/opt.tar.gz /opt
...생략
/opt/oracle.ahf/bin/
/opt/oracle.ahf/bin/tfactl
/opt/oracle.ahf/bin/orachk
/opt/oracle.ahf/bin/oerr
/opt/oracle.ahf/bin/ahfctl
/opt/oracle.ahf/analyzer/
/opt/oracle.ahf/install.properties
[root@rdb01d][/opt]$ cat
/etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
[root@rdb01d][/opt]$ cp -rp /u01/app/oraInventory /tmp/backup_before_upgrade/u01_app_oraInventory
[root@rdb01d][/etc]$ cp /etc/oratab /tmp/backup_before_upgrade/etc_oratab
[root@rdb01d][/etc/oracle]$ tar cvzf
/tmp/backup_before_upgrade/etc_oracle.tar.gz -C /etc/
oracle
oracle/
oracle/maps/
oracle/maps/gipcds_gipc_diag_06c65af9ae12ff40fff4fe92704d058c_rdb01d_lock
oracle/maps/rdb01d_gipcd1318_06c65af9ae12ff40fff4fe92704d058c-0000000000
oracle/maps/gipcds_gipc_diag_06c65af9ae12ff40fff4fe92704d058c_rdb01d-0000000000
oracle/maps/gipcds_gipc_diag_1352c79eb69c7f43bfa905789726b681_rdb01d_lock
oracle/maps/rdb01d_gipcd1318_1352c79eb69c7f43bfa905789726b681-0000000000
oracle/maps/gipcds_gipc_diag_1352c79eb69c7f43bfa905789726b681_rdb01d-0000000000
oracle/lastgasp/
oracle/lastgasp/cssmonit_rdb01d.lgl
oracle/lastgasp/cssagent_rdb01d.lgl
oracle/oprocd/
oracle/oprocd/check/
oracle/oprocd/stop/
oracle/oprocd/fatal/
oracle/scls_scr/
oracle/scls_scr/rdb01d/
oracle/scls_scr/rdb01d/grid/
oracle/scls_scr/rdb01d/grid/cssfatal
oracle/scls_scr/rdb01d/root/
oracle/scls_scr/rdb01d/root/crsstart
oracle/scls_scr/rdb01d/root/ohasdrun
oracle/scls_scr/rdb01d/root/ohasdinitpid
oracle/scls_scr/rdb01d/root/ohasdstr
oracle/olr.loc
oracle/ocr.loc
oracle/ocr.loc.orig
oracle/olr.loc.orig
oracle/setasmgid
[root@rdb01d][/etc/oracle]$ tar tvzf
/tmp/backup_before_upgrade/etc_oracle.tar.gz
drwxr-xr-x
root/oinstall 0 2025-05-31 18:03 oracle/
drwxrwxrwt
root/oinstall 0 2025-07-18 22:15
oracle/maps/
-rwxrw---- grid/oinstall 0 2025-05-31
12:52
oracle/maps/gipcds_gipc_diag_06c65af9ae12ff40fff4fe92704d058c_rdb01d_lock
-rw-r-----
grid/oinstall 10485960 2025-05-31 15:42
oracle/maps/rdb01d_gipcd1318_06c65af9ae12ff40fff4fe92704d058c-0000000000
-rw-r-----
grid/oinstall 66304 2025-05-31 15:43
oracle/maps/gipcds_gipc_diag_06c65af9ae12ff40fff4fe92704d058c_rdb01d-0000000000
-rwxrw----
grid/oinstall 0 2025-07-18 22:15
oracle/maps/gipcds_gipc_diag_1352c79eb69c7f43bfa905789726b681_rdb01d_lock
-rw-r-----
grid/oinstall 10485960 2025-07-18 22:18
oracle/maps/rdb01d_gipcd1318_1352c79eb69c7f43bfa905789726b681-0000000000
-rw-r-----
grid/oinstall 66304 2025-07-19 10:11
oracle/maps/gipcds_gipc_diag_1352c79eb69c7f43bfa905789726b681_rdb01d-0000000000
drwxrwx---
root/oinstall 0 2025-05-31 17:23
oracle/lastgasp/
-rwxr--r--
root/root 4096 2025-05-31 17:23
oracle/lastgasp/cssmonit_rdb01d.lgl
-rwxr--r--
root/root 4096 2025-05-31 17:23
oracle/lastgasp/cssagent_rdb01d.lgl
drwxrwxr-x
root/oinstall 0 2025-05-31 17:15
oracle/oprocd/
drwxrwx---
root/oinstall 0 2025-05-31 17:15
oracle/oprocd/check/
drwxrwx---
root/oinstall 0 2025-05-31 17:15
oracle/oprocd/stop/
drwxrwx---
root/oinstall 0 2025-05-31 17:15
oracle/oprocd/fatal/
drwxr-xr-x
root/oinstall 0 2025-05-31 17:15
oracle/scls_scr/
drwxr-xr-x
root/oinstall 0 2025-05-31 17:17
oracle/scls_scr/rdb01d/
drwxr-xr-x
grid/root 0
2025-05-31 17:17 oracle/scls_scr/rdb01d/grid/
-rw-r--r--
grid/root 8
2025-05-31 18:04 oracle/scls_scr/rdb01d/grid/cssfatal
drwxr-xr-x
root/root 0
2025-05-31 17:18 oracle/scls_scr/rdb01d/root/
-rw-r--r--
root/root 7
2025-05-31 18:04 oracle/scls_scr/rdb01d/root/crsstart
-rw-r--r--
root/oinstall 8 2025-07-18 22:15
oracle/scls_scr/rdb01d/root/ohasdrun
-rw-r--r--
root/root 5
2025-07-18 22:15 oracle/scls_scr/rdb01d/root/ohasdinitpid
-rw-r--r--
root/oinstall 7 2025-05-31 18:04
oracle/scls_scr/rdb01d/root/ohasdstr
-rw-r--r--
root/oinstall 76 2025-05-31 17:17
oracle/olr.loc
-rw-r--r-- root/oinstall 162
2025-05-31 17:21 oracle/ocr.loc
-rw-r--r--
root/root 0
2025-05-31 17:17 oracle/ocr.loc.orig
-rw-r--r--
root/root 0
2025-05-31 17:17 oracle/olr.loc.orig
-rws--x---
root/oinstall 3594456 2025-05-31 18:03
oracle/setasmgid
[+ASM1:grid@rdb01d][/home/grid]$ asmcmd
md_backup /tmp/backup_before_upgrade/alldg
Disk group metadata to be backed up:
CRS
Disk group metadata to be backed up: DATA1
Disk group metadata to be
backed up: FRA1
Disk group metadata to be backed up: MGMT
Current alias
directory path: drdb2
Current alias directory path: ASM
Current alias
directory path: ASM/PASSWORD
Current alias directory path:
drdb2/OCRFILE
Current alias directory path: drdb2/ASMPARAMETERFILE
Current
alias directory path: DRDB/TEMPFILE
Current alias directory path:
DRDB/DATAGUARDCONFIG
Current alias directory path: DRDB/ONLINELOG
Current
alias directory path: DRDB
Current alias directory path:
DRDB/CONTROLFILE
Current alias directory path: DRDB/PARAMETERFILE
Current
alias directory path: DRDB/PASSWORD
Current alias directory path:
ADG
Current alias directory path: DRDB/DATAFILE
Current alias directory
path: DRDB/ARCHIVELOG/2025_06_20
Current alias directory path:
DRDB/ARCHIVELOG/2025_06_11
Current alias directory path:
DRDB/CONTROLFILE
Current alias directory path: DRDB/FLASHBACK
Current
alias directory path: DRDB/ONLINELOG
Current alias directory path:
DRDB/ARCHIVELOG/2025_05_04
Current alias directory path:
DRDB/ARCHIVELOG/2025_07_18
Current alias directory path:
DRDB/ARCHIVELOG
Current alias directory path: DRDB
Current alias directory
path: DRDB/ARCHIVELOG/2025_06_21
Current alias directory path:
DRDB/ARCHIVELOG/2025_06_10
Current alias directory path:
_mgmtdb/4700AA69A9563E5FE05387E5E50AC8DA/DATAFILE
Current alias directory
path: _mgmtdb/TEMPFILE
Current alias directory path:
_mgmtdb/ONLINELOG
Current alias directory path: _mgmtdb
Current alias
directory path: ASM/PASSWORD
Current alias directory path:
_mgmtdb/366C191D568F0626E0631F00A8C05679
Current alias directory path:
_mgmtdb/DATAFILE
Current alias directory path: _mgmtdb/CONTROLFILE
Current
alias directory path: drdb2/OCRBACKUP
Current alias directory path:
_mgmtdb/366C191D568F0626E0631F00A8C05679/TEMPFILE
Current alias directory
path: drdb2
Current alias directory path: ASM
Current alias directory
path: _mgmtdb/366C191D568F0626E0631F00A8C05679/DATAFILE
Current alias
directory path: _mgmtdb/PARAMETERFILE
Current alias directory path:
_mgmtdb/366BFEE4F11B20B3E0631F00A8C0F448
Current alias directory path:
_mgmtdb/4700AA69A9563E5FE05387E5E50AC8DA
Current alias directory path:
_mgmtdb/366BFEE4F11B20B3E0631F00A8C0F448/TEMPFILE
--2번 노드
[root@rdb02d][/root]$ mkdir -pv
/tmp/backup_before_upgrade
mkdir: created directory
‘/tmp/backup_before_upgrade’
[root@rdb02d][/root]$ chmod 777 /tmp/backup_before_upgrade/
[root@rdb02d][/root]$ ocrconfig -export
/tmp/backup_before_upgrade/ocr_backup_20250718
PROT-58: successfully exported the Oracle Cluster Registry contents to
file '/tmp/backup_before_upgrade/ocr_backup_20250718'
[root@rdb02d][/root]$ ocrconfig -local
-export /tmp/backup_before_upgrade/ocr_local_backup_20250718
PROTL-58: successfully exported the Oracle Local Registry contents to
file '/tmp/backup_before_upgrade/ocr_local_backup_20250718'
[root@rdb02d][/root]$ ocrconfig
-manualbackup
rdb01d 2025/07/19 10:18:08 +MGMT:/drdb2/OCRBACKUP/backup_20250719_101808.ocr.282.1206872289 3975995681
rdb01d 2025/07/19 00:04:08 +MGMT:/drdb2/OCRBACKUP/backup_20250719_000408.ocr.283.1206835449 3975995681
rdb01d 2025/07/18 22:53:57 +MGMT:/drdb2/OCRBACKUP/backup_20250718_225357.ocr.279.1206831239 3975995681
--grid os user (1번 노드로 가서)
[+ASM1:grid@rdb01d][/home/grid]$ asmcmd cp
+MGMT/drdb2/OCRBACKUP/backup_20250718_225357.ocr.279.1206831239
/tmp/backup_before_upgrade
copying
+MGMT/drdb2/OCRBACKUP/backup_20250718_225357.ocr.279.1206831239 ->
/tmp/backup_before_upgrade/backup_20250718_225357.ocr.279.1206831239
--OLR 파일
위치 확인
[root@rdb02d][/root]$ ls -l
$GRID_HOME/cdata/
total
1688
drwxrwxr-x. 2 grid
oinstall 6 May 31 18:07
drdb2
drwxr-xr-x. 2 grid
oinstall 6 May 31 18:07
localhost
drwxr-xr-x. 2 grid oinstall 4096 Jul
19 00:11 rdb02d
-rw-------. 1 root oinstall 503484416 Jul 19 10:21
rdb02d.olr
--OLR 백업
[root@rdb02d][/root]$ ocrconfig -local
-manualbackup
rdb02d 2025/07/19 10:21:42 /u01/app/12c/grid/cdata/rdb02d/backup_20250719_102142.olr 3975995681
rdb02d 2025/07/19 00:11:31 /u01/app/12c/grid/cdata/rdb02d/backup_20250719_001131.olr 3975995681
rdb02d 2025/05/31 18:11:22 /u01/app/12c/grid/cdata/rdb02d/backup_20250531_181122.olr 3975995681
[root@rdb02d][/root]$ cp /u01/app/12c/grid/cdata/rdb02d/backup_20250719_102142.olr /tmp/backup_before_upgrade
[root@rdb02d][/root]$ echo
$GRID_HOME
/u01/app/12c/grid
--그리드 엔진 백업
[root@rdb02d][/root]$ tar -cvzf /tmp/backup_before_upgrade/grid_engine_backup.tar.gz $GRID_HOME
--asm
instance parameter file 백업
[+ASM2:grid@rdb02d][/home/grid]$ alias sa
alias sa='rlwrap sqlplus "/as sysasm"'< /STRONG>
[+ASM2:grid@rdb02d][/home/grid]$ sa
SQL*Plus: Release 12.2.0.1.0 Production on Sat Jul 19 10:22:49 2025
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 -
64bit Production
SQL> set linesize 300
SQL> show parameter spfile
NAME
TYPE
VALUE
------------------------------------ ---------------------------------
------------------------------
spfile
string
+CRS/drdb2/ASMPARAMETERFILE/re
gistry.253.1202577667
<
/STRONG>
SQL> create pfile='/tmp/backup_before_upgrade/asm_pfile.ora' from spfile;< /STRONG>
File created.
SQL> host ls -l
/tmp/backup_before_upgrade/asm_pfile.ora
-rw-r--r--. 1 grid oinstall 381 Jul 19 10:23
/tmp/backup_before_upgrade/asm_pfile.ora
SQL> quit
Disconnected from Oracle Database 12c Enterprise Edition Release
12.2.0.1.0 - 64bit Production
[root@rdb02d][/root]$ ls -l
/etc/rc.d/init.d
total 104
-rw-r--r--. 1
root root 18281 May 22 2020 functions
-rwxr-xr-x. 1 root root 15336 May
31 18:07 init.ohasd
-rwxr-xr-x. 1 root root 21310 Mar 18 09:03
init.tfa
-rwxr-xr-x. 1 root root 4569 May 22 2020
netconsole
-rwxr-xr-x. 1 root root 9198 Oct 2 2020
network
-rwxr-xr-x. 1 root root 7283 May 31 18:07 ohasd
-rwxr-xr-x.
1 root root 4954 Feb 4 2018 oracleasm
-rw-r--r--. 1 root
root 1160 Oct 2 2020 README
-rwxr-xr-x. 1 root root
2437 Feb 6 2018 rhnsd
[root@rdb02d][/root]$ tar czvf
/tmp/backup_before_upgrade/etc_rc.d_init.d.tar.gz -C /etc/rc.d
init.d
init.d/
init.d/README
init.d/functions
init.d/netconsole
init.d/network
init.d/rhnsd
init.d/oracleasm
init.d/init.tfa
init.d/init.ohasd
init.d/ohasd
[root@rdb02d][/root]$ tar tzvf
/tmp/backup_before_upgrade/etc_rc.d_init.d.tar.gz
drwxr-xr-x
root/root 0 2025-05-31 18:07
init.d/
-rw-r--r-- root/root 1160 2020-10-02
22:09 init.d/README
-rw-r--r-- root/root 18281
2020-05-22 19:44 init.d/functions
-rwxr-xr-x
root/root 4569 2020-05-22 19:44
init.d/netconsole
-rwxr-xr-x root/root 9198
2020-10-02 00:53 init.d/network
-rwxr-xr-x
root/root 2437 2018-02-06 14:47
init.d/rhnsd
-rwxr-xr-x root/root 4954
2018-02-04 01:15 init.d/oracleasm
-rwxr-xr-x
root/root 21310 2025-03-18 09:03
init.d/init.tfa
-rwxr-xr-x root/root 15336 2025-05-31
18:07 init.d/init.ohasd
-rwxr-xr-x
root/root 7283 2025-05-31 18:07
init.d/ohasd
--만약 복구한다고
가정 시
tar xpvzf
/tmp/backup_before_upgrade/etc_rc.d_init.d.tar.gz -C
/etc/rc.d
[root@rdb02d][/dev]$ tar cvzf
/tmp/backup_before_upgrade/opt.tar.gz /opt
...생략
/opt/oracle.ahf/bin/
/opt/oracle.ahf/bin/tfactl
/opt/oracle.ahf/bin/orachk
/opt/oracle.ahf/bin/oerr
/opt/oracle.ahf/bin/ahfctl
/opt/oracle.ahf/analyzer/
/opt/oracle.ahf/install.properties
[root@rdb02d][/opt]$ cat
/etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
[root@rdb02d][/opt]$ cp -rp /u01/app/oraInventory /tmp/backup_before_upgrade/u01_app_oraInventory
[root@rdb02d][/etc]$ cp -p /etc/oratab /tmp/backup_before_upgrade/etc_oratab
[root@rdb02d][/root]$ tar cvzf /tmp/backup_before_upgrade/etc_oracle.tar.gz
-C /etc/
oracle
oracle/
oracle/maps/
oracle/maps/gipcds_gipc_diag_06c65af9ae12ff40fff4fe92704d058c_rdb02d_lock
oracle/maps/rdb02d_gipcd1318_06c65af9ae12ff40fff4fe92704d058c-0000000000
oracle/maps/gipcds_gipc_diag_06c65af9ae12ff40fff4fe92704d058c_rdb02d-0000000000
oracle/maps/gipcds_gipc_diag_1352c79eb69c7f43bfa905789726b681_rdb02d_lock
oracle/maps/rdb02d_gipcd1318_1352c79eb69c7f43bfa905789726b681-0000000000
oracle/maps/gipcds_gipc_diag_1352c79eb69c7f43bfa905789726b681_rdb02d-0000000000
oracle/lastgasp/
oracle/lastgasp/cssmonit_rdb02d.lgl
oracle/lastgasp/cssagent_rdb02d.lgl
oracle/oprocd/
oracle/oprocd/check/
oracle/oprocd/stop/
oracle/oprocd/fatal/
oracle/scls_scr/
oracle/scls_scr/rdb02d/
oracle/scls_scr/rdb02d/grid/
oracle/scls_scr/rdb02d/grid/cssfatal
oracle/scls_scr/rdb02d/root/
oracle/scls_scr/rdb02d/root/crsstart
oracle/scls_scr/rdb02d/root/ohasdrun
oracle/scls_scr/rdb02d/root/ohasdinitpid
oracle/scls_scr/rdb02d/root/ohasdstr
oracle/setasmgid
oracle/olr.loc
oracle/ocr.loc
oracle/ocr.loc.orig
oracle/olr.loc.orig
[root@rdb02d][/root]$ tar tvzf
/tmp/backup_before_upgrade/etc_oracle.tar.gz
drwxr-xr-x root/oinstall 0 2025-05-31 18:07
oracle/
drwxrwxrwt root/oinstall
0 2025-07-18 22:16 oracle/maps/
-rwxrw----
grid/oinstall 0 2025-05-31 15:59
oracle/maps/gipcds_gipc_diag_06c65af9ae12ff40fff4fe92704d058c_rdb02d_lock
-rw-r----- grid/oinstall 10485960 2025-05-31 16:01
oracle/maps/rdb02d_gipcd1318_06c65af9ae12ff40fff4fe92704d058c-0000000000
-rw-r----- grid/oinstall 66304 2025-05-31
16:01
oracle/maps/gipcds_gipc_diag_06c65af9ae12ff40fff4fe92704d058c_rdb02d-0000000000
-rwxrw----
grid/oinstall 0 2025-07-18 22:16
oracle/maps/gipcds_gipc_diag_1352c79eb69c7f43bfa905789726b681_rdb02d_lock
-rw-r----- grid/oinstall 10485960 2025-07-18 22:17
oracle/maps/rdb02d_gipcd1318_1352c79eb69c7f43bfa905789726b681-0000000000
-rw-r----- grid/oinstall 66304 2025-07-19
10:26
oracle/maps/gipcds_gipc_diag_1352c79eb69c7f43bfa905789726b681_rdb02d-0000000000
drwxrwx---
root/oinstall 0 2025-05-31 18:09
oracle/lastgasp/
-rwxr--r--
root/root 4096 2025-05-31 18:09
oracle/lastgasp/cssmonit_rdb02d.lgl
-rwxr--r--
root/root 4096 2025-05-31 18:09
oracle/lastgasp/cssagent_rdb02d.lgl
drwxrwxr-x
root/oinstall 0 2025-05-31 18:07
oracle/oprocd/
drwxrwx---
root/oinstall 0 2025-05-31 18:07
oracle/oprocd/check/
drwxrwx---
root/oinstall 0 2025-05-31 18:07
oracle/oprocd/stop/
drwxrwx---
root/oinstall 0 2025-05-31 18:07
oracle/oprocd/fatal/
drwxr-xr-x
root/oinstall 0 2025-05-31 18:07
oracle/scls_scr/
drwxr-xr-x
root/oinstall 0 2025-05-31 18:07
oracle/scls_scr/rdb02d/
drwxr-xr-x
grid/root 0
2025-05-31 18:07 oracle/scls_scr/rdb02d/grid/
-rw-r--r--
grid/root 8
2025-05-31 18:07 oracle/scls_scr/rdb02d/grid/cssfatal
drwxr-xr-x
root/root 0
2025-05-31 18:08 oracle/scls_scr/rdb02d/root/
-rw-r--r--
root/root 7
2025-05-31 18:07 oracle/scls_scr/rdb02d/root/crsstart
-rw-r--r--
root/oinstall 8 2025-07-18 22:15
oracle/scls_scr/rdb02d/root/ohasdrun
-rw-r--r--
root/root 5
2025-07-18 22:15 oracle/scls_scr/rdb02d/root/ohasdinitpid
-rw-r--r--
root/oinstall 7 2025-05-31 18:08
oracle/scls_scr/rdb02d/root/ohasdstr
-rws--x---
root/oinstall 3594456 2025-05-31 18:07 oracle/setasmgid
-rw-r--r--
root/oinstall 76 2025-05-31 18:07
oracle/olr.loc
-rw-r--r--
root/oinstall 74 2025-05-31 18:07
oracle/ocr.loc
-rw-r--r--
root/root 0
2025-05-31 18:07 oracle/ocr.loc.orig
-rw-r--r--
root/root 0
2025-05-31 18:07 oracle/olr.loc.orig
[+ASM2:grid@rdb02d][/home/grid]$ asmcmd
md_backup /tmp/backup_before_upgrade/alldg
Disk
group metadata to be backed up: CRS
Disk group metadata
to be backed up: DATA1
Disk group metadata to be backed
up: FRA1
Current alias directory path: ASM/PASSWORD
Current alias directory path: ASM
Current alias directory path: drdb2/ASMPARAMETERFILE
Current alias directory path: drdb2
Current alias directory path: drdb2/OCRFILE
Current alias directory path: DRDB/DATAFILE
Current alias directory path: ADG
Current alias directory path: DRDB/TEMPFILE
Current alias directory path: DRDB/PARAMETERFILE
Current alias directory path: DRDB/DATAGUARDCONFIG
Current alias directory path: DRDB/PASSWORD
Current alias directory path: DRDB
Current alias directory path: DRDB/CONTROLFILE
Current alias directory path: DRDB/ONLINELOG
Current alias directory path: DRDB/ARCHIVELOG/2025_07_19
Current alias directory path: DRDB
Current alias directory path: DRDB/CONTROLFILE
Current alias directory path: DRDB/ARCHIVELOG/2025_05_04
Current alias directory path: DRDB/ARCHIVELOG/2025_06_21
Current alias directory path: DRDB/ARCHIVELOG/2025_06_20
Current alias directory path: DRDB/ARCHIVELOG
Current alias directory path: DRDB/ARCHIVELOG/2025_07_18
Current alias directory path: DRDB/ONLINELOG
Current alias directory path: DRDB/ARCHIVELOG/2025_06_11
Current alias directory path: DRDB/FLASHBACK
Current alias directory path:
DRDB/ARCHIVELOG/2025_06_10
3. Grid Upgrade
3-1. 19c Upgrade를 위한 필수 패치가 존재하는지 확인
--1번 노드
Patches to apply before upgrading Oracle GI and DB to 19c or downgrading to previous release (Doc ID 2539751.1)
--> 해당 문서를 참고해서 업그레이드 전 필수 패치 확인
[+ASM1:grid@rdb01d][/home/grid]$ opatch
lsinventory | grep 28553832
28553832, 28558622, 28562244, 28567875,
28578962, 28588574, 28593407
--> 28553832 가 존재하는 상황임
--2번 노드
[+ASM2:grid@rdb02d][/home/grid]$ opatch
lsinventory | grep 28553832
28553832, 28558622, 28562244, 28567875,
28578962, 28588574, 28593407
--> 28553832 가 존재하는 상황임
3-2. 19c Grid/Oracle 엔진 및 최신 RU 다운로드 및 업로드
--1번 노드에서만
https://www.oracle.com/kr/database/technologies/oracle19c-linux-downloads.html
How To
Download And Install The Latest OPatch(6880880) Version (Doc ID 274526.1)
Assistant: Download Reference for Oracle Database/GI
Update, Revision, PSU, SPU(CPU), Bundle Patches, Patchsets and Base Releases
(Doc ID 2118136.2)
--오라클 엔진 파일도 이 단계에서 다운로드 및 업로드 시킴
--1번 노드
[+ASM1:grid@rdb01d][/home/grid]$ mkdir -pv
/tmp/19.27
[+ASM1:grid@rdb01d][/home/grid]$ cd
/tmp/19.27
[+ASM1:grid@rdb01d][/tmp/19.27]$ pwd
/tmp/19.27
[+ASM1:grid@rdb01d][/tmp/19.27]$ ls -l /tmp/19.27
-rw-r--r--. 1 grid oinstall 3059705302 Jul 20 12:09
LINUX.X64_193000_db_home.zip
-rw-r--r--. 1 grid oinstall
2889184573 Jul 20 12:11 LINUX.X64_193000_grid_home.zip
-rwxrwxrwx. 1 grid oinstall 3961245851 Jul 20 11:52
p37641958_190000_Linux-x86-64.zip
-rwxrwxrwx. 1 grid
oinstall 72539776 Jul 20 11:51
p6880880_190000_Linux-x86-64.zip
[+ASM1:grid@rdb01d][/tmp/19.27]$ chmod
-R 777 /tmp/19.27
3-3. 19c 설치를 위한 필수 패키지 확인
Oracle Database (RDBMS) on Unix AIX,HP-UX,Linux,Solaris and MS Windows Operating Systems Installation and Configuration Requirements Quick Reference (12.1/12.2/18c/19c) (Doc ID 1587357.1)
--1번 노드
[root@rdb01d][/root]$ vi check_pakage.sh
[root@rdb01d][/root]$ cat check_pakage.sh
rpm -q bc
rpm
-q binutils
rpm -q compat-libcap1
rpm -q compat-libstdc++
rpm -q
elfutils-libelf
rpm -q elfutils-libelf-devel
rpm -q fontconfig-devel
rpm -q
glibc
rpm -q glibc-devel
rpm -q
ksh
rpm -q libaio
rpm -q
libaio-devel
rpm -q libXrender
rpm -q libXrender-devel
rpm -q
libX11
rpm -q libXau
rpm -q
libXi
rpm -q libXtst
rpm -q
libgcc
rpm -q libstdc++
rpm -q
libstdc++-devel
rpm -q libxcb
rpm -q make
rpm -q net-tools
rpm -q nfs-utils
rpm -q python
rpm -q python-configshell
rpm -q
python-rtslib
rpm -q python-six
rpm -q targetcli
rpm -q
smartmontools
rpm -q sysstat
[root@rdb01d][/root]$ chmod 775 /root/check_pakage.sh
[root@rdb01d][/root]$ sh /root/check_pakage.sh | grep -i
"not installed"
package compat-libstdc++ is not
installed
package python-configshell is not installed
package python-rtslib is not installed
package python-six is not installed
package targetcli is not installed
[root@rdb01d][/root]$ yum install -y compat-libstdc++ python-configshell python-rtslib python-six targetcli
[root@rdb01d][/root]$ sh
/root/check_pakage.sh | grep -i "not installed"
package compat-libstdc++ is not installed
[root@rdb01d][/root]$ yum list
installed | grep compat-libstdc++
compat-libstdc++-33.x86_64
3.2.3-72.el7
@ol7_latest
--> 이미 설치되어 있는 상황임
--2번 노드
[root@rdb02d][/root]$ vi check_pakage.sh
[root@rdb02d][/root]$ cat check_pakage.sh
rpm -q bc
rpm
-q binutils
rpm -q compat-libcap1
rpm -q compat-libstdc++
rpm -q
elfutils-libelf
rpm -q elfutils-libelf-devel
rpm -q fontconfig-devel
rpm -q
glibc
rpm -q glibc-devel
rpm -q
ksh
rpm -q libaio
rpm -q
libaio-devel
rpm -q libXrender
rpm -q libXrender-devel
rpm -q
libX11
rpm -q libXau
rpm -q
libXi
rpm -q libXtst
rpm -q
libgcc
rpm -q libstdc++
rpm -q
libstdc++-devel
rpm -q libxcb
rpm -q make
rpm -q net-tools
rpm -q nfs-utils
rpm -q python
rpm -q python-configshell
rpm -q
python-rtslib
rpm -q python-six
rpm -q targetcli
rpm -q
smartmontools
rpm -q sysstat
[root@rdb02d][/root]$ chmod 775
/root/check_pakage.sh
[root@rdb02d][/root]$ sh
/root/check_pakage.sh | grep -i "not installed"
package
compat-libstdc++ is not installed
package python-configshell is not installed
package python-rtslib is not installed
package python-six is not installed
package targetcli is not installed
[root@rdb02d][/root]$ yum install -y compat-libstdc++ python-configshell python-rtslib python-six targetcli
[root@rdb02d][/root]$ sh /root/check_pakage.sh
| grep -i "not installed"
package compat-libstdc++ is not
installed
[root@rdb02d][/root]$ yum list
installed | grep compat-libstdc++
compat-libstdc++-33.x86_64
3.2.3-72.el7
@ol7_latest
--> 이미 설치되어 있는 상황임
3-4. 19c Grid 엔진 설치 (applyRU)
--1번 노드
[root@rdb01d][/root]$ mkdir -pv
/u01/app/19c/grid
mkdir: created directory
‘/u01/app/19c’
mkdir: created directory
‘/u01/app/19c/grid’
[root@rdb01d][/root]$ chown
grid:oinstall /u01/app/19c/grid
[root@rdb01d][/root]$
chmod 775 /u01/app/19c/grid
--2번 노드
[root@rdb02d][/root]$ mkdir -pv
/u01/app/19c/grid
mkdir: created directory
‘/u01/app/19c’
mkdir: created directory
‘/u01/app/19c/grid’
[root@rdb02d][/root]$ chown
grid:oinstall /u01/app/19c/grid
[root@rdb02d][/root]$
chmod 775 /u01/app/19c/grid
--1번
노드에서만
[+ASM1:grid@rdb01d][/home/grid]$ unzip
/tmp/19.27/LINUX.X64_193000_grid_home.zip -d /u01/app/19c/grid
--> 그리드 엔진
[+ASM1:grid@rdb01d][/home/grid]$ unzip
/tmp/19.27/p37641958_190000_Linux-x86-64.zip -d /tmp/19.27
--> RU 패치
[+ASM1:grid@rdb01d][/home/grid]$ mv /u01/app/19c/grid/OPatch
/u01/app/19c/grid/OPatch.bak.20250712
[+ASM1:grid@rdb01d][/home/grid]$ unzip
/tmp/19.27/p6880880_190000_Linux-x86-64.zip -d /u01/app/19c/grid/
[+ASM1:grid@rdb01d][/home/grid]$
/u01/app/19c/grid/OPatch/opatch version
OPatch Version: 12.2.0.1.46
OPatch succeeded.
--> OPatch
--1번 노드에서만
<Patch 37641958 - GI Release Update
19.27.0.0.250415>
Patch Number
Description
Applicable Homes
-------------------------------------------------------------------------------
37642901 Database
Release Update
19.27.0.0.250415 - Oracle
Home (non-RAC), Oracle Home & Grid Home (RAC)
37654975
OCW Release Update
19.27.0.0.250415
- Oracle Home, Grid Home
37643161 ACFS Release
Update
19.27.0.0.250415
- Grid Home only
37762426 Tomcat Release
Update
19.0.0.0.0
- Grid Home only
36758186 DBWLM Release
Update
19.0.0.0.0
- Grid Home only
[+ASM1:grid@rdb01d][/home/grid]$ /u01/app/19c/grid/gridSetup.sh
\
-applyRU /tmp/19.27/37641958/37654975 \
-applyOneOffs
/tmp/19.27/37641958/37642901,/tmp/19.27/37641958/37643161,/tmp/19.27/37641958/37762426,/tmp/19.27/37641958/36758186
-->
apply 로그는 아래의 위치에 남게됨
/u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch
Preparing the home to patch...
Applying the patch /tmp/19.27/37641958/37654975...
Successfully applied the patch.
Applying the patch /tmp/19.27/37641958/37642901...
Successfully applied the patch.
Applying the patch
/tmp/19.27/37641958/37643161...
--> 패치가 완료되면 UI종료
--gui를 통해서
reponse 파일을 생성한다면 UI를 통해서 reponsefile 생성
Upgrade Oracle Grid Infrastructure
RAC Node 체크 및 SSH connectivity 설정
EM 체크 안함
Oracle base :
/u01/app/oracle
Automatically run configuration scripts
-> 체크해제
Save Response File ->
/home/grid/grid_19c.rsp
--> /home/grid/grid_19c.rsp 만 저장하고 나옴
[+ASM1:grid@rdb01d][/home/grid]$ /u01/app/19c/grid/runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome /u01/app/12c/grid -dest_crshome /u01/app/19c/grid -dest_version 19.27.0.0.0 -fixup -verbose
Performing following verification checks ...
Physical Memory ...
Node Name
Available
Required
Status
------------
------------------------ ------------------------ ----------
rdb02d
15.6298GB (1.6389072E7KB) 8GB
(8388608.0KB) passed
rdb01d
15.6298GB (1.638906E7KB) 8GB
(8388608.0KB) passed
Physical Memory ...PASSED
Available Physical Memory ...
Node Name
Available
Required
Status
------------
------------------------ ------------------------ ----------
rdb02d
13.2597GB (1.3903752E7KB) 50MB
(51200.0KB) passed
rdb01d
12.1411GB (1.2730912E7KB) 50MB
(51200.0KB) passed
Available Physical Memory ...PASSED
Swap Size ...
Node
Name
Available
Required
Status
------------
------------------------ ------------------------ ----------
rdb02d
16GB (1.6777212E7KB) 15.6298GB
(1.6389072E7KB) passed
rdb01d 16GB
(1.6777212E7KB) 15.6298GB (1.638906E7KB)
passed
Swap Size ...PASSED
...생략
Pre-check for cluster services setup
was unsuccessful.
Checks did not pass for the following
nodes:
rdb02d
Failures were encountered during
execution of CVU verification request "stage -pre crsinst".
Device Checks for ASM ...FAILED
Access Control List check ...FAILED
rdb02d: PRVF-9991 : Owner of device "/dev/sdg" did
not match the expected
owner. [Expected = "grid"; Found = "root"] on nodes: [rdb02d]
rdb02d: PRVF-9992 : Group of device "/dev/sdg" did
not match the expected
group. [Expected = "asmadmin"; Found = "disk"] on nodes: [rdb02d]
--> mgmtdb가 1번 노드에 구동되고 있어서 이런 메시지가 나옴
RPM Package Manager database
...INFORMATION
PRVG-11250 : The check "RPM Package
Manager database" was not performed because
it needs
'root' user privileges.
Refer to My Oracle Support notes
"2548970.1" for more details regarding errors
PRVG-11250"."
CVU operation
performed: stage -pre crsinst
Date:
Jul 19, 2025 9:37:23 AM
CVU
version:
Standalone 19.27.0.0.0 (041025x8664)
Clusterware
version: 12.2.0.1.0
CVU
home:
/u01/app/19c/grid
Grid
home:
/u01/app/12c/grid
User:
grid
Operating
system:
Linux5.4.17-2102.201.3.el7uek.x86_64
--2번 노드에
가서 /dev/sdg 의 권한을 바꿔줌
[root@rdb02d][/dev]$ ls -l
sd*
brw-rw----. 1 root
disk 8, 0 Jul 19 09:17 sda
brw-rw----. 1 root disk 8, 1
Jul 19 09:17 sda1
brw-rw----. 1 root
disk 8, 2 Jul 19 09:17 sda2
brw-rw----. 1 grid asmadmin 8, 16 Jul 19 09:54 sdb
brw-rw----. 1 grid asmadmin 8, 32 Jul 19 09:54 sdc
brw-rw----. 1 grid asmadmin 8, 48 Jul 19 09:54 sdd
brw-rw----. 1 grid asmadmin 8, 64 Jul 19 09:54 sde
brw-rw----. 1 grid asmadmin 8, 80 Jul 19 09:54 sdf
brw-rw----. 1 root disk 8, 96 Jul
19 09:17 sdg
[root@rdb02d][/dev]$ chown grid:asmadmin /dev/sdg
[root@rdb02d][/dev]$ ls -l sd*
brw-rw----. 1 root
disk 8, 0 Jul 19 09:17 sda
brw-rw----. 1 root disk 8, 1
Jul 19 09:17 sda1
brw-rw----. 1 root
disk 8, 2 Jul 19 09:17 sda2
brw-rw----. 1 grid asmadmin 8, 16 Jul 19 09:54 sdb
brw-rw----. 1 grid asmadmin 8, 32 Jul 19 09:54 sdc
brw-rw----. 1 grid asmadmin 8, 48 Jul 19 09:54 sdd
brw-rw----. 1 grid asmadmin 8, 64 Jul 19 09:54 sde
brw-rw----. 1 grid asmadmin 8, 80 Jul 19 09:54 sdf
brw-rw----. 1 grid asmadmin 8, 96 Jul 19 09:17
sdg
--다시
확인
[+ASM1:grid@rdb01d][/home/grid]$
/u01/app/19c/grid/runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome
/u01/app/12c/grid -dest_crshome /u01/app/19c/grid -dest_version 19.27.0.0.0
-fixup -verbose
...생략
Pre-check
for cluster services setup was successful.
--> successful임을 확인함
RPM Package Manager database
...INFORMATION
PRVG-11250 : The check "RPM Package
Manager database" was not performed because
it needs
'root' user privileges.
-- method
root로도 수행
[+ASM1:grid@rdb01d][/home/grid]$
/u01/app/19c/grid/runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome
/u01/app/12c/grid -dest_crshome /u01/app/19c/grid -dest_version 19.27.0.0.0
-fixup -verbose -method root
Pre-check for cluster services setup was successful.
CVU operation
performed: stage -pre crsinst
Date:
Jul 20, 2025 12:39:27 PM
CVU
version:
Standalone 19.27.0.0.0 (041025x8664)
Clusterware
version: 12.2.0.1.0
CVU
home:
/u01/app/19c/grid
Grid
home:
/u01/app/12c/grid
User:
grid
Operating
system:
Linux5.4.17-2102.201.3.el7uek.x86_64
--> 성공함
--ssh 자동
접속 설정
[+ASM1:grid@rdb01d][/home/grid]$
/u01/app/12c/grid/oui/prov/resources/scripts/sshUserSetup.sh -user oracle -hosts
"rdb01d rdb02d" -noPromptPassphrase -advanced
[+ASM1:grid@rdb01d][/home/grid]$
/u01/app/12c/grid/oui/prov/resources/scripts/sshUserSetup.sh -user grid -hosts
"rdb01d rdb02d" -noPromptPassphrase -advanced
3-5. grid Upgrade
[+ASM1:grid@rdb01d][/home/grid]$ alias
csrt
alias csrt='crsctl stat res
-t'
[+ASM1:grid@rdb01d][/home/grid]$
csrt
--------------------------------------------------------------------------------
Name
Target State
Server
State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.CRS.dg
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.DATA1.dg
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.FRA1.dg
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.LISTENER.lsnr
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.MGMT.dg
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
----------> 이부분 중요함 mgmtdb가 구동안된
2번 노드도 mgmt diskgroup에 접근할 수 있어야함
ora.net1.network
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.ons
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE
ONLINE
rdb01d
STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE
ONLINE
rdb02d
STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE
ONLINE
rdb02d
STABLE
ora.MGMTLSNR
1 ONLINE
ONLINE
rdb01d
169.254.50.53 10.0.0
.31,STABLE
ora.asm
1 ONLINE
ONLINE
rdb01d
Started,STABLE
2 ONLINE
ONLINE
rdb02d
Started,STABLE
3 OFFLINE
OFFLINE
STABLE
ora.cvu
1 ONLINE
ONLINE
rdb02d
STABLE
ora.drdb.db
1 ONLINE
ONLINE
rdb01d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
2 ONLINE
ONLINE
rdb02d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
ora.mgmtdb
1 ONLINE
ONLINE
rdb01d
Open,STABLE
ora.qosmserver
1 ONLINE
ONLINE
rdb02d
STABLE
ora.rdb01d.vip
1 ONLINE
ONLINE
rdb01d
STABLE
ora.rdb02d.vip
1 ONLINE
ONLINE
rdb02d
STABLE
ora.scan1.vip
1 ONLINE
ONLINE
rdb01d
STABLE
ora.scan2.vip
1 ONLINE
ONLINE
rdb02d
STABLE
ora.scan3.vip
1 ONLINE
ONLINE
rdb02d
STABLE
--------------------------------------------------------------------------------
--> 업그레이전 mgmtdb가 1번 노드에 잘
떠있어야함. 잘 떠있지 않다면 아래의 명령으로 실행해줘야함
srvctl add cha
srvctl start cha
srvctl enable mgmtlsnr -node rdb01d
srvctl enable mgmtdb -node rdb01d
srvctl relocate mgmtdb -node rdb01d
--> 이번 작업에서는 업그레이드 전 12cR2의 mgmtdb를 제거하고 업그레이드 할
것임
[+ASM1:grid@rdb01d][/u01/app/19c/grid]$ awk -F= 'NF
&& $1 !~ /^#/ && $2!=""' /home/grid/grid_19c.rsp >
/home/grid/grid_19c_new.rsp
[+ASM1:grid@rdb01d][/u01/app/19c/grid]$ cat
/home/grid/grid_19c_new.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
INVENTORY_LOCATION=/u01/app/oraInventory
oracle.install.option=UPGRADE
ORACLE_BASE=/u01/app/oracle
oracle.install.crs.config.scanType=LOCAL_SCAN
oracle.install.crs.config.ClusterConfiguration=STANDALONE
oracle.install.crs.config.configureAsExtendedCluster=false
oracle.install.crs.config.clusterName=drdb2
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.crs.config.gpnp.gnsOption=CREATE_NEW_GNS
oracle.install.crs.config.clusterNodes=rdb02d:,rdb01d:
oracle.install.crs.configureGIMR=true
oracle.install.asm.configureGIMRDataDG=false
oracle.install.crs.config.storageOption=FLEX_ASM_STORAGE
oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
oracle.install.crs.config.useIPMI=false
oracle.install.asm.diskGroup.name=MGMT
oracle.install.asm.diskGroup.AUSize=0
oracle.install.asm.gimrDG.AUSize=1
oracle.install.asm.configureAFD=false
oracle.install.crs.configureRHPS=false
oracle.install.crs.config.ignoreDownNodes=false
oracle.install.config.managementOption=NONE
oracle.install.config.omsPort=0
oracle.install.crs.rootconfig.executeRootScript=false
--> response file 수정 작업
[+ASM1:grid@rdb01d][/u01/app/19c/grid]$ vi
/home/grid/grid_19c_new.rsp
[+ASM1:grid@rdb01d][/u01/app/19c/grid]$ cat
/home/grid/grid_19c_new.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
INVENTORY_LOCATION=/u01/app/oraInventory
oracle.install.option=UPGRADE
ORACLE_BASE=/u01/app/oracle
oracle.install.crs.config.scanType=LOCAL_SCAN
oracle.install.crs.config.ClusterConfiguration=STANDALONE
oracle.install.crs.config.configureAsExtendedCluster=false
oracle.install.crs.config.clusterName=drdb2
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.crs.config.gpnp.gnsOption=CREATE_NEW_GNS
oracle.install.crs.config.clusterNodes=rdb02d:,rdb01d:
oracle.install.crs.configureGIMR=false
oracle.install.asm.configureGIMRDataDG=false
oracle.install.crs.config.storageOption=FLEX_ASM_STORAGE
oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
oracle.install.crs.config.useIPMI=false
oracle.install.asm.diskGroup.name=MGMT
oracle.install.asm.diskGroup.AUSize=0
oracle.install.asm.gimrDG.AUSize=1
oracle.install.asm.configureAFD=false
oracle.install.crs.configureRHPS=false
oracle.install.crs.config.ignoreDownNodes=false
oracle.install.config.managementOption=NONE
oracle.install.config.omsPort=0
oracle.install.crs.rootconfig.executeRootScript=false
--> oracle.install.crs.configureGIMR을 false로 변경
--> 여기서 vm을 백업 (테스트 실패 시 재시도 하기 위해)
--> VM 백업 후 다시 재기동 했다면 아래의 사항을 한번 더 체크할 것 - 시작
--반드시 한번 더 체크
--2번 노드에 가서 /dev/sdg 의 권한을 바꿔줌
[root@rdb02d][/dev]$ ls -l /dev/sd*
brw-rw----. 1 root
disk 8, 0 Jul 19 09:17 sda
brw-rw----. 1 root disk 8, 1
Jul 19 09:17 sda1
brw-rw----. 1 root
disk 8, 2 Jul 19 09:17 sda2
brw-rw----. 1 grid asmadmin 8, 16 Jul 19 09:54 sdb
brw-rw----. 1 grid asmadmin 8, 32 Jul 19 09:54 sdc
brw-rw----. 1 grid asmadmin 8, 48 Jul 19 09:54 sdd
brw-rw----. 1 grid asmadmin 8, 64 Jul 19 09:54 sde
brw-rw----. 1 grid asmadmin 8, 80 Jul 19 09:54 sdf
brw-rw----. 1 root disk 8, 96 Jul
19 09:17 sdg
[root@rdb02d][/dev]$
chown grid:asmadmin /dev/sdg
[root@rdb02d][/dev]$ ls -l
sd*
brw-rw----. 1 root disk 8, 0
Jul 19 09:17 sda
brw-rw----. 1 root
disk 8, 1 Jul 19 09:17 sda1
brw-rw----. 1 root disk 8, 2
Jul 19 09:17 sda2
brw-rw----. 1 grid asmadmin 8, 16 Jul
19 09:54 sdb
brw-rw----. 1 grid asmadmin 8, 32 Jul 19
09:54 sdc
brw-rw----. 1 grid asmadmin 8, 48 Jul 19 09:54
sdd
brw-rw----. 1 grid asmadmin 8, 64 Jul 19 09:54
sde
brw-rw----. 1 grid asmadmin 8, 80 Jul 19 09:54
sdf
brw-rw----. 1 grid asmadmin 8, 96 Jul 19 09:17
sdg
[root@rdb02d][/root]$ csrt
--------------------------------------------------------------------------------
Name
Target State
Server
State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.CRS.dg
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.DATA1.dg
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.FRA1.dg
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.LISTENER.lsnr
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.MGMT.dg
ONLINE ONLINE
rdb01d
STABLE
ONLINE
ONLINE
rdb02d
STABLE
ora.net1.network
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.ons
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE
ONLINE
rdb02d
STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE
ONLINE
rdb01d
STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE
ONLINE
rdb01d
STABLE
ora.MGMTLSNR
1 ONLINE
ONLINE
rdb01d
169.254.50.53 10.0.0
.31,STABLE
ora.asm
1 ONLINE
ONLINE
rdb01d
Started,STABLE
2 ONLINE
ONLINE
rdb02d
Started,STABLE
3 OFFLINE
OFFLINE
STABLE
ora.cvu
1 ONLINE
ONLINE
rdb01d
STABLE
ora.drdb.db
1 ONLINE
ONLINE
rdb01d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
2 ONLINE
ONLINE
rdb02d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
ora.mgmtdb
1 ONLINE
ONLINE
rdb01d
Open,STABLE
ora.qosmserver
1 ONLINE
ONLINE
rdb02d
STABLE
ora.rdb01d.vip
1 ONLINE
ONLINE
rdb01d
STABLE
ora.rdb02d.vip
1 ONLINE
ONLINE
rdb02d
STABLE
ora.scan1.vip
1 ONLINE
ONLINE
rdb02d
STABLE
ora.scan2.vip
1 ONLINE
ONLINE
rdb01d
STABLE
ora.scan3.vip
1 ONLINE
ONLINE
rdb01d
STABLE
--------------------------------------------------------------------------------
--> VM 백업 후 다시 재기동 했다면 아래의 사항을 한번 더 체크할 것 - 종료
-- dryrun 해보기
[+ASM1:grid@rdb01d][/home/grid]$
/u01/app/19c/grid/gridSetup.sh -silent -dryRunForUpgrade -ignorePrereqFailure
-responseFile /home/grid/grid_19c_new.rsp
Launching Oracle
Grid Infrastructure Setup Wizard...
[WARNING]
[INS-13014] Target environment does not meet some optional requirements.
CAUSE: Some of the optional prerequisites are
not met. See logs for details.
/u01/app/oraInventory/logs/GridSetupActions2025-07-19_10-46-52AM/gridSetupActions2025-07-19_10-46-52AM.log
ACTION: Identify the list of failed
prerequisite checks from the log:
/u01/app/oraInventory/logs/GridSetupActions2025-07-19_10-46-52AM/gridSetupActions2025-07-19_10-46-52AM.log.
Then either from the log file or from installation manual find the appropriate
configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
/u01/app/19c/grid/install/response/grid_2025-07-19_10-46-52AM.rsp
You can find the
log of this install session at:
/u01/app/oraInventory/logs/GridSetupActions2025-07-19_10-46-52AM/gridSetupActions2025-07-19_10-46-52AM.log
As a root user, execute the following script(s):
1.
/u01/app/19c/grid/rootupgrade.sh
Execute
/u01/app/19c/grid/rootupgrade.sh on the following nodes:
[rdb01d]
Run the script on the local node.
Successfully Setup Software with warning(s).
[root@rdb01d][/root]$
/u01/app/19c/grid/rootupgrade.sh
Check
/u01/app/19c/grid/install/root_rdb01d_2025-07-19_10-59-17-245363728.log for the
output of root script
--로그 모니터링
[root@rdb01d][/root]$ tail -f
/u01/app/19c/grid/install/root_rdb01d_2025-07-19_10-59-17-245363728.log
ORACLE_HOME= /u01/app/19c/grid
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Entries will be
added to the /etc/oratab file as needed by
Database
Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Performing Dry run of the Grid Infrastructure upgrade.
Using configuration parameter file:
/u01/app/19c/grid/crs/install/crsconfig_params
The log
of current session can be found at:
/u01/app/oracle/crsdata/rdb01d/crsconfig/crsupgrade_dryrun_rdb01d_2025-07-19_10-59-43AM.log
scp: /u01/app/oracle/crsdata/@global/crsconfig/index.xml: set mode: Operation not permitted
2025/07/19
11:00:00 CLSRSC-180: An error occurred while executing the command
'/u01/app/19c/grid/bin/cluutil -ckpt -global -oraclebase /u01/app/oracle
-writeckpt -name ROOTCRS_FIRSTNODE -state START -nodelist rdb01d,rdb02d
-transferfile'
2025/07/19 11:00:00 CLSRSC-175: Failed to
write the checkpoint 'ROOTCRS_FIRSTNODE' with status 'START' (error code 0)
scp: /u01/app/oracle/crsdata/@global/crsconfig/index.xml: set mode: Operation not permitted
2025/07/19 11:00:01 CLSRSC-180: An error occurred while
executing the command '/u01/app/19c/grid/bin/cluutil -ckpt -global -oraclebase
/u01/app/oracle -writeckpt -name ROOTCRS_FIRSTNODE -pname VERSION -pvalue
19.0.0.0.0 -nodelist rdb01d,rdb02d -transferfile'
2025/07/19 11:00:01 CLSRSC-177: Failed to add
(property/value):('VERSION'/'19.0.0.0.0') for checkpoint 'ROOTCRS_FIRSTNODE'
(error code 0)
scp: /u01/app/oracle/crsdata/@global/crsconfig/index.xml: set mode: Operation not permitted
2025/07/19 11:00:09 CLSRSC-180: An error occurred while
executing the command '/u01/app/19c/grid/bin/cluutil -ckpt -global -oraclebase
/u01/app/oracle -writeckpt -name ROOTCRS_FIRSTNODE -state START -nodelist
rdb01d,rdb02d -transferfile'
2025/07/19 11:00:09
CLSRSC-175: Failed to write the checkpoint 'ROOTCRS_FIRSTNODE' with status
'START' (error code 0)
2025/07/19 11:00:11 CLSRSC-729:
Checking whether CRS entities are ready for upgrade, cluster upgrade will not be
attempted now. This operation may take a few minutes.
2025/07/19 11:02:47 CLSRSC-693: CRS entities validation
completed successfully.
--> 위와 같은 에러가 발생한다고
함
--아래와 같은 조치를 취해줌
--1번 노드
[root@rdb01d][/root]$ chmod 777 /u01/app/oracle/crsdata/@global/crsconfig/index.xml
[root@rdb01d][/root]$ echo $ORACLE_BASE
/u01/app/oracle
[root@rdb01d][/root]$ chown -R grid:oinstall
$ORACLE_BASE/crsdata
--2번 노드
[root@rdb02d][/root]$ chmod 777 /u01/app/oracle/crsdata/@global/crsconfig/index.xml
[root@rdb02d][/root]$ echo $ORACLE_BASE
/u01/app/oracle
[root@rdb02d][/root]$ chown -R grid:oinstall
$ORACLE_BASE/crsdata
--조치를 취한 후 다시 시도해봄
[root@rdb01d][/root]$
/u01/app/19c/grid/rootupgrade.sh
...생략
2025/07/20 13:39:04
CLSRSC-729: Checking whether CRS entities are ready for upgrade, cluster upgrade
will not be attempted now. This operation may take a few minutes.
2025/07/20 13:41:02 CLSRSC-693: CRS entities validation
completed successfully.
--> 성공함
-- 이제 실제 업그레이드를 수행할
것임
[+ASM1:grid@rdb01d][/home/grid]$ crsctl query crs
activeversion -f
Oracle Clusterware active version on the cluster is
[12.2.0.1.0]. The cluster upgrade state is [NORMAL]. The cluster active patch
level is [3975995681].
Check the owner of the file
$GRID_HOME/crs/config/rootconfig.sh after thrDry Run Upgrade. If it is owned by
root , then change it to oracle:oinstall before running the actual
upgrade.
--> 실제 업그레이드 수행 전 rootconfig.sh 의 파일 권한을 확인해 볼것
--1번 노드
[+ASM1:grid@rdb01d][/home/grid]$ ls -l
/u01/app/19c/grid/crs/config/rootconfig.sh
-rwxr-x---. 1 grid
oinstall 6245 Jul 19 10:51
/u01/app/19c/grid/crs/config/rootconfig.sh
--2번 노드
[+ASM2:grid@rdb02d][/home/grid]$ ls -l
/u01/app/19c/grid/crs/config/rootconfig.sh
-rwxr-x---. 1 grid
oinstall 6245 Jul 19 10:57
/u01/app/19c/grid/crs/config/rootconfig.sh
--실제 업그레이드 전 12cR2의 mgmtdb를 제거하고 수행할 것임
[+ASM1:grid@rdb01d][/home/grid]$ dbca -silent
-deleteDatabase -sourceDB -MGMTDB
[+ASM1:grid@rdb01d][/home/grid]$ srvctl stop mgmtlsnr
[+ASM1:grid@rdb01d][/home/grid]$ srvctl remove
mgmtlsnr
[+ASM1:grid@rdb01d][/home/grid]$ crsctl stop res ora.crf
-init -f
CRS-2673: Attempting to stop 'ora.crf' on 'rdb01d'
CRS-2677: Stop of 'ora.crf' on 'rdb01d' succeeded
[+ASM1:grid@rdb01d][/home/grid]$ crsctl stat res ora.crf
-init
NAME=ora.crf
TYPE=ora.crf.type
TARGET=OFFLINE
STATE=OFFLINE
[root@rdb01d][/root]$ crsctl modify res ora.crf -attr "ENABLED=0" -unsupported -init
[+ASM1:grid@rdb01d][/home/grid]$ unset ORACLE_BASE
[+ASM1:grid@rdb01d][/home/grid]$ unset ORACLE_HOME
[+ASM1:grid@rdb01d][/home/grid]$ unset
ORACLE_SID
--> 실제 업그레이드 작업 수행
--> 반드시 확인할 것 실제 업그레이드 전 노드
2번에서도 MGMT Disk Group이 온라인 상태여야함 (업그레이드 과정에서 2번 노드가 mgmt disk group을 볼수도
있음)
[:grid@rdb01d][/home/grid]$ cat
/home/grid/grid_19c_new.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
INVENTORY_LOCATION=/u01/app/oraInventory
oracle.install.option=UPGRADE
ORACLE_BASE=/u01/app/oracle
oracle.install.crs.config.scanType=LOCAL_SCAN
oracle.install.crs.config.ClusterConfiguration=STANDALONE
oracle.install.crs.config.configureAsExtendedCluster=false
oracle.install.crs.config.clusterName=drdb2
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.crs.config.gpnp.gnsOption=CREATE_NEW_GNS
oracle.install.crs.config.clusterNodes=rdb02d:,rdb01d:
oracle.install.crs.configureGIMR=false
oracle.install.asm.configureGIMRDataDG=false
oracle.install.crs.config.storageOption=FLEX_ASM_STORAGE
oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
oracle.install.crs.config.useIPMI=false
oracle.install.asm.diskGroup.name=MGMT
oracle.install.asm.diskGroup.AUSize=0
oracle.install.asm.gimrDG.AUSize=1
oracle.install.asm.configureAFD=false
oracle.install.crs.configureRHPS=false
oracle.install.crs.config.ignoreDownNodes=false
oracle.install.config.managementOption=NONE
oracle.install.config.omsPort=0
oracle.install.crs.rootconfig.executeRootScript=false
[+ASM1:grid@rdb01d][/home/grid]$
/u01/app/19c/grid/gridSetup.sh -silent -ignorePrereqFailure -responseFile
/home/grid/grid_19c_new.rsp
Launching Oracle Grid Infrastructure Setup
Wizard...
[WARNING]
[INS-13013] Target environment does not meet some mandatory requirements.
CAUSE: Some of the mandatory prerequisites are
not met. See logs for details.
/u01/app/oraInventory/logs/GridSetupActions2025-07-20_01-41-33PM/gridSetupActions2025-07-20_01-41-33PM.log
ACTION: Identify the list of failed
prerequisite checks from the log:
/u01/app/oraInventory/logs/GridSetupActions2025-07-20_01-41-33PM/gridSetupActions2025-07-20_01-41-33PM.log.
Then either from the log file or from installation manual find the appropriate
configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
/u01/app/19c/grid/install/response/grid_2025-07-20_01-41-33PM.rsp
As a root user, execute
the following script(s):
1.
/u01/app/19c/grid/rootupgrade.sh
Execute
/u01/app/19c/grid/rootupgrade.sh on the following nodes:
[rdb02d, rdb01d]
Run the script on the
local node first. After successful completion, you can start the script in
parallel on all other nodes, except a node you designate as the last node. When
all the nodes except the last node are done successfully, run the script on the
last node.
--> 첫번째 노드가 성공하면 마지막 노드를 뺀
나머지 노드는 동시에 실행가능
--> 첫번째 노드실행, 마지막 노드를 뺀 나머지 노드 실행,
마지막 노드실행으로 하라는 뜻임
Successfully Setup Software with warning(s).
As install user, execute the following command to complete
the configuration.
/u01/app/19c/grid/gridSetup.sh -executeConfigTools
-responseFile /home/grid/grid_19c_new.rsp [-silent]
[root@rdb01d][/root]$
/u01/app/19c/grid/rootupgrade.sh
--> 1번
노드부터 시작 (해당 작업 중 1번 노드는 내려감, 2번노드는 계속 사용가능)
Check
/u01/app/19c/grid/install/root_rdb01d_2025-07-20_02-31-30-927236690.log for the
output of root script
[root@rdb01d][/root]$ tail -f
/u01/app/19c/grid/install/root_rdb01d_2025-07-20_02-31-30-927236690.log
Any attempt
to downgrade the cluster after this point will require a complete cluster outage
to restore the OCR.
2025/07/20 02:35:25 CLSRSC-541:
To downgrade the cluster:
1. All nodes that have been upgraded must be
downgraded.
2025/07/20 02:35:25 CLSRSC-542:
2. Before downgrading the last node, the Grid
Infrastructure stack on all other cluster nodes must be down.
2025/07/20 02:35:32 CLSRSC-465: Retrieval of the cluster
configuration data has successfully completed.
2025/07/20 02:35:33 CLSRSC-595: Executing upgrade step 4 of
18: 'GenSiteGUIDs'.
2025/07/20 02:35:33 CLSRSC-595:
Executing upgrade step 5 of 18: 'UpgPrechecks'.
2025/07/20 02:35:38 CLSRSC-363: User ignored prerequisites
during installation
2025/07/20 02:35:52 CLSRSC-595:
Executing upgrade step 6 of 18: 'SetupOSD'.
Redirecting
to /bin/systemctl restart rsyslog.service
2025/07/20
02:35:54 CLSRSC-595: Executing upgrade step 7 of 18: 'PreUpgrade'.
CLSCH-3610 : An unexpected error occurred in Cluster Health
Advisor control utility.
2025/07/20 02:36:04 CLSRSC-180: An error occurred while
executing the command '/u01/app/12c/grid/bin/chactl query model'
Died at /u01/app/19c/grid/crs/install/orachm.pm line
1109.
--> 위의 에러 떨어지면서 실패함
--> cha를 중지 및 삭제함
[root@rdb01d][/root]$ srvctl stop cha
[root@rdb01d][/root]$ srvctl remove cha
-- 다시 시도함
[root@rdb01d][/root]$
/u01/app/19c/grid/rootupgrade.sh
Check
/u01/app/19c/grid/install/root_rdb01d_2025-07-20_02-37-17-811209922.log for the
output of root script
[+ASM1:grid@rdb01d][/home/grid]$ tail -f
/u01/app/19c/grid/install/root_rdb01d_2025-07-20_14-13-34-709863731.log
Database
Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Using configuration parameter file:
/u01/app/19c/grid/crs/install/crsconfig_params
The log
of current session can be found at:
/u01/app/oracle/crsdata/rdb01d/crsconfig/crsupgrade_rdb01d_2025-07-20_02-13-35PM.log
2025/07/20 14:13:39 CLSRSC-595: Executing upgrade step 1 of
18: 'UpgradeTFA'.
2025/07/20 14:13:39 CLSRSC-4015:
Performing install or upgrade action for Oracle Trace File Analyzer (TFA)
Collector.
2025/07/20 14:13:39 CLSRSC-4012: Shutting
down Oracle Trace File Analyzer (TFA) Collector.
2025/07/20 14:13:52 CLSRSC-4013: Successfully shut down
Oracle Trace File Analyzer (TFA) Collector.
2025/07/20
14:13:52 CLSRSC-595: Executing upgrade step 2 of 18: 'ValidateEnv'.
2025/07/20 14:13:52 CLSRSC-595: Executing upgrade step 3 of
18: 'GetOldConfig'.
2025/07/20 14:13:52 CLSRSC-692:
Checking whether CRS entities are ready for upgrade. This operation may take a
few minutes.
2025/07/20 14:13:53 CLSRSC-693: CRS
entities validation completed successfully.
2025/07/20
14:13:53 CLSRSC-464: Starting retrieval of the cluster configuration data
CRS-4672: Successfully backed up the Voting File for
Cluster Synchronization Service.
2025/07/20 14:14:05
CLSRSC-515: Starting OCR manual backup.
2025/07/20
14:14:16 CLSRSC-4003: Successfully patched Oracle Trace File Analyzer (TFA)
Collector.
2025/07/20 14:14:22 CLSRSC-516: OCR manual
backup successful.
2025/07/20 14:14:25 CLSRSC-486:
At this stage of upgrade, the OCR has changed.
Any attempt to downgrade the cluster after this point
will require a complete cluster outage to restore the OCR.
2025/07/20 14:14:25 CLSRSC-541:
To downgrade the cluster:
1. All nodes that have been upgraded must be
downgraded.
2025/07/20 14:14:25 CLSRSC-542:
2. Before downgrading the last node, the Grid
Infrastructure stack on all other cluster nodes must be down.
2025/07/20 14:14:31 CLSRSC-465: Retrieval of the cluster
configuration data has successfully completed.
2025/07/20 14:14:31 CLSRSC-595: Executing upgrade step 4 of
18: 'GenSiteGUIDs'.
2025/07/20 14:14:31 CLSRSC-595:
Executing upgrade step 5 of 18: 'UpgPrechecks'.
2025/07/20 14:14:33 CLSRSC-363: User ignored prerequisites
during installation
2025/07/20 14:14:48 CLSRSC-595:
Executing upgrade step 6 of 18: 'SetupOSD'.
Redirecting
to /bin/systemctl restart rsyslog.service
2025/07/20
14:14:48 CLSRSC-595: Executing upgrade step 7 of 18: 'PreUpgrade'.
2025/07/20 14:15:55 CLSRSC-468: Setting Oracle Clusterware
and ASM to rolling migration mode
2025/07/20 14:15:55
CLSRSC-482: Running command: '/u01/app/12c/grid/bin/crsctl start rollingupgrade
19.0.0.0.0'
CRS-1131: The cluster was successfully set
to rolling upgrade mode.
2025/07/20 14:16:01 CLSRSC-482:
Running command: '/u01/app/19c/grid/bin/asmca -silent -upgradeNodeASM
-nonRolling false -oldCRSHome /u01/app/12c/grid -oldCRSVersion 12.2.0.1.0
-firstNode true -startRolling false '
ASM configuration upgraded in local node successfully.
2025/07/20
14:16:04 CLSRSC-469: Successfully set Oracle Clusterware and ASM to rolling
migration mode
2025/07/20 14:16:09 CLSRSC-466: Starting
shutdown of the current Oracle Grid Infrastructure stack
2025/07/20 14:16:58 CLSRSC-467: Shutdown of the current
Oracle Grid Infrastructure stack has successfully completed.
2025/07/20 14:16:59 CLSRSC-595: Executing upgrade step 8 of
18: 'CheckCRSConfig'.
2025/07/20 14:16:59 CLSRSC-595:
Executing upgrade step 9 of 18: 'UpgradeOLR'.
2025/07/20
14:17:09 CLSRSC-595: Executing upgrade step 10 of 18:
'ConfigCHMOS'.
2025/07/20
14:17:41 CLSRSC-595: Executing upgrade step 11 of 18: 'UpgradeAFD'.
2025/07/20 14:17:48 CLSRSC-595: Executing upgrade step 12
of 18: 'createOHASD'.
2025/07/20 14:17:52 CLSRSC-595:
Executing upgrade step 13 of 18: 'ConfigOHASD'.
2025/07/20 14:17:52 CLSRSC-329: Replacing Clusterware
entries in file 'oracle-ohasd.service'
2025/07/20
14:18:23 CLSRSC-595: Executing upgrade step 14 of 18: 'InstallACFS'.
2025/07/20 14:18:39 CLSRSC-595: Executing upgrade step 15
of 18: 'InstallKA'.
2025/07/20 14:18:43 CLSRSC-595:
Executing upgrade step 16 of 18: 'UpgradeCluster'.
clscfg: EXISTING configuration version 5 detected.
Successfully taken the backup of node specific
configuration in OCR.
Successfully accumulated necessary
OCR keys.
Creating OCR keys for user 'root', privgrp
'root'..
Operation successful.
2025/07/20 14:21:21 CLSRSC-595: Executing upgrade step 17
of 18: 'UpgradeNode'.
2025/07/20 14:21:25 CLSRSC-474:
Initiating upgrade of resource types
2025/07/20 14:22:47
CLSRSC-475: Upgrade of resource types successfully initiated.
2025/07/20 14:22:59 CLSRSC-595: Executing upgrade step 18
of 18: 'PostUpgrade'.
2025/07/20 14:23:04 CLSRSC-325:
Configure Oracle Grid Infrastructure for a Cluster ...
succeeded
--> 1번 노드의 grid 업그레이드 성공함!
--> Oracle 인스턴스가
UNKNOWN인 상황
ora.drdb.db
1 ONLINE
UNKNOWN
rdb01d
STABLE
2 ONLINE
ONLINE
rdb02d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
우선
/u01/app/oracle/crsdata/rdb01d/ --> 디렉토리의 소유자가 grid:oinstall이고 권한이 775인지
확인
[root@rdb01d][/root]$ ls -l /u01/app/oracle/crsdata | grep
rdb01d
drwxrwxr-x. 26 grid oinstall 4096 Jul 20 02:41
rdb01d
--> 잘되어 있음
--아래의 파일의 소유자 및 권한을 바꿔줌
[root@rdb01d][/root]$
chown oracle:oinstall
/u01/app/oracle/crsdata/rdb01d/output/crsd_oraagent_oracleOUT.trc
/u01/app/oracle/crsdata/rdb01d/output/crsd_oraagent_oracle.pid
[root@rdb01d][/root]$ chmod 664
/u01/app/oracle/crsdata/rdb01d/output/crsd_oraagent_oracleOUT.trc
/u01/app/oracle/crsdata/rdb01d/output/crsd_oraagent_oracle.pid
[root@rdb01d][/root]$ ls -l
/u01/app/oracle/crsdata/rdb01d/output/crsd_oraagent_oracleOUT.trc
/u01/app/oracle/crsdata/rdb01d/output/crsd_oraagent_oracle.pid
-rw-rw-r--. 1
oracle oinstall 354985 Jul 19 12:27
/u01/app/oracle/crsdata/rdb01d/output/crsd_oraagent_oracleOUT.trc
-rw-rw-r--. 1 oracle oinstall
5 Jul 19 12:27
/u01/app/oracle/crsdata/rdb01d/output/crsd_oraagent_oracle.pid
[DRDB1:oracle@rdb01d][/u01/app/oracle/diag/rdbms/drdb/DRDB1/trace]$ ss
SQL*Plus: Release 12.2.0.1.0 Production on Sun Jul 20 02:58:28 2025
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to an idle instance.
[2025-07-20 02:58:29][rdb01d]<SYS@DRDB1> startup
ora.drdb.db
1 ONLINE
ONLINE
rdb01d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
--> 인식하게됨
--2번 노드도 grid 업그레이드
수행
[root@rdb02d][/root]$
/u01/app/19c/grid/rootupgrade.sh
Check
/u01/app/19c/grid/install/root_rdb02d_2025-07-20_14-23-35-866885104.log for the
output of root script
[root@rdb02d][/var/tmp/.oracle]$ tail -f
/u01/app/19c/grid/install/root_rdb02d_2025-07-20_14-23-35-866885104.log
ORACLE_HOME= /u01/app/19c/grid
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Entries will be
added to the /etc/oratab file as needed by
Database
Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Using configuration parameter file:
/u01/app/19c/grid/crs/install/crsconfig_params
The log
of current session can be found at:
/u01/app/oracle/crsdata/rdb02d/crsconfig/crsupgrade_rdb02d_2025-07-20_02-23-55PM.log
2025/07/20 14:24:04 CLSRSC-595: Executing upgrade step 1 of
18: 'UpgradeTFA'.
2025/07/20 14:24:04 CLSRSC-4015:
Performing install or upgrade action for Oracle Trace File Analyzer (TFA)
Collector.
2025/07/20 14:24:04 CLSRSC-4012: Shutting
down Oracle Trace File Analyzer (TFA) Collector.
This version of
AHF is older than 365 days. Please upgrade AHF using ahfctl upgrade
2025/07/20 14:24:21 CLSRSC-4013: Successfully shut down
Oracle Trace File Analyzer (TFA) Collector.
2025/07/20
14:24:21 CLSRSC-595: Executing upgrade step 2 of 18: 'ValidateEnv'.
2025/07/20 14:24:21 CLSRSC-595: Executing upgrade step 3 of
18: 'GetOldConfig'.
2025/07/20 14:24:23 CLSRSC-464:
Starting retrieval of the cluster configuration data
2025/07/20 14:24:31 CLSRSC-465: Retrieval of the cluster
configuration data has successfully completed.
2025/07/20 14:24:31 CLSRSC-595: Executing upgrade step 4 of
18: 'GenSiteGUIDs'.
2025/07/20 14:24:31 CLSRSC-595:
Executing upgrade step 5 of 18: 'UpgPrechecks'.
2025/07/20 14:24:32 CLSRSC-363: User ignored prerequisites
during installation
2025/07/20 14:24:33 CLSRSC-595:
Executing upgrade step 6 of 18: 'SetupOSD'.
Redirecting
to /bin/systemctl restart rsyslog.service
2025/07/20
14:24:33 CLSRSC-595: Executing upgrade step 7 of 18:
'PreUpgrade'.
ASM configuration upgraded in local node successfully.
2025/07/20
14:24:43 CLSRSC-466: Starting shutdown of the current Oracle Grid Infrastructure
stack
2025/07/20 14:25:46 CLSRSC-467: Shutdown of the
current Oracle Grid Infrastructure stack has successfully completed.
2025/07/20 14:25:49 CLSRSC-595: Executing upgrade step 8 of
18: 'CheckCRSConfig'.
2025/07/20 14:25:50 CLSRSC-595:
Executing upgrade step 9 of 18: 'UpgradeOLR'.
2025/07/20
14:26:08 CLSRSC-595: Executing upgrade step 10 of 18: 'ConfigCHMOS'.
2025/07/20 14:26:08 CLSRSC-595: Executing upgrade step 11
of 18: 'UpgradeAFD'.
2025/07/20 14:26:12 CLSRSC-595:
Executing upgrade step 12 of 18: 'createOHASD'.
2025/07/20 14:26:13 CLSRSC-595: Executing upgrade step 13
of 18: 'ConfigOHASD'.
2025/07/20 14:26:13 CLSRSC-329:
Replacing Clusterware entries in file 'oracle-ohasd.service'
2025/07/20 14:26:39 CLSRSC-4003: Successfully patched
Oracle Trace File Analyzer (TFA) Collector.
2025/07/20
14:26:39 CLSRSC-595: Executing upgrade step 14 of 18: 'InstallACFS'.
2025/07/20 14:26:46 CLSRSC-595: Executing upgrade step 15
of 18: 'InstallKA'.
2025/07/20 14:26:47 CLSRSC-595:
Executing upgrade step 16 of 18: 'UpgradeCluster'.
2025/07/20 14:28:59 CLSRSC-343: Successfully started Oracle
Clusterware stack
clscfg: EXISTING configuration version
19 detected.
Successfully taken the backup of node
specific configuration in OCR.
Successfully accumulated
necessary OCR keys.
Creating OCR keys for user 'root',
privgrp 'root'..
Operation successful.
2025/07/20 14:29:17 CLSRSC-595: Executing upgrade step 17
of 18: 'UpgradeNode'.
Start upgrade invoked..
2025/07/20 14:29:26 CLSRSC-478: Setting Oracle Clusterware
active version on the last node to be upgraded
2025/07/20 14:29:26 CLSRSC-482: Running command:
'/u01/app/19c/grid/bin/crsctl set crs activeversion'
Started to upgrade the active version of Oracle
Clusterware. This operation may take a few minutes.
Started to upgrade CSS.
CSS was
successfully upgraded.
Started to upgrade Oracle ASM.
Started to upgrade CRS.
CRS was
successfully upgraded.
Started to upgrade Oracle
ACFS.
Oracle ACFS was successfully upgraded.
Successfully upgraded the active version of Oracle
Clusterware.
Oracle Clusterware active version was
successfully set to 19.0.0.0.0.
2025/07/20 14:30:40
CLSRSC-479: Successfully set Oracle Clusterware active version
2025/07/20 14:30:41 CLSRSC-476: Finishing upgrade of
resource types
2025/07/20 14:30:53 CLSRSC-477:
Successfully completed upgrade of resource types
2025/07/20 14:31:20 CLSRSC-595: Executing upgrade step 18
of 18: 'PostUpgrade'.
Successfully updated XAG
resources.
2025/07/20 14:31:53 CLSRSC-325: Configure
Oracle Grid Infrastructure for a Cluster ... succeeded
-- 2번 노드의 오라클 인스턴스가 UNKNOWN 인 상황
ora.drdb.db
1 ONLINE
ONLINE
rdb01d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
2 ONLINE
UNKNOWN
rdb02d
STABLE
우선
/u01/app/oracle/crsdata/rdb02d/ --> 디렉토리의 소유자가 grid:oinstall이고 권한이 775 인지
확인
[root@rdb02d][/root]$ ls -l /u01/app/oracle/crsdata | grep
rdb02d
drwxrwxr-x. 26 grid oinstall 4096 Jul 20 03:02
rdb02d
--> 잘되어 있음
--아래의 파일의 소유자 및 권한을 바꿔줌
[root@rdb02d][/root]$ ls -l
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracleOUT.trc
-rw-r--r--. 1 grid
oinstall 195423 Jul 18 22:18
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracleOUT.trc
[root@rdb02d][/root]$ ls -l
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracle.pid
-rw-r--r--. 1 grid
oinstall 5 Jul 18 22:18
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracle.pid
[root@rdb02d][/root]$ chown oracle:oinstall
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracleOUT.trc
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracle.pid
[root@rdb02d][/root]$ chmod 664
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracleOUT.trc
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracle.pid
[root@rdb02d][/root]$ ls -l
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracleOUT.trc
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracle.pid
-rw-rw-r--. 1
oracle oinstall 195423 Jul 18 22:18
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracleOUT.trc
-rw-rw-r--. 1 oracle oinstall
5 Jul 18 22:18
/u01/app/oracle/crsdata/rdb02d/output/crsd_oraagent_oracle.pid
--2번 노드를 startup 해줌
[DRDB2:oracle@rdb02d][/home/oracle]$ ss
SQL*Plus: Release 12.2.0.1.0 Production on Sat Jul 19 12:52:56 2025
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to an idle instance.
[2025-07-19
12:52:57][rdb02d]<SYS@DRDB2>
startup
ORACLE instance started.
Total System
Global Area 5033164800 bytes
Fixed
Size
8631048 bytes
Variable
Size
1107299576 bytes
Database
Buffers 3909091328 bytes
Redo
Buffers
8142848 bytes
Database mounted.
Database opened.
[2025-07-19 12:52:57][rdb02d]<SYS@DRDB2> quit
ora.drdb.db
1 ONLINE
ONLINE
rdb01d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
2 ONLINE
ONLINE
rdb02d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
--> 인식하기 시작함
--1번 노드에서 아래의 작업 수행
[+ASM1:grid@rdb01d][/home/grid]$ unset ORACLE_BASE
[+ASM1:grid@rdb01d][/home/grid]$ unset ORACLE_HOME
[+ASM1:grid@rdb01d][/home/grid]$ unset
ORACLE_SID
[+ASM1:grid@rdb01d][/home/grid]$ srvctl stop database -db
drdb
--> 반드시 내릴 필요는 없지만 사양 문제로 디비 인스턴스는 내리고 시도함
[+ASM1:grid@rdb01d][/home/grid]$
/u01/app/19c/grid/gridSetup.sh -executeConfigTools -responseFile
/home/grid/grid_19c_new.rsp -silent
Launching Oracle
Grid Infrastructure Setup Wizard...
You can find the
logs of this session at:
/u01/app/oraInventory/logs/GridSetupActions2025-07-21_02-45-48PM
You can find the
log of this install session at:
/u01/app/oraInventory/logs/UpdateNodeList2025-07-21_02-45-48PM.log
You can find the log of this install session at:
/u01/app/oraInventory/logs/UpdateNodeList2025-07-21_02-45-48PM.log
Configuration failed.
[WARNING]
[INS-43080] Some of the configuration assistants failed, were cancelled or
skipped.
ACTION: Refer to the logs or
contact Oracle Support Services.
[:grid@rdb01d][/home/grid]$ /u01/app/19c/grid/gridSetup.sh
-executeConfigTools -responseFile /
Launching Oracle
Grid Infrastructure Setup Wizard...
You can find the
logs of this session at:
/u01/app/oraInventory/logs/GridSetupActions2025-07-21_02-58-05PM
[+ASM1:grid@rdb01d][/u01/app/oracle/diag/rdbms/_mgmtdb/-MGMTDB/trace]$
tail -f
/u01/app/oracle/diag/rdbms/_mgmtdb/-MGMTDB/trace/alert_-MGMTDB.log
--> mgmtdb 관련 작업하는지 확인하려면 해당 로그를 모니터링하면됨 (이미 지우고 업그레이드 했기 때문에 아무 로그도 안남을 것임)
[+ASM1:grid@rdb01d][/home/grid]$
/u01/app/19c/grid/bin/crsctl query crs activeversion -f
Oracle Clusterware
active version on the cluster is [19.0.0.0.0]. The cluster upgrade state is
[NORMAL]. The cluster active patch level is [2119256259].
3-7. grid 업그레이드 후 후속조치
[+ASM1:grid@rdb01d][/u01/app/oraInventory/ContentsXML]$ cat
/u01/app/oraInventory/ContentsXML/inventory.xml
<?xml
version="1.0" standalone="yes" ?>
<!-- Copyright
(c) 1999, 2025, Oracle and/or its affiliates.
All rights
reserved. -->
<!-- Do not modify the contents of
this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>12.2.0.7.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME
NAME="OraDB12Home1" LOC="/u01/app/oracle/product/12c/db_1" TYPE="O"
IDX="2"/>
<HOME NAME="OraGI12Home1" LOC="/u01/app/12c/grid"
TYPE="O" IDX="3"/>
<HOME
NAME="OraGI19Home1" LOC="/u01/app/19c/grid" TYPE="O" IDX="4" CRS="true"/>
<HOME NAME="OUIPlaceHolderDummyHome1"
LOC="/u01/app/oracle/OraPlaceHolderDummyHome_1" TYPE="O" IDX="1"
REMOVED="T"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>
<ONEOFF_LIST/>
[+ASM1:grid@rdb01d][/u01/app/oraInventory/ContentsXML]$ cat
/u01/app/oraInventory/ContentsXML/oui-patch.xml
<?xml
version='1.0' encoding='UTF-8'?>
<!-- Copyright
(c) 2025 Oracle Corporation. All Rights Reserved.
Do not modify the contents of this file by hand.
-->
[+ASM1:grid@rdb01d][/u01/app/oraInventory/ContentsXML]$ cat
/u01/app/oraInventory/ContentsXML/libs.xml
<?xml
version="1.0" standalone="yes" ?>
<!-- Copyright
(c) 1999, 2025, Oracle and/or its affiliates.
All rights
reserved. -->
<!-- Do not modify the contents of
this file by hand. -->
<LIB_LIST>
<QUERY_LIST>
</QUERY_LIST>
<DIALOG_LIST>
</DIALOG_LIST>
<ACTION_LIST>
</ACTION_LIST>
</LIB_LIST>
--1번 노드 12cr2 grid home
detachhome 해줌
[+ASM1:grid@rdb01d][/home/grid]$
/u01/app/12c/grid/oui/bin/runInstaller -detachHome -silent
ORACLE_HOME=/u01/app/12c/grid
Starting Oracle Universal Installer...
Checking swap
space: must be greater than 500 MB. Actual 16383
MB Passed
The inventory pointer is
located at /etc/oraInst.loc
'DetachHome' was
successful.
[+ASM1:grid@rdb01d][/u01/app/oraInventory/ContentsXML]$ cat
/u01/app/oraInventory/ContentsXML/inventory.xml
<?xml
version="1.0" standalone="yes" ?>
<!-- Copyright
(c) 1999, 2025, Oracle and/or its affiliates.
All rights
reserved. -->
<!-- Do not modify the contents of
this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>12.2.0.1.4</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME
NAME="OraDB12Home1" LOC="/u01/app/oracle/product/12c/db_1" TYPE="O"
IDX="2"/>
<HOME NAME="OraGI19Home1"
LOC="/u01/app/19c/grid" TYPE="O" IDX="4" CRS="true"/>
<HOME NAME="OUIPlaceHolderDummyHome1"
LOC="/u01/app/oracle/OraPlaceHolderDummyHome_1" TYPE="O" IDX="1"
REMOVED="T"/>
<HOME NAME="OraGI12Home1" LOC="/u01/app/12c/grid"
TYPE="O" IDX="3" REMOVED="T"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>
--> 12cr2 grid가 removed된 것을 알 수 있음
[+ASM1:grid@rdb01d][/u01/app/oraInventory/ContentsXML]$ cat
/u01/app/oraInventory/ContentsXML/oui-patch.xml
<?xml
version='1.0' encoding='UTF-8'?>
<!-- Copyright
(c) 2025 Oracle Corporation. All Rights Reserved.
Do not modify the contents of this file by hand.
-->
<ONEOFF_LIST/>
<ONEOFF_LIST/>[+ASM1:grid@rdb01d][/u01/app/oraInventory/ContentsXML]$
cat /u01/app/oraInventory/ContentsXML/libs.xml
<?xml
version="1.0" standalone="yes" ?>
<!-- Copyright
(c) 1999, 2025, Oracle and/or its affiliates.
All rights
reserved. -->
<!-- Do not modify the contents of
this file by hand. -->
<LIB_LIST>
<QUERY_LIST>
</QUERY_LIST>
<DIALOG_LIST>
</DIALOG_LIST>
<ACTION_LIST>
</ACTION_LIST>
</LIB_LIST>
[+ASM1:grid@rdb01d][/u01/app/oraInventory/ContentsXML]$ cat
/u01/app/oraInventory/ContentsXML/oui-patch.xml
<?xml
version='1.0' encoding='UTF-8'?>
<!-- Copyright
(c) 2025 Oracle Corporation. All Rights Reserved.
Do not modify the contents of this file by hand.
-->
--> 2번 노드도 detachhome 해줌
[+ASM2:grid@rdb02d][/home/grid]$
/u01/app/12c/grid/oui/bin/runInstaller -detachHome -silent
ORACLE_HOME=/u01/app/12c/grid
Starting Oracle Universal Installer...
Checking swap
space: must be greater than 500 MB. Actual 16383
MB Passed
The inventory pointer is
located at /etc/oraInst.loc
'DetachHome' was
successful.
--여기서 .bash_profile 변경해줌
--1번 노드
[root@rdb01d][/root]$ vi
~grid/.bash_profile
[root@rdb01d][/root]$ cat
~grid/.bash_profile | grep -i GRID_HOME
#export
GRID_HOME=/u01/app/12c/grid
export
GRID_HOME=/u01/app/19c/grid
export
ORACLE_HOME=$GRID_HOME
export
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[root@rdb01d][/root]$
vi ~oracle/.bash_profile
[root@rdb01d][/root]$ cat
~oracle/.bash_profile | grep -i GRID_HOME
#export
GRID_HOME=/u01/app/12c/grid
export
GRID_HOME=/u01/app/19c/grid
export
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[root@rdb01d][/root]$
vi ~root/.bash_profile
[root@rdb01d][/root]$ cat
~root/.bash_profile | grep -i GRID_HOME
#export
GRID_HOME=/u01/app/12c/grid
export
GRID_HOME=/u01/app/19c/grid
export
PATH=$GRID_HOME/bin:$BASE_PATH
--2번 노드
[root@rdb02d][/root]$ vi
~grid/.bash_profile
[root@rdb02d][/root]$ cat
~grid/.bash_profile | grep -i GRID_HOME
#export
GRID_HOME=/u01/app/12c/grid
export
GRID_HOME=/u01/app/19c/grid
export
ORACLE_HOME=$GRID_HOME
export
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[root@rdb02d][/root]$
vi ~oracle/.bash_profile
[root@rdb02d][/root]$ cat
~oracle/.bash_profile | grep -i GRID_HOME
#export
GRID_HOME=/u01/app/12c/grid
export
GRID_HOME=/u01/app/19c/grid
export
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[root@rdb02d][/root]$
vi ~root/.bash_profile
[root@rdb02d][/root]$ cat
~root/.bash_profile | grep -i GRID_HOME
#export
GRID_HOME=/u01/app/12c/grid
export
GRID_HOME=/u01/app/19c/grid
export
PATH=$GRID_HOME/bin:$BASE_PATH
--grid 업그레이드 후 버전 확인
(grid os user로 새로운 세션으로 접속)
[+ASM1:grid@rdb01d][/home/grid]$ which
crsctl
/u01/app/19c/grid/bin/crsctl
[+ASM1:grid@rdb01d][/home/grid]$ crsctl query crs
softwareversion -all
Oracle Clusterware version on node [rdb01d] is
[19.0.0.0.0]
Oracle Clusterware version on node [rdb02d]
is [19.0.0.0.0]
[+ASM1:grid@rdb01d][/home/grid]$ crsctl query crs
activeversion -f
Oracle Clusterware active version on the cluster is
[19.0.0.0.0]. The cluster upgrade state is [NORMAL]. The cluster active patch
level is [2119256259].
[+ASM1:grid@rdb01d][/home/grid]$ crsctl query crs
releasepatch
Oracle Clusterware release patch level is [2119256259] and
the complete list of patches [36758186 37642901 37643161 37654975 37762426 ]
have been applied on the local node. The release patch string is
[19.27.0.0.0].
[+ASM1:grid@rdb01d][/home/grid]$ alias
sa
alias sa='rlwrap
sqlplus "/as sysasm"'
[+ASM1:grid@rdb01d][/home/grid]$ sa
SQL*Plus: Release
19.0.0.0.0 - Production on Mon Jul 21 23:26:45 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c
Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
SQL> select banner_full from v$version;
BANNER_FULL
--------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 -
Production
Version 19.27.0.0.0
--oracle os user로 접속한 후
database start
[DRDB1:oracle@rdb01d][/home/oracle]$ which
srvctl
/u01/app/oracle/product/12c/db_1/bin/srvctl
[DRDB1:oracle@rdb01d][/home/oracle]$ srvctl start database
-db drdb
ora.drdb.db
1 ONLINE
ONLINE
rdb01d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
2 ONLINE
ONLINE
rdb02d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
--> 현재 19c grid 엔진 위에서 12cR2 DB가 구동되고 있는
상태임
[+ASM1:grid@rdb01d][/home/grid]$ grep 19c
/etc/init.d/init.ohasd
ORA_CRS_HOME=/u01/app/19c/grid
[+ASM1:grid@rdb01d][/home/grid]$ ps -ef | grep grid | grep
d.bin
root
2812 1 1 13:57
? 00:06:13
/u01/app/19c/grid/bin/ohasd.bin reboot
_ORA_BLOCKING_STACK_LOCALE=AMERICAN_AMERICA.AL32UTF8
root
2961 1 0 13:57
? 00:03:01
/u01/app/19c/grid/bin/orarootagent.bin
grid
3137 1 0 13:57
? 00:04:46
/u01/app/19c/grid/bin/oraagent.bin
grid
3159 1 0 13:57
? 00:01:44
/u01/app/19c/grid/bin/mdnsd.bin
grid
3161 1 1 13:57
? 00:10:42
/u01/app/19c/grid/bin/evmd.bin
grid
3227 1 0 13:57
? 00:02:00
/u01/app/19c/grid/bin/gpnpd.bin
grid 3256 3161 0
13:57 ? 00:01:41
/u01/app/19c/grid/bin/evmlogger.bin -o
/u01/app/19c/grid/log/[HOSTNAME]/evmd/evmlogger.info -l
/u01/app/19c/grid/log/[HOSTNAME]/evmd/evmlogger.log
grid
3264 1 0 13:57
? 00:05:12
/u01/app/19c/grid/bin/gipcd.bin
root
3388 1 1 13:58
? 00:09:20
/u01/app/19c/grid/bin/cssdmonitor
root
3394 1 1 13:58
? 00:08:10
/u01/app/19c/grid/bin/osysmond.bin
root
3429 1 1 13:58
? 00:09:18
/u01/app/19c/grid/bin/cssdagent
grid
3486 1 4 13:58
? 00:25:14
/u01/app/19c/grid/bin/ocssd.bin
grid 3673 1685 0
23:29 pts/1 00:00:00 grep --color=auto d.bin
root
4109 1 2 13:58
? 00:16:03
/u01/app/19c/grid/bin/octssd.bin reboot
root
4635 1 2 13:58
? 00:12:33
/u01/app/19c/grid/bin/crsd.bin reboot
root
4935 1 2 13:58
? 00:11:57
/u01/app/19c/grid/bin/orarootagent.bin
oracle 5745
1 0 23:26 ? 00:00:01
/u01/app/19c/grid/bin/oraagent.bin
grid
6683 1 0 14:24
? 00:00:01
/u01/app/19c/grid/bin/tnslsnr LISTENER_SCAN2 -no_crs_notify -inherit
grid
6690 1 0 14:24
? 00:00:01
/u01/app/19c/grid/bin/tnslsnr LISTENER_SCAN3 -no_crs_notify -inherit
grid
6986 1 1 14:01
? 00:10:04
/u01/app/19c/grid/bin/oraagent.bin
grid
7022 1 0 14:01
? 00:00:16
/u01/app/19c/grid/bin/tnslsnr ASMNET1LSNR_ASM -no_crs_notify -inherit
grid
7069 1 0 14:01
? 00:00:01
/u01/app/19c/grid/bin/tnslsnr LISTENER -no_crs_notify
-inherit
4. Oracle 19c 엔진 설치 및 DB 업그레이드
4-1. DB 백업
--> DB 백업은 1번 노드에서만 수행
[DRDB1:oracle@rdb01d][/home/oracle]$ mkdir -pv
/tmp/backup_before_upgrade/rman_full_backup/autobackup
mkdir: created
directory ‘/tmp/backup_before_upgrade/rman_full_backup’
mkdir: created directory
‘/tmp/backup_before_upgrade/rman_full_backup/autobackup’
[DRDB1:oracle@rdb01d][/home/oracle]$ alias
rt
alias rt='rman
target /'
[DRDB1:oracle@rdb01d][/home/oracle]$ rt
Recovery Manager: Release 12.2.0.1.0 - Production on Tue Jul 22 20:53:03 2025
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
connected to target database: DRDB (DBID=1008397436)
run {
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
CONFIGURE BACKUP OPTIMIZATION OFF;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE
DISK TO '/tmp/backup_before_upgrade/rman_full_backup/autobackup/%F';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO
'/tmp/backup_before_upgrade/rman_full_backup/snapcf_CA.f';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO
BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE
TYPE DISK TO 1;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR
DEVICE TYPE DISK TO 1;
CONFIGURE ARCHIVELOG DELETION
POLICY TO NONE;
CONFIGURE RMAN OUTPUT TO KEEP FOR 7
DAYS;
CONFIGURE MAXSETSIZE TO UNLIMITED;
CONFIGURE ENCRYPTION FOR DATABASE OFF;
CONFIGURE ENCRYPTION ALGORITHM 'AES128';
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE
'DEFAULT' OPTIMIZE FOR LOAD TRUE;
}
RUN {
ALLOCATE CHANNEL
c1 TYPE DISK;
ALLOCATE CHANNEL c2 TYPE DISK;
ALLOCATE CHANNEL c3 TYPE DISK;
ALLOCATE CHANNEL c4 TYPE DISK;
crosscheck
backupset;
crosscheck backup;
crosscheck copy;
crosscheck
archivelog all;
sql 'alter system archive log
current';
sql 'alter system checkpoint';
BACKUP AS COMPRESSED BACKUPSET DATABASE FORMAT
'/tmp/backup_before_upgrade/rman_full_backup/full_%d_%T_%U.bkp';
delete noprompt
obsolete;
delete noprompt expired
backup;
RELEASE CHANNEL
c1;
RELEASE CHANNEL c2;
RELEASE
CHANNEL c3;
RELEASE CHANNEL
c4;
}
run {
backup archivelog all format
'/tmp/backup_before_upgrade/rman_full_backup/%d_ARCHIVE_%T_%u_s%s_p%p' delete
input;
}
RMAN> quit
[DRDB1:oracle@rdb01d][/home/oracle]$ ls -alR
/tmp/backup_before_upgrade/rman_full_backup/
/tmp/backup_before_upgrade/rman_full_backup/:
total 733880
drwxr-xr-x. 3 oracle
oinstall 4096 Jul 22 21:02 .
drwxr-xr-x. 3 oracle
oinstall 30 Jul 22 20:52 ..
drwxr-xr-x. 2 oracle
oinstall 70 Jul 22 21:02 autobackup
-rw-r-----. 1 oracle asmadmin 202496000 Jul 22 21:02
DRDB_ARCHIVE_20250722_a63v7t3m_s326_p1
-rw-r-----. 1
oracle asmadmin 14483456 Jul 22 21:01
full_DRDB_20250722_a13v7t0s_1_1.bkp
-rw-r-----. 1 oracle
asmadmin 281247744 Jul 22 21:01 full_DRDB_20250722_a23v7t0t_1_1.bkp
-rw-r-----. 1 oracle asmadmin 4161536 Jul 22
21:01 full_DRDB_20250722_a33v7t0t_1_1.bkp
-rw-r-----. 1
oracle asmadmin 228302848 Jul 22 21:01 full_DRDB_20250722_a43v7t0u_1_1.bkp
-rw-r-----. 1 oracle asmadmin 20791296 Jul 22 21:02
snapcf_CA.f
/tmp/backup_before_upgrade/rman_full_backup/autobackup:
total 40804
drwxr-xr-x. 2 oracle
oinstall 70 Jul 22 21:02 .
drwxr-xr-x. 3 oracle oinstall 4096
Jul 22 21:02 ..
-rw-r-----. 1 oracle asmadmin 20889600
Jul 22 21:01 c-1008397436-20250722-03
-rw-r-----. 1
oracle asmadmin 20889600 Jul 22 21:02
c-1008397436-20250722-04
4-2. Oracle 엔진 백업
[root@rdb01d][/root]$ echo $DB_HOME
/u01/app/oracle/product/12c/db_1
[root@rdb01d][/root]$ tar -cvzf /tmp/backup_before_upgrade/oracle_engine_backup.tar.gz $DB_HOME
4-3. db parameter file 백업
[DRDB1:oracle@rdb01d][/u01/app/oracle/product/12c/db_1]$ ss
SQL*Plus: Release 12.2.0.1.0 Production on Tue Jul 22 21:10:14 2025
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c
Enterprise Edition Release 12.2.0.1.0 - 64bit Production
[2025-07-22:21:10:14][rdb01d]<SYS@DRDB1> create pfile='/tmp/backup_before_upgrade/pfile_DRDB.ora' from spfile;
File created.
Elapsed: 00:00:00.08
[DRDB1:oracle@rdb01d][/u01/app/oracle/product/12c/db_1]$ ls
-l /tmp/backup_before_upgrade/pfile_DRDB.ora
-rw-r--r--. 1
oracle asmadmin 2407 Jul 22 21:10
/tmp/backup_before_upgrade/pfile_DRDB.ora
4-4. Oracle 19c 엔진 설치
--오라클 엔진 압축
해제
[DRDB1:oracle@rdb01d][/u01/app/oracle/product/12c/db_1]$
mkdir -pv /u01/app/oracle/product/19c/db_1
mkdir: created
directory ‘/u01/app/oracle/product/19c’
mkdir: created
directory ‘/u01/app/oracle/product/19c/db_1’
[DRDB1:oracle@rdb01d][/u01/app/oracle/product/12c/db_1]$ unzip /tmp/19.27/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19c/db_1
--opatch 설치
[DRDB1:oracle@rdb01d][/home/oracle]$ mv
/u01/app/oracle/product/19c/db_1/OPatch
/u01/app/oracle/product/19c/db_1/OPatch.bak.20250712
[DRDB1:oracle@rdb01d][/home/oracle]$ unzip
/tmp/19.27/p6880880_190000_Linux-x86-64.zip -d
/u01/app/oracle/product/19c/db_1/
[DRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/19c/db_1/OPatch/opatch version
OPatch Version: 12.2.0.1.46
OPatch succeeded.
--오라클 19c 엔진 패치
적용
--> 19.27 RU Patch readme
파일 확인
Patch Number |
Description
| Applicable Homes
-------------|-----------------------------------------|--------------------------------------------------------------------------------------------------
37642901 | Database Release
Update 19.27.0.0.250415| Only Oracle home for non-Oracle RAC setup. Both Oracle
home and Grid home for Oracle RAC setup.
37654975 | OCW Release Update
19.27.0.0.250415 | Both Oracle home and Grid home.
37643161 | ACFS Release Update
19.27.0.0.250415 | Only Grid home.
37762426 | Tomcat Release Update
19.0.0.0.0 | Only Grid home.
36758186 | DBWLM Release Update
19.0.0.0.0 | Only Grid
home.
[DRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/19c/db_1/runInstaller -applyRU
/tmp/19.27/37641958/37642901 \
-applyOneOffs
/tmp/19.27/37641958/37654975
-->
applyRU 자리에는 37642901(Database Release Update 19.27.0.0.250415)가 위치함
--> applyOneOffs 자리에는 37654975(OCW Release Update
19.27.0.0.250415)가 위치함
--> 패치가 완료되고 설치 GUI 화면이 뜬다면
아래의 절차로 Resonse File 생성할 수있음
Set up Software Only -> Next
Oracle Real Application Clusters database installation
-> Next
노드 선택 후 -> Next
Enterprise Edtition -> Next
Oracle base : /u01/app/oracle -> Next
dba, oper, backupdba, dgdba, kmdba, racdba -> Next
Automatically run configuration scripts -> Next
verification Result 보고 이상없으면 -> Next
Save Reponse File -> /home/oracle/db_19c.rsp -> Save
-> 그후 Cancel하고 나옴 (Submit하지 말것!)
--gui를 통해서 reponse 파일을 생성한다면
response file 생성 후
--아래의 명령으로 사용한 response 파일
생성
[DRDB1:oracle@rdb01d][/home/oracle]$ awk -F= 'NF &&
$1 !~ /^#/ && $2!=""' /home/oracle/db_19c.rsp >
/home/oracle/db_19c_new.rsp
[DRDB1:oracle@rdb01d][/home/oracle]$ cat
/home/oracle/db_19c_new.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rootconfig.executeRootScript=false
oracle.install.db.CLUSTER_NODES=rdb01d,rdb02d
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.ConfigureAsContainerDB=false
oracle.install.db.config.starterdb.memoryOption=false
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.managementOption=DEFAULT
oracle.install.db.config.starterdb.omsPort=0
oracle.install.db.config.starterdb.enableRecovery=false
--> 아까 했지만 혹시 모르니 한번 더
해줌
[DRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/12c/db_1/oui/prov/resources/scripts/sshUserSetup.sh
-user oracle -hosts "rdb01d rdb02d" -noPromptPassphrase
-advanced
--> 설치가 제대로 될지
확인
[DRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/19c/db_1/runInstaller \
-executePrereqs \
-responseFile
/home/oracle/db_19c_new.rsp \
-silent
--19c oracle 엔진
설치
[DRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/19c/db_1/runInstaller -ignorePrereqFailure
-waitforcompletion -silent \
-responseFile /home/oracle/db_19c_new.rsp
Launching Oracle Database Setup Wizard...
[WARNING]
[INS-13013] Target environment does not meet some mandatory requirements.
CAUSE: Some of the mandatory prerequisites are
not met. See logs for details.
/u01/app/oraInventory/logs/InstallActions2025-07-23_01-33-21PM/installActions2025-07-23_01-33-21PM.log
ACTION: Identify the list of failed
prerequisite checks from the log:
/u01/app/oraInventory/logs/InstallActions2025-07-23_01-33-21PM/installActions2025-07-23_01-33-21PM.log.
Then either from the log file or from installation manual find the appropriate
configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
/u01/app/oracle/product/19c/db_1/install/response/db_2025-07-23_01-33-21PM.rsp
You can find the
log of this install session at:
/u01/app/oraInventory/logs/InstallActions2025-07-23_01-33-21PM/installActions2025-07-23_01-33-21PM.log
As a root user,
execute the following script(s):
1.
/u01/app/oracle/product/19c/db_1/root.sh
Execute
/u01/app/oracle/product/19c/db_1/root.sh on the following nodes:
[rdb01d, rdb02d]
Successfully Setup
Software with warning(s).
--로그 모니터링
[DRDB1:oracle@rdb01d][/home/oracle]$ tail -f
/u01/app/oraInventory/logs/InstallActions2025-07-23_01-33-21PM/installActions2025-07-23_01-33-21PM.log
--1번 노드에서
수행
[root@rdb01d][/root]$
/u01/app/oracle/product/19c/db_1/root.sh
Check
/u01/app/oracle/product/19c/db_1/install/root_rdb01d_2025-07-23_17-20-47-184222530.log
for the output of root script
[root@rdb01d][/root]$ cat
/u01/app/oracle/product/19c/db_1/install/root_rdb01d_2025-07-23_17-20-47-184222530.log
Performing root user operation.
The following
environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/19c/db_1
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin
...
Entries will be
added to the /etc/oratab file as needed by
Database
Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
--2번 노드에서
수행
[root@rdb02d][/root]$
/u01/app/oracle/product/19c/db_1/root.sh
Check
/u01/app/oracle/product/19c/db_1/install/root_rdb02d_2025-07-23_17-21-48-540836416.log
for the output of root script
[root@rdb02d][/root]$ cat
/u01/app/oracle/product/19c/db_1/install/root_rdb02d_2025-07-23_17-21-48-540836416.log
Performing root
user operation.
The following
environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/19c/db_1
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin
...
Entries will be
added to the /etc/oratab file as needed by
Database
Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be
performed.
4-5. Oracle DB를 19c로 업그레이드 전 사전 점검
4-5-1. Invalid Object 확인
[DRDB1:oracle@rdb01d][/home/oracle]$ alias
ss
alias ss='rlwrap
sqlplus "/as sysdba"'
[DRDB1:oracle@rdb01d][/home/oracle]$ ss
SQL*Plus: Release 12.2.0.1.0 Production on Wed Jul 23 17:25:35 2025
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c
Enterprise Edition Release 12.2.0.1.0 - 64bit Production
[2025-07-23:17:25:35][rdb01d]<SYS@DRDB1> SELECT COUNT(*) AS CNT FROM DBA_OBJECTS WHERE STATUS <> 'VALID';
CNT
----------
0
1 row selected.
Elapsed:
00:00:00.03
[2025-07-23:17:25:35][rdb01d]<SYS@DRDB1>
--INVALID 한 OBJECT가 있을 경우 아래의
SQL문을 활용할 것
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || '"'|| OBJECT_NAME ||
'"' || ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE 1=1
AND OBJECT_TYPE IN ('PACKAGE')
AND STATUS
= 'INVALID'
)
UNION
ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER PACKAGE'|| ' ' || OWNER || '.' || '"'|| OBJECT_NAME || '"' || '
COMPILE BODY;' AS DDL
FROM
DBA_OBJECTS
WHERE 1=1
AND OBJECT_TYPE IN ('PACKAGE BODY')
AND STATUS
= 'INVALID'
)
UNION ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER PUBLIC ' || OBJECT_TYPE || ' ' || '"' || OBJECT_NAME || '"'
|| ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE 1=1
AND OBJECT_TYPE IN ('SYNONYM') AND OWNER = 'PUBLIC'
AND STATUS = 'INVALID'
)
UNION ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || '"'|| OBJECT_NAME ||
'"' || ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE 1=1
AND OBJECT_TYPE IN ('TYPE')
AND STATUS
= 'INVALID'
)
UNION
ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER TYPE' || ' ' || OWNER || '.' || '"'|| OBJECT_NAME || '"' ||
' COMPILE BODY;' AS DDL
FROM
DBA_OBJECTS
WHERE 1=1
AND OBJECT_TYPE IN ('TYPE BODY')
AND STATUS
= 'INVALID'
)
UNION
ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || '"'|| OBJECT_NAME ||
'"' || ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE 1=1
AND OBJECT_TYPE IN ('VIEW')
AND STATUS
= 'INVALID'
)
UNION
ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || '"'|| OBJECT_NAME ||
'"' || ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE 1=1
AND OBJECT_TYPE IN ('PROCEDURE')
AND STATUS
= 'INVALID'
)
UNION
ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || '"'|| OBJECT_NAME ||
'"' || ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE 1=1
AND OBJECT_TYPE IN ('TRIGGER')
AND STATUS
= 'INVALID'
)
ORDER
BY 3
;
----------------------------------컴파일 도중 아래와 같은 트러블 슈팅을 함
(START)----------------------------------
--> INVALID한 것 중 동일한 객체인데 VALID한 것이 존재하는 것을 확인
--> INVALID한 상태인데 동일 객체 기준 VALID 한것이 존재하지 않는다면 재컴파일
대상임
--> Duplicate Invalid Types That Won''t Compile
(Doc ID 748109.1) 참고
SELECT A.OBJECT_ID
, A.OWNER
, A.OBJECT_NAME
, A.OBJECT_TYPE
, A.STATUS
FROM DBA_OBJECTS A
WHERE
1=1
AND A.STATUS IN ('INVALID')
AND NOT EXISTS (SELECT 1
FROM DBA_OBJECTS K
WHERE K.OWNER = A.OWNER
AND K.OBJECT_TYPE = A.OBJECT_TYPE
AND K.OBJECT_NAME = A.OBJECT_NAME
AND K.STATUS = 'VALID'
)
;
--컴파일 중 문제 발생 시 아래와 같은 방식으로
진행
ALTER SYSTEM SET
"_system_trig_enabled" = FALSE;
@$ORACLE_HOME/rdbms/admin/utlrp.sql
ALTER SYSTEM SET "_system_trig_enabled" =
TRUE;
--그 외 아래와 같은 조치도 고려함
GRANT EXECUTE ON
UTL_HTTP TO PUBLIC;
----------------------------------컴파일 도중 아래와 같은 트러블 슈팅을 함
(END)----------------------------------
4-5-2. gloin.sql
비활성화
--> glogin.sql 이 세팅되어 있는 경우
업그레이드 작업 중 문제가 발생하는 경우가 있으므로 비활성화 시키고 시작
[DRDB1:oracle@rdb01d][/home/oracle]$ mv
/u01/app/oracle/product/12c/db_1/sqlplus/admin/glogin.sql
/u01/app/oracle/product/12c/db_1/sqlplus/admin/glogin.sql.bak
4-5-3. preupgrade.jar 실행
[DRDB1:oracle@rdb01d][/home/oracle]$ /u01/app/oracle/product/12c/db_1/jdk/bin/java -jar /u01/app/oracle/product/19c/db_1/rdbms/admin/preupgrade.jar TERMINAL TEXT
Report generated
by Oracle Database Pre-Upgrade Information Tool Version
19.0.0.0.0 Build: 13 on
2025-07-23T17:29:10
Upgrade-To version: 19.0.0.0.0
=======================================
Status of the database prior to upgrade
=======================================
Database Name: DRDB
Container Name: DRDB
Container ID:
0
Version: 12.2.0.1.0
DB
Patch Level: DATABASE JAN 2022 RELEASE UPDATE 12.2.0.1.220118
Compatible: 12.2.0
Blocksize: 8192
Platform: Linux x86 64-bit
Timezone File: 26
Database log mode: ARCHIVELOG
Readonly: FALSE
Edition: EE
Oracle
Component
Upgrade Action Current Status
----------------
-------------- --------------
Oracle
Server
[to be upgraded] VALID
JServer JAVA Virtual
Machine [to be
upgraded] VALID
Oracle XDK for
Java
[to be upgraded] VALID
Real Application
Clusters
[to be upgraded] VALID
Oracle Workspace
Manager
[to be upgraded] VALID
OLAP Analytic
Workspace
[to be upgraded] VALID
Oracle Label
Security
[to be upgraded] VALID
Oracle Database
Vault
[to be upgraded] VALID
Oracle
Text
[to be upgraded] VALID
Oracle XML
Database
[to be upgraded] VALID
Oracle Java
Packages
[to be upgraded] VALID
Oracle
Multimedia
[to be upgraded] VALID
Oracle
Spatial
[to be upgraded] VALID
Oracle OLAP
API
[to be upgraded] VALID
==============
BEFORE UPGRADE
==============
REQUIRED
ACTIONS
================
None
RECOMMENDED
ACTIONS
===================
1. (AUTOFIXUP) Load the Unified Audit records
from OS spillover audit files
to database audit table
using DBMS_AUDIT_MGMT.LOAD_UNIFIED_AUDIT_FILES
api before
upgrade.
There are Unified Audit records present in the OS spillover audit files.
Oracle Unified Audit records
present in the OS spillover audit files must
be loaded to the database
audit table before database upgrade to ensure
they can be read after
upgrade. For more information, refer to
"LOAD_UNIFIED_AUDIT_FILES
Procedure" in Database PL/SQL Packages and
Types
Reference.
2. Review and remove any unnecessary HIDDEN/UNDERSCORE parameters.
The database contains the
following initialization parameters whose name
begins with an
underscore:
_ipddb_enable
Remove hidden parameters
before database upgrade unless your application
vendors and/or Oracle
Support state differently. Changes will need to be
made in the
pfile/spfile.
3.
(AUTOFIXUP) Gather stale data dictionary statistics prior to database
upgrade in off-peak time
using:
EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;
Dictionary statistics do not exist or are stale (not up-to-date).
Dictionary statistics help
the Oracle optimizer find efficient SQL
execution plans and are
essential for proper upgrade timing. Oracle
recommends gathering
dictionary statistics in the last 24 hours before
database
upgrade.
For information on managing
optimizer statistics, refer to the 12.2.0.1
Oracle Database SQL Tuning
Guide.
INFORMATION
ONLY
================
4. Here are ALL the components in this
database registry:
Component
Current Current
Original Previous Component
CID Version
Status Version
Version Schema
--------- -----------
----------- ----------- ----------- -----------
APS 12.2.0.1.0
VALID
SYS
CATALOG
12.2.0.1.0
VALID
SYS
CATJAVA
12.2.0.1.0
VALID
SYS
CATPROC
12.2.0.1.0
VALID
SYS
CONTEXT
12.2.0.1.0
VALID
CTXSYS
DV 12.2.0.1.0
VALID
DVSYS
JAVAVM 12.2.0.1.0
VALID
SYS
OLS 12.2.0.1.0
VALID
LBACSYS
ORDIM 12.2.0.1.0
VALID
ORDSYS
OWM 12.2.0.1.0
VALID
WMSYS
RAC 12.2.0.1.0
VALID
SYS
SDO 12.2.0.1.0
VALID
MDSYS
XDB 12.2.0.1.0
VALID
XDB
XML 12.2.0.1.0
VALID
SYS
XOQ 12.2.0.1.0
VALID
OLAPSYS
Review the information before upgrading.
5. To
help you keep track of your tablespace allocations, the following
AUTOEXTEND tablespaces are
expected to successfully EXTEND during the
upgrade
process.
Min Size
Tablespace
Size For Upgrade
----------
---------- -----------
SYSTEM
860 MB 967 MB
TEMP
46 MB 150 MB
UNDOTBS1
185 MB 440 MB
Minimum tablespace sizes for upgrade are estimates.
6.
Check the Oracle Backup and Recovery User''s Guide for information on how
to manage an RMAN recovery
catalog schema.
If you are using a version
of the recovery catalog schema that is older
than that required by the
RMAN client version, then you must upgrade the
catalog
schema.
It is good practice to have
the catalog schema the same or higher version
than the RMAN client version
you are using.
7. Here is a count of invalid objects by Oracle-maintained users:
Oracle-Maintained User
Name
Number of INVALID Objects
---------------------------
-------------------------
None
None
Review the information before upgrading.
8. Here is a count of invalid objects by Application users:
Application User
Name
Number of INVALID Objects
---------------------------
-------------------------
None
None
Review the information before upgrading.
ORACLE
GENERATED FIXUP SCRIPT
=============================
All of the issues
in database DRDB
which are identified above as
BEFORE UPGRADE "(AUTOFIXUP)" can be resolved by
executing the following
SQL>@/u01/app/oracle/cfgtoollogs/DRDB/preupgrade/preupgrade_fixups.sql
=============
AFTER UPGRADE
=============
REQUIRED
ACTIONS
================
None
RECOMMENDED
ACTIONS
===================
9. Upgrade the database time zone file using
the DBMS_DST package.
The database is using time
zone file version 26 and the target 19 release
ships with time zone file
version 32.
Oracle recommends upgrading
to the desired (latest) version of the time
zone file. For more
information, refer to "Upgrading the Time Zone File
and Timestamp with Time Zone
Data" in the 19 Oracle Database
Globalization Support
Guide.
10.
Recreate directory objects to remove any symbolic links from directory
paths. To identify
paths that contain symbolic links before upgrading,
use OS commands like UNIX
file or WINDOWS dir. After upgrading, run
$ORACLE_HOME/rdbms/admin/utldirsymlink.sql to identify directory objects
with symbolic links in the
path.
Found 5 user directory
objects to be checked: DBMS_OPTIM_ADMINDIR,
DBMS_OPTIM_LOGDIR,
D_LINK_TNS_DRDB_STB, RMAN_TMP_DIR, TMP_DIR.
Starting in Release 18c,
symbolic links are not allowed in directory
object paths used with BFILE
data types, the UTL_FILE package, or
external
tables.
11.
(AUTOFIXUP) Gather dictionary statistics after the upgrade using the
command:
EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;
Oracle recommends gathering dictionary statistics after upgrade.
Dictionary statistics
provide essential information to the Oracle
optimizer to help it find
efficient SQL execution plans. After a database
upgrade, statistics need to
be re-gathered as there can now be tables
that have significantly
changed during the upgrade or new tables that do
not have statistics gathered
yet.
12. Gather
statistics on fixed objects after the upgrade and when there is a
representative workload on
the system using the command:
EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
This recommendation is given for all preupgrade runs.
Fixed object statistics
provide essential information to the Oracle
optimizer to help it find
efficient SQL execution plans. Those
statistics are specific to
the Oracle Database release that generates
them, and can be stale upon
database upgrade.
For information on managing
optimizer statistics, refer to the 12.2.0.1
Oracle Database SQL Tuning
Guide.
ORACLE
GENERATED FIXUP SCRIPT
=============================
All of the issues
in database DRDB
which are identified above as
AFTER UPGRADE "(AUTOFIXUP)" can be resolved by
executing the following
SQL>@/u01/app/oracle/cfgtoollogs/DRDB/preupgrade/postupgrade_fixups.sql
==================
PREUPGRADE SUMMARY
==================
/u01/app/oracle/cfgtoollogs/DRDB/preupgrade/preupgrade.log
/u01/app/oracle/cfgtoollogs/DRDB/preupgrade/preupgrade_fixups.sql
/u01/app/oracle/cfgtoollogs/DRDB/preupgrade/postupgrade_fixups.sql
Execute fixup scripts as indicated below:
Before upgrade:
Log into the
database and execute the preupgrade fixups
@/u01/app/oracle/cfgtoollogs/DRDB/preupgrade/preupgrade_fixups.sql
After the upgrade:
Log into the
database and execute the postupgrade fixups
@/u01/app/oracle/cfgtoollogs/DRDB/preupgrade/postupgrade_fixups.sql
Preupgrade complete: 2025-07-23T17:29:10
[DRDB1:oracle@rdb01d][/home/oracle]$ alias ss
alias ss='rlwrap sqlplus "/as sysdba"'
[DRDB1:oracle@rdb01d][/home/oracle]$ ss
SQL*Plus: Release 12.2.0.1.0 Production on Wed Jul 23 17:33:55 2025
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c
Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> @/u01/app/oracle/cfgtoollogs/DRDB/preupgrade/preupgrade_fixups.sql
Executing Oracle PRE-Upgrade Fixup Script
Auto-Generated
by: Oracle Preupgrade Script
Version: 19.0.0.0.0 Build: 13
Generated
on: 2025-07-23
17:29:03
For Source
Database: DRDB
Source Database
Version: 12.2.0.1.0
For Upgrade to Version:
19.0.0.0.0
Preup
Preupgrade
Action
Issue Is
Number Preupgrade Check
Name Remedied Further DBA Action
------ ------------------------
---------- --------------------------------
1. uniaud_records_in_file
YES None.
2.
hidden_params
NO Informational only.
Further action is optional.
3. dictionary_stats
YES None.
4.
component_info
NO Informational only.
Further action is optional.
5.
tablespaces_info
NO Informational only.
Further action is optional.
6.
rman_recovery_version
NO Informational only.
Further action is optional.
7.
invalid_ora_obj_info
NO Informational only.
Further action is optional.
8.
invalid_app_obj_info
NO Informational only.
Further action is optional.
The fixup scripts
have been run and resolved what they can. However,
there
are still issues originally identified by the preupgrade that
have not been remedied and are still present in the
database.
Depending on the severity of the specific
issue, and the nature of
the issue itself, that could
mean that your database is not ready
for upgrade.
To resolve the outstanding issues, start by reviewing
the preupgrade_fixups.sql and searching it for the name
of
the failed CHECK NAME or Preupgrade Action Number
listed above.
There you will find the original
corresponding diagnostic message
from the preupgrade
which explains in more detail what still needs
to be
done.
PL/SQL procedure successfully completed.
4-5-4. 업그레이드 전 필수 사전 작업
SQL>
set line 1000
set pages 5000
col tablespace_name
for a30
col file_name for a80
col free_space for 9999999
compute
sum of total_space on report
compute sum of free_space
on report
compute sum of MAX_SPACE on report
break on tablespace_name on report
nodup
SELECT
C.TABLESPACE_NAME
,
A.AUTOEXTENSIBLE
,
A.FILE_NAME
, A.TOTAL_SPACE
, B.FREE_SPACE
, ROUND(B.FREE_SPACE/A.TOTAL_SPACE
*100,2) "FREE%"
,
A.MAX_SPACE
FROM (SELECT FILE_ID
, FILE_NAME
, SUM(BYTES)/1024/1024 TOTAL_SPACE
, SUM(MAXBYTES)/1024/1024/1024 MAX_SPACE
, AUTOEXTENSIBLE
FROM
DBA_DATA_FILES
GROUP BY
FILE_ID,FILE_NAME,AUTOEXTENSIBLE) A
,(SELECT FILE_ID
, NVL(SUM(BYTES)/1024/1024,0) FREE_SPACE
FROM
DBA_FREE_SPACE
GROUP BY
FILE_ID) B
, (SELECT
TABLESPACE_NAME
, FILE_ID
FROM
DBA_DATA_FILES) C
WHERE A.FILE_ID=B.FILE_ID(+)
AND A.FILE_ID=C.FILE_ID
ORDER BY TABLESPACE_NAME;
TABLESPACE_NAME
AUTOEXTEN
FILE_NAME
TOTAL_SPACE FREE_SPACE FREE% MAX_SPACE
------------------------------ ---------
--------------------------------------------------------------------------------
----------- ---------- ---------- ----------
SYSAUX
YES
+DATA1/DRDB/DATAFILE/sysaux.258.1196204689
1480 297
20.09 31.9999847
SYSTEM
YES
+DATA1/DRDB/DATAFILE/system.257.1196204603
860
3 .36 31.9999847
TUNER_DATA1
YES
+DATA1/DRDB/DATAFILE/tuner_data1.269.1197155159
1536
122 7.96 31.9999847
TUNER_IDX1
YES
+DATA1/DRDB/DATAFILE/tuner_idx1.270.1197155177
1024 984
96.08 31.9999847
UNDOTBS1
YES
+DATA1/DRDB/DATAFILE/undotbs1.259.1196204725
185 153
82.57 31.9999847
UNDOTBS2
YES
+DATA1/DRDB/DATAFILE/undotbs2.265.1196204885
75
52 69 31.9999847
USERS
YES
+DATA1/DRDB/DATAFILE/users.260.1196204725
5
4 80 31.9999847
******************************
-----------
----------
----------
sum
5165
1615
223.999893
--> Autoextend ON이고 MAX_SPACE가 있는지
확인
--SQL> EXECUTE
DBMS_STATS.GATHER_DICTIONARY_STATS;
--> 이건 할필요
없다고 preupgrade 정보에서 나옴
SQL> EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
PL/SQL procedure successfully completed.
SQL> SELECT o.name FROM sys.obj$ o, sys.user$ u,
sys.sum$ s WHERE o.type# = 42 AND bitand(s.mflags, 8) = 8;
no rows selected
SQL>
declare
list_failures integer(3) :=0;
begin
DBMS_MVIEW.REFRESH_ALL_MVIEWS(list_failures,'C','', TRUE,
FALSE);
end;
/
PL/SQL procedure successfully completed.
--플래시백 활성화
(이번에 수행하는 업그레이드 작업은 기존 noncdb를 cdb의 pdb로 copy해와서 진행할 것이기 때문에 플래시백 활성화를 반드시 할 필요는 없음)
[+ASM1:grid@rdb01d][/home/grid]$ asmcmd
lsdg
State Type Rebal
Sector Logical_Sector Block
AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB
Offline_disks Voting_files Name
MOUNTED NORMAL
N
512
512 4096 4194304
6144
5268
2048
1610
0
Y CRS/
MOUNTED EXTERN
N
512
512 4096 4194304
40960
34144
0
34144
0
N DATA1/
MOUNTED EXTERN
N
512
512 4096 4194304
26624
22604
0
22604
0
N FRA1/
MOUNTED EXTERN
N
512
512 4096 4194304
40960
40764
0
40764
0
N MGMT/
--> FRA1 영역에 22604 MB를 사용 가능
[DRDB1:oracle@rdb01d][/home/oracle]$ echo
$ORACLE_HOME
/u01/app/oracle/product/12c/db_1
[DRDB1:oracle@rdb01d][/home/oracle]$ echo
$ORACLE_SID
DRDB1
[DRDB1:oracle@rdb01d][/home/oracle]$ alias
ss
alias ss='rlwrap
sqlplus "/as sysdba"'
[DRDB1:oracle@rdb01d][/home/oracle]$ ss
SQL*Plus: Release 12.2.0.1.0 Production on Thu Jul 24 23:07:52 2025
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c
Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> archive
log list;
Database log
mode
Archive Mode
Automatic
archival
Enabled
Archive
destination
+FRA1
Oldest online log sequence
120
Next log sequence to archive 122
Current log
sequence
122
--> 아카이브 로그는 활성화 된 상태인것을 확인
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------------------------------------------
NO
--> 플래시백 데이터베이스는 비활성화 상태임
SQL> set
linesize 250
SQL> show parameter
recovery
NAME
TYPE
VALUE
------------------------------------
--------------------------------- ------------------------------
db_recovery_file_dest
string
db_recovery_file_dest_size
big
integer
0
recovery_parallelism
integer
0
remote_recovery_file_dest
string
SQL> alter system set db_recovery_file_dest='+FRA1' scope=spfile;
System altered.
SQL> alter system set db_recovery_file_dest_size=32G scope=both;
System altered.
SQL> shutdown immediate;
Database
closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance
started.
Total System
Global Area 5184159744 bytes
Fixed
Size
8631432 bytes
Variable
Size
1946159992 bytes
Database
Buffers 3221225472 bytes
Redo
Buffers
8142848 bytes
Database mounted.
SQL> alter database flashback on;
Database altered.
SQL> alter database open;
Database altered.
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------------------------------------------
YES
SQL> show parameter flashback
NAME
TYPE
VALUE
------------------------------------
--------------------------------- ------------------------------
db_flashback_retention_target
integer
2880
SQL> select * from V$restore_point;
no rows selected
SQL> create restore point pre_upgrade guarantee flashback database;
Restore point created.
SQL>
col name for a20
col
GUARANTEE_FLASHBACK_DATABASE for a10
col TIME for a60
set lines 190
select
NAME,GUARANTEE_FLASHBACK_DATABASE,TIME from V$restore_point;
NAME
GUARANTEE_ TIME
-------------------- ----------
-----------------------------
PRE_UPGRADE
YES 25/07/24
23:08:59.000000000
4-6. Oracle 19c DB에서 신규 CDB 생성
[PTDB:oracle@tdb01p][/u01/app/oracle/product/19c/db_1]$
/u01/app/oracle/product/19c/db_1/bin/dbca
--> dbca UI
방식으로 db를 생성하지 않고 reponsefile 만 생성할 것임
Create a database
-> Next
Advanced configuration -> Next
Oracle Real Application Cluster (RAC) Database ->
General Purpose or Transcation Processing -> Next
rdb01d, rdb02d 모두 선택 -> Next
Global database name : CDRDB
SID :
CDRDB
Create as Container database 체크
Use Local Undo Tablespace for PDBs 체크
Create an empty Container database 선택
-> Next
Use following for the database storage
attributes
Database files storage type : Automatice
Storage Management (ASM)
Database files location :
+FRA1/{DB_UNIQUE_NAME}
Use Oracle-managed Files(OMF) 체크
-> Next
Multiplex redo logs and control files 로 들어간 후
+DATA1 및 +FRA1 추가 -> OK -> Next
Specify Fast
Recovery Area 체크
Recovery files storage type :
Automatice Storage Management (ASM)
Fast Recovery Area :
FRA1
Fast Recovery Area Size : 10240 MB
Enable Archiving 체크 -> Edit archive mode parameters
-> +FRA1 -> OK -> Next
Configure Oracle
Database Valult 및 Configure Oracle Label Securiy 모두 체크 해제 -> Next
Memory : Use Automatice Shared Memory Management에서 SGA 는
1536 MB, PGA는 512 MB로 설정
Sizing : Processes 는 320 으로 설정
Character sets
Use Unicode (AL32UTF8)
National character set : AL16UTF16 -
Unicode UTF-16 Universal character set
Default language : American
Default territory : korea
Conncetion mode : Dedicated server mode
Sample Schemas : 체크 해제 -> Next
Run Cluster Verification utility (CVU) Checks periodically
: 체크
EM 관련 체크 해제 -> Next
Use the same administrative password for all accounts :
oracle 로 비밀번호 설정 -> Next (경고창 나오면 무시하고 YES)
Create
database 체크
Generate database creation scripts 체크 후 값은
{ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/scripts 로 설정
Customize Storage Locations 클릭
Contorol Files 에서 Maximum Datafiles 는
1024로 설정 -> apply -> NEXT
Scan Listener 관련
Failed 라면 -> Ignore All 체크 하고 -> Next
Save
Response File : /home/oracle/dbca_19c.rsp -> save -> Cancel 로
빠져나옴
[DRDB1:oracle@rdb01d][/home/oracle]$ awk -F= 'NF &&
$1 !~ /^#/ && $2!=""' /home/oracle/dbca_19c.rsp >
/home/oracle/dbca_19c_new.rsp
[DRDB1:oracle@rdb01d][/home/oracle]$ cat
/home/oracle/dbca_19c_new.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
gdbName=CDRDB
sid=CDRDB
databaseConfigType=RAC
policyManaged=false
createServerPool=false
force=false
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=pdb
useLocalUndoForPDBs=true
nodelist=rdb01d,rdb02d
templateName=/u01/app/oracle/product/19c/db_1/assistants/dbca/templates/General_Purpose.dbc
systemPassword=
emExpressPort=5500
runCVUChecks=TRUE
omsPort=0
dvConfiguration=false
olsConfiguration=false
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/
datafileDestination=+FRA1/{DB_UNIQUE_NAME}/
recoveryAreaDestination=+FRA1
storageType=ASM
diskGroupName=+FRA1/{DB_UNIQUE_NAME}/
recoveryGroupName=+FRA1
characterSet=AL32UTF8
nationalCharacterSet=AL16UTF16
registerWithDirService=false
listeners=LISTENER
skipListenerRegistration=false
variables=ORACLE_BASE_HOME=/u01/app/oracle/product/19c/db_1,DB_UNIQUE_NAME=CDRDB,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=CDRDB,ORACLE_HOME=/u01/app/oracle/product/19c/db_1,SID=CDRDB
initParams=CDRDB1.undo_tablespace=UNDOTBS1,CDRDB2.undo_tablespace=UNDOTBS2,sga_target=1536MB,db_block_size=8192BYTES,cluster_database=true,family:dw_helper.instance_mode=read-only,log_archive_dest_1='LOCATION=+FRA1',nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP)
(SERVICE=CDRDBXDB),diagnostic_dest={ORACLE_BASE},remote_login_passwordfile=exclusive,db_create_file_dest=+FRA1/{DB_UNIQUE_NAME}/,db_create_online_log_dest_2=+FRA1,db_create_online_log_dest_1=+DATA1,audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,processes=320,pga_aggregate_target=512MB,CDRDB1.thread=1,CDRDB2.thread=2,nls_territory=KOREA,local_listener=-oraagent-dummy-,db_recovery_file_dest_size=10240MB,open_cursors=300,log_archive_format=%t_%s_%r.dbf,compatible=19.0.0,db_name=CDRDB,CDRDB1.instance_number=1,CDRDB2.instance_number=2,db_recovery_file_dest=+FRA1,audit_trail=db
sampleSchema=false
memoryPercentage=40
databaseType=MULTIPURPOSE
automaticMemoryManagement=false
totalMemory=0
--> 분명 dbca 실행 ui에서는 pdb 생성을 안하기로 한거같은데 response file에는 pdb 1개 만들기로 되어 있음 추후 확인해볼것
[DRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/19c/db_1/bin/dbca -silent -ignorePrereqFailure
-createDatabase -responseFile /home/oracle/dbca_19c_new.rsp
Enter SYS user
password:
Enter SYSTEM user password:
Enter DBSNMP user password:
Enter PDBADMIN User Password:
--> 비밀번호 모두 oracle, oracle로 입력함
[WARNING]
[DBT-06208] The 'SYS' password entered does not conform to the Oracle
recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at
least 8 characters in length, contain at least 1 uppercase character, 1 lower
case character and 1 digit [0-9].
b.The password entered
is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required
refer Oracle documentation for guidelines.
[WARNING]
[DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle
recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at
least 8 characters in length, contain at least 1 uppercase character, 1 lower
case character and 1 digit [0-9].
b.The password entered
is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required
refer Oracle documentation for guidelines.
[WARNING]
[DBT-06208] The 'PDBADMIN' password entered does not conform to the Oracle
recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at
least 8 characters in length, contain at least 1 uppercase character, 1 lower
case character and 1 digit [0-9].
b.The password entered
is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required
refer Oracle documentation for guidelines.
[WARNING]
[DBT-06208] The 'DBSNMP' password entered does not conform to the Oracle
recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at
least 8 characters in length, contain at least 1 uppercase character, 1 lower
case character and 1 digit [0-9].
b.The password entered
is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required
refer Oracle documentation for guidelines.
[WARNING]
[DBT-06801] Specified Fast Recovery Area size (10,240 MB) is less than the
recommended value.
CAUSE: Fast Recovery
Area size should at least be three times the database size (3,928 MB).
ACTION: Specify Fast Recovery Area Size to be
at least three times the database size.
Prepare for db
operation
7% complete
Copying
database files
27% complete
Creating and starting Oracle instance
28% complete
31% complete
35% complete
37% complete
40% complete
Creating cluster
database views
41% complete
53%
complete
Completing Database Creation
57% complete
59% complete
60% complete
Creating Pluggable
Databases
64% complete
80%
complete
Executing Post Configuration Actions
100% complete
Database creation
complete. For details check the logfiles at:
/u01/app/oracle/cfgtoollogs/dbca/CDRDB.
Database Information:
Global
Database Name:CDRDB
System Identifier(SID)
Prefix:CDRDB
Look at the log file
"/u01/app/oracle/cfgtoollogs/dbca/CDRDB/CDRDB.log" for further
details.
--아래 위치에 가면 dbca 진행 사항 로그를 확인
가능
--dbca
/u01/app/oracle/cfgtoollogs/dbca/CDRDB
[DRDB1:oracle@rdb01d][/u01/app/oracle/cfgtoollogs/dbca/CDRDB]$ tail -f /u01/app/oracle/cfgtoollogs/dbca/CDRDB/trace.log_2025-07-25_08-24-13PM
--datapatch
/u01/app/oracle/cfgtoollogs/sqlpatch
[DRDB1:oracle@rdb01d][/u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_7505_2025_07_25_20_29_40]$
tail -f
/u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_7505_2025_07_25_20_29_40/sqlpatch_debug.log
--> 로그를 모니터링하면서 진행사항을 확인할 것
--만약 방금 만든 db를
지운다면
/u01/app/oracle/product/19c/db_1/bin/dbca -silent
-deleteDatabase -sourceDB CPTDB -sid CDRDB -sysDBAUserName sys -sysDBAPassword
oracle
--> 정말 지울꺼 아니면 돌리면 안됨!!!
(예시로 정리해 놓은 것임)
--자동으로 grid 에도 등록됨
[DRDB1:oracle@rdb01d][/home/oracle]$ alias
csrt
alias csrt='crsctl
stat res -t'
[DRDB1:oracle@rdb01d][/home/oracle]$
csrt
--------------------------------------------------------------------------------
Name
Target State
Server
State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.chad
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.net1.network
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
ora.ons
ONLINE ONLINE
rdb01d
STABLE
ONLINE ONLINE
rdb02d
STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE
ONLINE
rdb01d
STABLE
2 ONLINE
ONLINE
rdb02d
STABLE
3 OFFLINE
OFFLINE
STABLE
ora.CRS.dg(ora.asmgroup)
1 ONLINE
ONLINE
rdb01d
STABLE
2 ONLINE
ONLINE
rdb02d
STABLE
3 OFFLINE
OFFLINE
STABLE
ora.DATA1.dg(ora.asmgroup)
1 ONLINE
ONLINE
rdb01d
STABLE
2 ONLINE
ONLINE
rdb02d
STABLE
3 OFFLINE
OFFLINE
STABLE
ora.FRA1.dg(ora.asmgroup)
1 ONLINE
ONLINE
rdb01d
STABLE
2 ONLINE
ONLINE
rdb02d
STABLE
3 OFFLINE
OFFLINE
STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE
ONLINE
rdb02d
STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE
ONLINE
rdb01d
STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE
ONLINE
rdb01d
STABLE
ora.MGMT.dg(ora.asmgroup)
1 ONLINE
ONLINE
rdb01d
STABLE
2 ONLINE
ONLINE
rdb02d
STABLE
3 OFFLINE
OFFLINE
STABLE
ora.asm(ora.asmgroup)
1 ONLINE
ONLINE
rdb01d
Started,STABLE
2 ONLINE
ONLINE
rdb02d
Started,STABLE
3 OFFLINE
OFFLINE
STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE
ONLINE
rdb01d
STABLE
2 ONLINE
ONLINE
rdb02d
STABLE
3 ONLINE
OFFLINE
STABLE
ora.cdrdb.db
1 ONLINE
ONLINE
rdb01d
Open,HOME=/u01/app/o
racle/product/19c/db
_1,STABLE
2 ONLINE
ONLINE
rdb02d
Open,HOME=/u01/app/o
racle/product/19c/db
_1,STABLE
ora.cvu
1 ONLINE
ONLINE
rdb02d
STABLE
ora.drdb.db
1 ONLINE
ONLINE
rdb01d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
2 ONLINE
ONLINE
rdb02d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
ora.qosmserver
1 OFFLINE
OFFLINE
STABLE
ora.rdb01d.vip
1 ONLINE
ONLINE
rdb01d
STABLE
ora.rdb02d.vip
1 ONLINE
ONLINE
rdb02d
STABLE
ora.scan1.vip
1 ONLINE
ONLINE
rdb02d
STABLE
ora.scan2.vip
1 ONLINE
ONLINE
rdb01d
STABLE
ora.scan3.vip
1 ONLINE
ONLINE
rdb01d
STABLE
--------------------------------------------------------------------------------
4-7. 기존 12cR2 noncdb의 메타 데이터 생성 (xml 파일
생성)
[DRDB1:oracle@rdb01d][/home/oracle]$ which
srvctl
/u01/app/oracle/product/12c/db_1/bin/srvctl
[DRDB1:oracle@rdb01d][/home/oracle]$ srvctl stop database -db drdb
[DRDB1:oracle@rdb01d][/home/oracle]$ srvctl start database -db drdb -startoption "READ ONLY"
ora.drdb.db
1 ONLINE
ONLINE
rdb01d
Open,Readonly,HOME=/
u01/app/oracle/produ
ct/12c/db_1,STABLE
2 ONLINE
ONLINE
rdb02d
Open,Readonly,HOME=/
u01/app/oracle/produ
ct/12c/db_1,STABLE
[DRDB1:oracle@rdb01d][/home/oracle]$ alias
ss
alias ss='rlwrap
sqlplus "/as sysdba"'
[DRDB1:oracle@rdb01d][/home/oracle]$ which
sqlplus
/u01/app/oracle/product/12c/db_1/bin/sqlplus
[DRDB1:oracle@rdb01d][/home/oracle]$ ss
SQL*Plus: Release 12.2.0.1.0 Production on Fri Jul 25 22:11:46 2025
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c
Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> select open_mode from v$database;
OPEN_MODE
------------------------------------------------------------
READ ONLY
SQL>
BEGIN
DBMS_PDB.DESCRIBE(pdb_descr_file => '/tmp/DRDB_12cR2_noncdb.xml');
END;
/
SQL> quit
[DRDB1:oracle@rdb01d][/home/oracle]$ cat
/tmp/DRDB_12cR2_noncdb.xml
<?xml version="1.0" encoding="UTF-8"?>
<PDB>
<xmlversion>1</xmlversion>
<pdbname>DRDB</pdbname>
<cid>0</cid>
<byteorder>1</byteorder>
<vsn>203424000</vsn>
<vsns>
<vsnnum>12.2.0.1.0</vsnnum>
<cdbcompt>12.2.0.0.0</cdbcompt>
<pdbcompt>12.2.0.0.0</pdbcompt>
<vsnlibnum>0.0.0.0.24</vsnlibnum>
<vsnsql>24</vsnsql>
<vsnbsv>8.0.0.0.0</vsnbsv>
</vsns>
<dbid>1008397436</dbid>
<ncdb2pdb>1</ncdb2pdb>
<cdbid>1008397436</cdbid>
<guid>30B38734AD19110EE0631F00A8C05A6C</guid>
<uscnbas>16058248</uscnbas>
<uscnwrp>0</uscnwrp>
<undoscn>7</undoscn>
<rdba>4194824</rdba>
<tablespace>
<name>SYSTEM</name>
<type>0</type>
<tsn>0</tsn>
<status>1</status>
<issft>0</issft>
<isnft>0</isnft>
<encts>0</encts>
<flags>0</flags>
<bmunitsize>8</bmunitsize>
<file>
<path>+DATA1/DRDB/DATAFILE/system.257.1196204603</path>
<afn>1</afn>
<rfn>1</rfn>
<createscnbas>7</createscnbas>
<createscnwrp>0</createscnwrp>
<status>1</status>
<fileblocks>110080</fileblocks>
<blocksize>8192</blocksize>
<vsn>203423744</vsn>
<fdbid>1008397436</fdbid>
<fcpsb>16058247</fcpsb>
<fcpsw>0</fcpsw>
<frlsb>10682465</frlsb>
<frlsw>0</frlsw>
<frlt>1200392658</frlt>
<autoext>1</autoext>
<maxsize>4194302</maxsize>
<incsize>1280</incsize>
<plugscn>0</plugscn>
<plugafn>0</plugafn>
<plugdbid>0</plugdbid>
</file>
</tablespace>
<tablespace>
<name>SYSAUX</name>
<type>0</type>
<tsn>1</tsn>
<status>1</status>
<issft>0</issft>
<isnft>0</isnft>
<encts>0</encts>
<flags>0</flags>
<bmunitsize>8</bmunitsize>
<file>
<path>+DATA1/DRDB/DATAFILE/sysaux.258.1196204689</path>
<afn>3</afn>
<rfn>3</rfn>
<createscnbas>4665</createscnbas>
<createscnwrp>0</createscnwrp>
<status>1</status>
<fileblocks>189440</fileblocks>
<blocksize>8192</blocksize>
<vsn>203423744</vsn>
<fdbid>1008397436</fdbid>
<fcpsb>16058247</fcpsb>
<fcpsw>0</fcpsw>
<frlsb>10682465</frlsb>
<frlsw>0</frlsw>
<frlt>1200392658</frlt>
<autoext>1</autoext>
<maxsize>4194302</maxsize>
<incsize>1280</incsize>
<plugscn>0</plugscn>
<plugafn>0</plugafn>
<plugdbid>0</plugdbid>
</file>
</tablespace>
<tablespace>
<name>UNDOTBS1</name>
<type>2</type>
<tsn>2</tsn>
<status>1</status>
<issft>0</issft>
<isnft>0</isnft>
<encts>0</encts>
<flags>0</flags>
<bmunitsize>8</bmunitsize>
<file>
<path>+DATA1/DRDB/DATAFILE/undotbs1.259.1196204725</path>
<afn>4</afn>
<rfn>4</rfn>
<createscnbas>1406609</createscnbas>
<createscnwrp>0</createscnwrp>
<status>1</status>
<fileblocks>23680</fileblocks>
<blocksize>8192</blocksize>
<vsn>203423744</vsn>
<fdbid>1008397436</fdbid>
<fcpsb>16058247</fcpsb>
<fcpsw>0</fcpsw>
<frlsb>10682465</frlsb>
<frlsw>0</frlsw>
<frlt>1200392658</frlt>
<autoext>1</autoext>
<maxsize>4194302</maxsize>
<incsize>640</incsize>
<plugscn>0</plugscn>
<plugafn>0</plugafn>
<plugdbid>0</plugdbid>
</file>
</tablespace>
<tablespace>
<name>TEMP</name>
<type>1</type>
<tsn>3</tsn>
<status>1</status>
<issft>0</issft>
<isnft>0</isnft>
<encts>0</encts>
<flags>0</flags>
<bmunitsize>128</bmunitsize>
<file>
<path>+DATA1/DRDB/TEMPFILE/temp.264.1196204817</path>
<afn>1</afn>
<rfn>1</rfn>
<createscnbas>1408675</createscnbas>
<createscnwrp>0</createscnwrp>
<status>1</status>
<fileblocks>5888</fileblocks>
<blocksize>8192</blocksize>
<vsn>203423744</vsn>
<autoext>1</autoext>
<maxsize>4194302</maxsize>
<incsize>80</incsize>
<plugscn>0</plugscn>
<plugafn>0</plugafn>
<plugdbid>0</plugdbid>
</file>
</tablespace>
<tablespace>
<name>USERS</name>
<type>0</type>
<tsn>4</tsn>
<status>1</status>
<issft>0</issft>
<isnft>0</isnft>
<encts>0</encts>
<flags>0</flags>
<bmunitsize>8</bmunitsize>
<file>
<path>+DATA1/DRDB/DATAFILE/users.260.1196204725</path>
<afn>7</afn>
<rfn>7</rfn>
<createscnbas>29999</createscnbas>
<createscnwrp>0</createscnwrp>
<status>1</status>
<fileblocks>640</fileblocks>
<blocksize>8192</blocksize>
<vsn>203423744</vsn>
<fdbid>1008397436</fdbid>
<fcpsb>16058247</fcpsb>
<fcpsw>0</fcpsw>
<frlsb>10682465</frlsb>
<frlsw>0</frlsw>
<frlt>1200392658</frlt>
<autoext>1</autoext>
<maxsize>4194302</maxsize>
<incsize>160</incsize>
<plugscn>0</plugscn>
<plugafn>0</plugafn>
<plugdbid>0</plugdbid>
</file>
</tablespace>
<tablespace>
<name>UNDOTBS2</name>
<type>2</type>
<tsn>5</tsn>
<status>1</status>
<issft>0</issft>
<isnft>0</isnft>
<encts>0</encts>
<flags>0</flags>
<bmunitsize>8</bmunitsize>
<file>
<path>+DATA1/DRDB/DATAFILE/undotbs2.265.1196204885</path>
<afn>5</afn>
<rfn>5</rfn>
<createscnbas>1418153</createscnbas>
<createscnwrp>0</createscnwrp>
<status>1</status>
<fileblocks>9600</fileblocks>
<blocksize>8192</blocksize>
<vsn>203423744</vsn>
<fdbid>1008397436</fdbid>
<fcpsb>16058247</fcpsb>
<fcpsw>0</fcpsw>
<frlsb>10682465</frlsb>
<frlsw>0</frlsw>
<frlt>1200392658</frlt>
<autoext>1</autoext>
<maxsize>4194302</maxsize>
<incsize>3200</incsize>
<plugscn>0</plugscn>
<plugafn>0</plugafn>
<plugdbid>0</plugdbid>
</file>
</tablespace>
<tablespace>
<name>TUNER_DATA1</name>
<type>0</type>
<tsn>6</tsn>
<status>1</status>
<issft>0</issft>
<isnft>0</isnft>
<encts>0</encts>
<flags>0</flags>
<bmunitsize>8</bmunitsize>
<file>
<path>+DATA1/DRDB/DATAFILE/tuner_data1.269.1197155159</path>
<afn>2</afn>
<rfn>2</rfn>
<createscnbas>2398280</createscnbas>
<createscnwrp>0</createscnwrp>
<status>1</status>
<fileblocks>196608</fileblocks>
<blocksize>8192</blocksize>
<vsn>203423744</vsn>
<fdbid>1008397436</fdbid>
<fcpsb>16058247</fcpsb>
<fcpsw>0</fcpsw>
<frlsb>10682465</frlsb>
<frlsw>0</frlsw>
<frlt>1200392658</frlt>
<autoext>1</autoext>
<maxsize>4194302</maxsize>
<incsize>65536</incsize>
<plugscn>0</plugscn>
<plugafn>0</plugafn>
<plugdbid>0</plugdbid>
</file>
</tablespace>
<tablespace>
<name>TUNER_IDX1</name>
<type>0</type>
<tsn>7</tsn>
<status>1</status>
<issft>0</issft>
<isnft>0</isnft>
<encts>0</encts>
<flags>0</flags>
<bmunitsize>8</bmunitsize>
<file>
<path>+DATA1/DRDB/DATAFILE/tuner_idx1.270.1197155177</path>
<afn>8</afn>
<rfn>8</rfn>
<createscnbas>2398323</createscnbas>
<createscnwrp>0</createscnwrp>
<status>1</status>
<fileblocks>131072</fileblocks>
<blocksize>8192</blocksize>
<vsn>203423744</vsn>
<fdbid>1008397436</fdbid>
<fcpsb>16058247</fcpsb>
<fcpsw>0</fcpsw>
<frlsb>10682465</frlsb>
<frlsw>0</frlsw>
<frlt>1200392658</frlt>
<autoext>1</autoext>
<maxsize>4194302</maxsize>
<incsize>65536</incsize>
<plugscn>0</plugscn>
<plugafn>0</plugafn>
<plugdbid>0</plugdbid>
</file>
</tablespace>
<tablespace>
<name>TUNER_TEMP</name>
<type>1</type>
<tsn>8</tsn>
<status>1</status>
<issft>0</issft>
<isnft>0</isnft>
<encts>0</encts>
<flags>0</flags>
<bmunitsize>128</bmunitsize>
<file>
<path>+DATA1/DRDB/TEMPFILE/tuner_temp.271.1197155195</path>
<afn>2</afn>
<rfn>1</rfn>
<createscnbas>2398351</createscnbas>
<createscnwrp>0</createscnwrp>
<status>1</status>
<fileblocks>16384</fileblocks>
<blocksize>8192</blocksize>
<vsn>203423744</vsn>
<autoext>1</autoext>
<maxsize>4194302</maxsize>
<incsize>12800</incsize>
<plugscn>0</plugscn>
<plugafn>0</plugafn>
<plugdbid>0</plugdbid>
</file>
</tablespace>
<recover>0</recover>
<optional>
<ncdb2pdb>1</ncdb2pdb>
<csid>846</csid>
<ncsid>2000</ncsid>
<options>
<option>APS=12.2.0.1.0</option>
<option>CATALOG=12.2.0.1.0</option>
<option>CATJAVA=12.2.0.1.0</option>
<option>CATPROC=12.2.0.1.0</option>
<option>CONTEXT=12.2.0.1.0</option>
<option>DV=12.2.0.1.0</option>
<option>JAVAVM=12.2.0.1.0</option>
<option>OLS=12.2.0.1.0</option>
<option>ORDIM=12.2.0.1.0</option>
<option>OWM=12.2.0.1.0</option>
<option>RAC=12.2.0.1.0</option>
<option>SDO=12.2.0.1.0</option>
<option>XDB=12.2.0.1.0</option>
<option>XML=12.2.0.1.0</option>
<option>XOQ=12.2.0.1.0</option>
</options>
<olsoid>0</olsoid>
<dv>0</dv>
<APEX>NULL</APEX>
<parameters>
<parameter>processes=320</parameter>
<parameter>nls_language='AMERICAN'</parameter>
<parameter>nls_territory='KOREA'</parameter>
<parameter>_ipddb_enable=TRUE</parameter>
<parameter>sga_target=5033164800</parameter>
<parameter>db_block_size=8192</parameter>
<parameter>compatible='12.2.0'</parameter>
<parameter>data_guard_sync_latency=0</parameter>
<parameter>archive_lag_target=0</parameter>
<parameter>cluster_database=TRUE</parameter>
<parameter>db_flashback_retention_target=2880</parameter>
<parameter>open_cursors=300</parameter>
<parameter>pga_aggregate_target=1678770176</parameter>
<parameter>optimizer_dynamic_sampling=0</parameter>
<parameter>optimizer_adaptive_reporting_only=TRUE</parameter>
<parameter>optimizer_adaptive_plans=FALSE</parameter>
<parameter>optimizer_adaptive_statistics=FALSE</parameter>
</parameters>
<sqlpatches>
<sqlpatch>DBRU bundle
patch 220118 (DATABASE JAN 2022 RELEASE UPDATE 12.2.0.1.220118): APPLY
SUCCESS</sqlpatch>
</sqlpatches>
<tzvers>
<tzver>primary
version:26</tzver>
<tzver>secondary version:0</tzver>
</tzvers>
<walletkey>0</walletkey>
<services>
<service>SYS$BACKGROUND,</service>
<service>SYS$USERS,</service>
<service>DRDB_DGB,DRDB_DGB</service>
<service>DRDBXDB,DRDBXDB</service>
<service>DRDB,DRDB</service>
<service>DRDB_STBXDB,DRDB_STBXDB</service>
<service>DRDB_STB,DRDB_STB</service>
</services>
<opatches/>
<hasclob>1</hasclob>
<awr/>
<hardvsnchk>0</hardvsnchk>
<localundo>1</localundo>
<apps/>
<dbedition>8</dbedition>
</optional>
</PDB>
4-8. 12cR2에서 추출한 xml 파일로 12cR2 noncdb를 19c cdb 내에 PDB로 plug-in 시킴
[DRDB1:oracle@rdb01d][/home/oracle]$ which
srvctl
/u01/app/oracle/product/12c/db_1/bin/srvctl
[DRDB1:oracle@rdb01d][/home/oracle]$ echo
$ORACLE_HOME
/u01/app/oracle/product/12c/db_1
[DRDB1:oracle@rdb01d][/home/oracle]$ echo
$ORACLE_SID
DRDB1
[DRDB1:oracle@rdb01d][/home/oracle]$ srvctl stop database -db drdb
[DRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
[DRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_SID=CDRDB1
[CDRDB1:oracle@rdb01d][/home/oracle]$
export
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[CDRDB:oracle@rdb01d][/home/oracle]$ alias
ss
alias ss='rlwrap
sqlplus "/as sysdba"'
[CDRDB:oracle@rdb01d][/home/oracle]$ ss
SQL*Plus: Release
19.0.0.0.0 - Production on Fri Jul 25 23:44:25 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c
Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
SET SERVEROUTPUT
ON
DECLARE
compatible
CONSTANT VARCHAR2(3) :=
CASE
DBMS_PDB.CHECK_PLUG_COMPATIBILITY('/tmp/DRDB_12cR2_noncdb.xml')
WHEN TRUE THEN 'YES'
ELSE 'NO'
END;
BEGIN
DBMS_OUTPUT.PUT_LINE('Is Compatible? => ' || compatible);
END;
/
CREATE PLUGGABLE
DATABASE DRDB
USING '/tmp/DRDB_12cR2_noncdb.xml'
COPY
;
Pluggable database created.
SQL> show pdbs;
CON_ID
CON_NAME
OPEN MODE RESTRICTED
----------
------------------------------ ---------- ----------
2
PDB$SEED
READ ONLY NO
3
PDB
READ WRITE NO
5
DRDB
MOUNTED
-------------------------------여기서 새로운 ssh 창 하나 더 열어서 :
시작-----------------------------------
[DRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_UNQNAME_LOWER=cdrdb
[DRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_SID=CDRDB1
[CDRDB1:oracle@rdb01d][/home/oracle]$ alias alog
alias alog='tail -f
$ORACLE_BASE/diag/rdbms/$ORACLE_UNQNAME_LOWER/$ORACLE_SID/trace/alert_$ORACLE_SID.log'
[CDRDB1:oracle@rdb01d][/home/oracle]$
alog
--> alert log 모니터링
--------------------------------여기서 새로운 ssh 창 하나 더 열어서 :
종료----------------------------------
--cdrdb1에 접속해서 pdb 플러그인 상황 확인
--오렌지 툴로 붙으려면 tnsnames.ora 설정
--CDB
CDRDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.0.31)(PORT = 1521))
(CONNECT_DATA =
(SERVER =
DEDICATED)
(SERVICE_NAME
= CDRDB)
)
)
--PDB
CDRDB1_DRDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.0.31)(PORT = 1521))
(CONNECT_DATA =
(SERVER =
DEDICATED)
(SERVICE_NAME
= DRDB)
)
)
SELECT A.NAME,
A.MESSAGE, A.STATUS, A.*
FROM
PDB_PLUG_IN_VIOLATIONS A
WHERE NAME = 'DRDB'
ORDER BY A.NAME, A.LINE
;
4-9. plug-in 시킨 PDB를 19c로 업그레이드
[DRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
[DRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_SID=CDRDB1
[CDRDB1:oracle@rdb01d][/home/oracle]$
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[CDRDB1:oracle@rdb01d][/home/oracle]$ alias
ss
alias ss='rlwrap
sqlplus "/as sysdba"'
[CDRDB1:oracle@rdb01d][/home/oracle]$ which
sqlplus
/u01/app/oracle/product/19c/db_1/bin/sqlplus
[CDRDB1:oracle@rdb01d][/home/oracle]$ ss
SQL*Plus: Release
19.0.0.0.0 - Production on Sat Jul 26 08:58:09 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c
Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
SQL> show pdbs;
CON_ID
CON_NAME
OPEN MODE RESTRICTED
----------
------------------------------ ---------- ----------
2
PDB$SEED
READ ONLY NO
3
PDB
MOUNTED
5
DRDB
MOUNTED
SQL> alter pluggable database DRDB open upgrade;
Pluggable database altered.
SQL> ALTER SESSION SET container = DRDB;
Session altered.
SQL> show pdbs;
CON_ID
CON_NAME
OPEN MODE RESTRICTED
----------
------------------------------ ---------- ----------
5
DRDB
MIGRATE YES
--새로운 창 하나 열어서
[DRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
[DRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_SID=CDRDB1
[CDRDB1:oracle@rdb01d][/home/oracle]$
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[CDRDB1:oracle@rdb01d][/home/oracle]$ which perl
/usr/bin/perl
[CDRDB1:oracle@rdb01d][/home/oracle]$
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -c 'DRDB' -l /tmp
-n 4 $ORACLE_HOME/rdbms/admin/catupgrd.sql
--> PDB로 플러그인한 DRDB 를 병렬도 4로 업그레이드함 (pdb 업그레이드 시 cdb
레벨에서 cluster_Database 파라미터를 false로 하지 않아도 pdb 업그레이드에 성공함)
--> 업그레이드 세부
로그
[DRDB1:oracle@rdb01d][/tmp]$ tail -f
/tmp/catupgrddrdb0.log
----------------여기서 새로운 ssh 창 하나 더 열어서 :
시작----------------------------------------------
[DRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_UNQNAME_LOWER=cdrdb
[CDRDB:oracle@rdb01d][/home/oracle]$ export
ORACLE_SID=CDRDB1
[CDRDB1:oracle@rdb01d][/home/oracle]$
alias alog
alias alog='tail -f
$ORACLE_BASE/diag/rdbms/$ORACLE_UNQNAME_LOWER/$ORACLE_SID/trace/alert_$ORACLE_SID.log'
[CDRDB1:oracle@rdb01d][/home/oracle]$
alog
--> 위치는 여기임
/u01/app/oracle/diag/rdbms/cdrdb/CDRDB1/trace/alert_CDRDB1.log
---------------여기서 새로운 ssh 창
하나 더 열어서 : 종료-----------------------------------------------
Argument list for
[/u01/app/oracle/product/19c/db_1/rdbms/admin/catctl.pl]
For Oracle internal use only A = 0
Run
in
c = DRDB
Do not run
in
C = 0
Input
Directory
d = 0
Echo
OFF
e = 1
Simulate
E = 0
Forced
cleanup
F = 0
Log
Id
i = 0
Child
Process
I = 0
Log
Dir
l = /tmp
Priority List
Name L = 0
Upgrade Mode
active M = 0
SQL Process
Count n = 4
SQL PDB Process
Count N = 0
Open Mode
Normal o
= 0
Start
Phase
p = 0
End
Phase
P = 0
Reverse
Order
r = 0
AutoUpgrade
Resume R = 0
Script
s = 0
Serial
Run
S = 0
RO User
Tablespaces T = 0
Display
Phases
y = 0
Debug
catcon.pm
z = 0
Debug
catctl.pl
Z = 0
catctl.pl VERSION:
[19.0.0.0.0]
STATUS: [Production]
BUILD: [RDBMS_19.27.0.0.0DBRU_LINUX.X64_250405]
/u01/app/oracle/product/19c/db_1/rdbms/admin/orahome =
[/u01/app/oracle/product/19c/db_1]
/u01/app/oracle/product/19c/db_1/bin/orabasehome =
[/u01/app/oracle/product/19c/db_1]
catctlGetOraBaseLogDir =
[/u01/app/oracle/product/19c/db_1]
Analyzing file /u01/app/oracle/product/19c/db_1/rdbms/admin/catupgrd.sql
Log file directory = [/tmp]
catcon::set_log_file_base_path: ALL catcon-related output will be written to [/tmp/catupgrd_catcon_2299.lst]
catcon::set_log_file_base_path: catcon: See [/tmp/catupgrd*.log] files for output generated by scripts
catcon::set_log_file_base_path: catcon: See [/tmp/catupgrd_*.lst] files for spool files, if any
Number of Cpus =
4
Database
Name = CDRDB
DataBase Version =
19.0.0.0.0
Parallel SQL Process Count
(PDB) = 2
Parallel SQL
Process Count (CDB$ROOT) = 4
Concurrent PDB
Upgrades
= 2
Generated PDB Inclusion:[DRDB]
CDB$ROOT Open Mode = [OPEN]
Concurrent PDB Upgrades
Reset = 1
DataBase Version =
19.0.0.0.0
Start processing
of PDBs (DRDB)
[/u01/app/oracle/product/19c/db_1/perl/bin/perl
/u01/app/oracle/product/19c/db_1/rdbms/admin/catctl.pl -c 'DRDB' -l /tmp -n 2 -I
-i drdb
/u01/app/oracle/product/19c/db_1/rdbms/admin/catupgrd.sql]
Argument list for
[/u01/app/oracle/product/19c/db_1/rdbms/admin/catctl.pl]
For Oracle internal use only A = 0
Run
in
c = DRDB
Do not run
in
C = 0
Input
Directory
d = 0
Echo
OFF
e = 1
Simulate
E = 0
Forced
cleanup
F = 0
Log
Id
i = drdb
Child
Process
I = 1
Log
Dir
l = /tmp
Priority List
Name L = 0
Upgrade Mode
active M = 0
SQL Process
Count n = 2
SQL PDB Process
Count N = 0
Open Mode
Normal o
= 0
Start
Phase
p = 0
End
Phase
P = 0
Reverse
Order
r = 0
AutoUpgrade
Resume R = 0
Script
s = 0
Serial
Run
S = 0
RO User
Tablespaces T = 0
Display
Phases
y = 0
Debug
catcon.pm
z = 0
Debug
catctl.pl
Z = 0
catctl.pl VERSION:
[19.0.0.0.0]
STATUS: [Production]
BUILD: [RDBMS_19.27.0.0.0DBRU_LINUX.X64_250405]
/u01/app/oracle/product/19c/db_1/rdbms/admin/orahome =
[/u01/app/oracle/product/19c/db_1]
/u01/app/oracle/product/19c/db_1/bin/orabasehome =
[/u01/app/oracle/product/19c/db_1]
catctlGetOraBaseLogDir =
[/u01/app/oracle/product/19c/db_1]
Analyzing file /u01/app/oracle/product/19c/db_1/rdbms/admin/catupgrd.sql
Log file directory = [/tmp]
catcon::set_log_file_base_path: ALL catcon-related output will be written to [/tmp/catupgrddrdb_catcon_2697.lst]
catcon::set_log_file_base_path: catcon: See [/tmp/catupgrddrdb*.log] files for output generated by scripts
catcon::set_log_file_base_path: catcon: See [/tmp/catupgrddrdb_*.lst] files for spool files, if any
Number of Cpus =
4
Database
Name = CDRDB
DataBase Version =
19.0.0.0.0
DRDB Open Mode = [MIGRATE]
Generated PDB Inclusion:[DRDB]
CDB$ROOT Open Mode = [OPEN]
Components in [DRDB]
Installed [APS CATALOG CATJAVA CATPROC
CONTEXT DV JAVAVM OLS ORDIM OWM RAC SDO XDB XML XOQ]
Not
Installed [APEX EM MGW ODM WK]
DataBase
Version = 19.0.0.0.0
------------------------------------------------------
Phases
[0-107] Start Time:[2025_07_26
09:03:35]
Container Lists Inclusion:[DRDB]
Exclusion:[NONE]
------------------------------------------------------
*********** Executing Change
Scripts ***********
Serial Phase
#:0 [DRDB] Files:1 Time: 75s
*************** Catalog Core SQL
***************
Serial Phase
#:1 [DRDB] Files:5 Time: 153s
Restart Phase #:2 [DRDB]
Files:1 Time: 0s
*********** Catalog Tables and
Views ***********
Parallel Phase
#:3 [DRDB] Files:19 Time: 107s
Restart Phase #:4 [DRDB]
Files:1 Time: 0s
************* Catalog Final Scripts
************
Serial Phase
#:5 [DRDB] Files:7 Time: 31s
***************** Catproc Start
****************
Serial Phase
#:6 [DRDB] Files:1 Time: 19s
***************** Catproc Types
****************
Serial Phase
#:7 [DRDB] Files:2 Time: 22s
Restart Phase #:8 [DRDB]
Files:1 Time: 0s
**************** Catproc Tables
****************
Parallel Phase #:9
[DRDB] Files:72 Time: 68s
Restart
Phase #:10 [DRDB] Files:1 Time: 0s
************* Catproc Package Specs
************
Serial Phase #:11
[DRDB] Files:1 Time: 162s
Restart Phase #:12 [DRDB]
Files:1 Time: 0s
************** Catproc Procedures
**************
Parallel Phase #:13 [DRDB]
Files:95 Time: 14s
Restart Phase
#:14 [DRDB] Files:1 Time: 0s
Parallel Phase #:15 [DRDB] Files:122
Time: 35s
Restart Phase #:16 [DRDB]
Files:1 Time: 0s
Serial
Phase #:17 [DRDB] Files:29 Time: 5s
Restart Phase #:18 [DRDB]
Files:1 Time: 0s
***************** Catproc Views
****************
Parallel Phase #:19 [DRDB]
Files:31 Time: 52s
Restart Phase
#:20 [DRDB] Files:1 Time: 0s
Serial Phase #:21 [DRDB]
Files:3 Time: 11s
Restart Phase
#:22 [DRDB] Files:1 Time: 0s
Parallel Phase #:23 [DRDB] Files:25
Time: 121s
Restart Phase #:24 [DRDB]
Files:1 Time: 1s
Parallel Phase
#:25 [DRDB] Files:12 Time: 70s
Restart Phase #:26 [DRDB]
Files:1 Time: 0s
Serial
Phase #:27 [DRDB] Files:1 Time: 0s
Serial Phase #:28 [DRDB]
Files:8 Time: 4s
Serial
Phase #:29 [DRDB] Files:1 Time: 0s
Restart Phase #:30 [DRDB]
Files:1 Time: 0s
*************** Catproc CDB Views
**************
Serial Phase #:31
[DRDB] Files:1 Time: 0s
Restart
Phase #:32 [DRDB] Files:1 Time: 0s
Serial Phase #:34 [DRDB]
Files:1 Time: 0s
***************** Catproc PLBs
*****************
Serial Phase
#:35 [DRDB] Files:300 Time: 31s
Serial Phase #:36 [DRDB]
Files:1 Time: 0s
Restart Phase
#:37 [DRDB] Files:1 Time: 0s
Serial Phase #:38 [DRDB]
Files:10 Time: 3s
Restart Phase
#:39 [DRDB] Files:1 Time: 0s
*************** Catproc DataPump
***************
Serial Phase
#:40 [DRDB] Files:3 Time: 47s
Restart Phase #:41 [DRDB]
Files:1 Time: 1s
****************** Catproc SQL
*****************
Parallel Phase #:42 [DRDB]
Files:13 Time: 77s
Restart Phase
#:43 [DRDB] Files:1 Time: 0s
Parallel Phase #:44 [DRDB] Files:11
Time: 11s
Restart Phase #:45 [DRDB]
Files:1 Time: 0s
Parallel Phase
#:46 [DRDB] Files:3 Time: 2s
Restart Phase #:47 [DRDB]
Files:1 Time: 0s
************* Final Catproc scripts
************
Serial Phase #:48
[DRDB] Files:1 Time: 15s
Restart
Phase #:49 [DRDB] Files:1 Time: 1s
************** Final RDBMS scripts
*************
Serial Phase #:50
[DRDB] Files:1 Time: 24s
************ Upgrade Component
Start ***********
Serial Phase
#:51 [DRDB] Files:1 Time: 1s
Restart Phase #:52 [DRDB]
Files:1 Time: 0s
********** Upgrading Java and
non-Java *********
Serial Phase
#:53 [DRDB] Files:2 Time: 516s
***************** Upgrading XDB
****************
Restart Phase #:54
[DRDB] Files:1 Time: 1s
Serial Phase #:56 [DRDB]
Files:3 Time: 6s
Serial
Phase #:57 [DRDB] Files:3 Time: 3s
Parallel Phase #:58 [DRDB] Files:10
Time: 5s
Parallel Phase #:59 [DRDB]
Files:25 Time: 11s
Serial Phase
#:60 [DRDB] Files:4 Time: 14s
Serial Phase #:61 [DRDB]
Files:1 Time: 0s
Serial
Phase #:62 [DRDB] Files:32 Time: 13s
Serial Phase #:63 [DRDB]
Files:1 Time: 0s
Parallel Phase
#:64 [DRDB] Files:6 Time: 10s
Serial Phase #:65 [DRDB]
Files:2 Time: 17s
Serial
Phase #:66 [DRDB] Files:3 Time: 29s
**************** Upgrading ORDIM
***************
Restart Phase #:67
[DRDB] Files:1 Time: 0s
Serial Phase #:69 [DRDB]
Files:1 Time: 1s
Parallel Phase
#:70 [DRDB] Files:2 Time: 188s
Restart Phase #:71 [DRDB]
Files:1 Time: 1s
Parallel Phase
#:72 [DRDB] Files:2 Time: 0s
Serial Phase #:73 [DRDB]
Files:2 Time: 1s
***************** Upgrading SDO
****************
Restart Phase #:74
[DRDB] Files:1 Time: 0s
Serial Phase #:76 [DRDB]
Files:1 Time: 54s
Serial
Phase #:77 [DRDB] Files:2 Time: 3s
Restart Phase #:78 [DRDB]
Files:1 Time: 0s
Serial
Phase #:79 [DRDB] Files:1 Time: 41s
Restart Phase #:80 [DRDB]
Files:1 Time: 0s
Parallel Phase
#:81 [DRDB] Files:3 Time: 200s
Restart Phase #:82 [DRDB]
Files:1 Time: 0s
Serial
Phase #:83 [DRDB] Files:1 Time: 8s
Restart Phase #:84 [DRDB]
Files:1 Time: 0s
Serial
Phase #:85 [DRDB] Files:1 Time: 12s
Restart Phase #:86 [DRDB]
Files:1 Time: 0s
Parallel Phase
#:87 [DRDB] Files:4 Time: 214s
Restart Phase #:88 [DRDB]
Files:1 Time: 1s
Serial
Phase #:89 [DRDB] Files:1 Time: 0s
Restart Phase #:90 [DRDB]
Files:1 Time: 0s
Serial
Phase #:91 [DRDB] Files:2 Time: 82s
Restart Phase #:92 [DRDB]
Files:1 Time: 0s
Serial
Phase #:93 [DRDB] Files:1 Time: 0s
Restart Phase #:94 [DRDB]
Files:1 Time: 1s
*******
Upgrading ODM, WK, EXF, RUL, XOQ *******
Serial Phase #:95 [DRDB]
Files:1 Time: 31s
Restart Phase
#:96 [DRDB] Files:1 Time: 0s
*********** Final Component
scripts ***********
Serial
Phase #:97 [DRDB] Files:1 Time: 2s
************* Final Upgrade scripts
************
Serial Phase #:98
[DRDB] Files:1 Time: 76s
******************* Migration
******************
Serial Phase
#:99 [DRDB] Files:1 Time: 0s
*** End PDB Application Upgrade
Pre-Shutdown ***
Serial Phase
#:100 [DRDB] Files:1 Time: 1s
Serial Phase #:101 [DRDB]
Files:1 Time: 3s
Serial
Phase #:102 [DRDB] Files:1 Time: 2s
***************** Post Upgrade
*****************
Serial Phase #:103
[DRDB] Files:1 Time: 2s
**************** Summary report
****************
Serial Phase #:104
[DRDB] Files:1 Time: 1s
*** End PDB Application Upgrade
Post-Shutdown **
Serial Phase
#:105 [DRDB] Files:1 Time: 1s
Serial Phase #:106 [DRDB]
Files:1 Time: 1s
Serial
Phase #:107 [DRDB] Files:1 Time:
0s
------------------------------------------------------
Phases
[0-107] End Time:[2025_07_26
09:48:50]
Container Lists Inclusion:[DRDB]
Exclusion:[NONE]
------------------------------------------------------
Grand Total Time: 2716s [DRDB]
LOG FILES: (/tmp/catupgrddrdb*.log)
Upgrade Summary
Report Located in:
/tmp/upg_summary.log
Time: 2722s For PDB(s)
Grand Total Time: 2722s
LOG FILES: (/tmp/catupgrd*.log)
Grand Total Upgrade Time:
[0d:0h:45m:22s]
[DRDB1:oracle@rdb01d][/tmp]$ cat
/tmp/upg_summary.log
Oracle Database
Release 19 Post-Upgrade Status Tool 07-26-2025 09:48:4
Container Database: CDRDB
[CON_ID:
5 => DRDB]
Component
Current
Full Elapsed Time
Name
Status Version
HH:MM:SS
Oracle
Server
UPGRADED 19.27.0.0.0 00:19:20
JServer JAVA Virtual
Machine
UPGRADED 19.27.0.0.0 00:02:02
Oracle
XDK
UPGRADED 19.27.0.0.0 00:02:20
Oracle Database Java
Packages
UPGRADED 19.27.0.0.0 00:00:31
OLAP Analytic
Workspace
UPGRADED 19.27.0.0.0 00:00:11
Oracle Label
Security
UPGRADED 19.27.0.0.0 00:00:22
Oracle Database
Vault
UPGRADED 19.27.0.0.0 00:00:59
Oracle
Text
UPGRADED 19.27.0.0.0 00:01:07
Oracle Workspace
Manager
UPGRADED 19.27.0.0.0 00:00:59
Oracle Real Application
Clusters UPGRADED
19.27.0.0.0 00:00:00
Oracle XML
Database
UPGRADED 19.27.0.0.0 00:01:47
Oracle
Multimedia
UPGRADED 19.27.0.0.0 00:03:10
Spatial
UPGRADED 19.27.0.0.0 00:10:13
Oracle OLAP
API
UPGRADED 19.27.0.0.0 00:00:30
Datapatch
00:01:07
Final
Actions
00:01:16
Post
Upgrade
00:00:00
Total Upgrade Time: 00:45:02 [CON_ID: 5 => DRDB]
Database time zone
version is 26. It is older than current release time
zone version 44. Time zone upgrade is needed using the
DBMS_DST package.
Grand Total Upgrade Time: [0d:0h:45m:22s]
SELECT A.NAME, A.MESSAGE, A.STATUS, A.*
FROM PDB_PLUG_IN_VIOLATIONS A
WHERE NAME = 'DRDB'
ORDER BY A.NAME, A.LINE
;
4-10. plug-in 시킨 PDB에서 noncdb_to_pdb.sql 스크립트를 실행
[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_SID=CDRDB1
[CDRDB1:oracle@rdb01d][/home/oracle]$
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[CDRDB1:oracle@rdb01d][/home/oracle]$ alias ss
alias ss='rlwrap sqlplus "/as
sysdba"'
[CDRDB1:oracle@rdb01d][/home/oracle]$ which
sqlplus
/u01/app/oracle/product/19c/db_1/bin/sqlplus
[CDRDB1:oracle@rdb01d][/home/oracle]$ ss
SQL*Plus: Release
19.0.0.0.0 - Production on Sat Jul 26 10:02:47 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c
Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
SQL> show pdbs;
CON_ID
CON_NAME
OPEN MODE RESTRICTED
----------
------------------------------ ---------- ----------
2
PDB$SEED
READ ONLY NO
3
PDB
MOUNTED
5
DRDB
MOUNTED
SQL> ALTER SESSION SET
container=DRDB;
SQL>
@?/rdbms/admin/noncdb_to_pdb.sql
...생략
SQL>
SQL> -- leave the PDB in the same state it was when we
started
SQL> BEGIN
2 execute immediate '&open_sql &restricted_state';
3 EXCEPTION
4 WHEN OTHERS THEN
5 BEGIN
6 IF (sqlcode <> -900) THEN
7
RAISE;
8 END IF;
9 END;
10 END;
11
/
PL/SQL procedure successfully completed.
----------해당 세션은
그대로 두고 새로운 세션을 하나 열어서 cptdb 로 접속 (시작)-------------
[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_SID=CDRDB1
[CDRDB1:oracle@rdb01d][/home/oracle]$
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[CDRDB1:oracle@rdb01d][/home/oracle]$ alias ss
alias ss='rlwrap sqlplus "/as
sysdba"'
[CDRDB1:oracle@rdb01d][/home/oracle]$ which
sqlplus
/u01/app/oracle/product/19c/db_1/bin/sqlplus
[CDRDB1:oracle@rdb01d][/home/oracle]$
ss
SQL*Plus: Release
19.0.0.0.0 - Production on Sat Jul 26 10:04:19 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c
Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
set linesize
300
col name for a10
col message
for a150
col status for a10
SELECT A.NAME, A.MESSAGE, A.STATUS
--, A.*
FROM
PDB_PLUG_IN_VIOLATIONS A
ORDER BY A.NAME,
A.LINE;
--> pbd plugin 작업의 상태를 파악 할 수 있음
NAME
MESSAGE
STATUS
----------
------------------------------------------------------------------------------------------------------------------------------------------------------
----------
DRDB CDB
parameter sga_target mismatch: Previous 4800M Current
1536M
RESOLVED
DRDB
Database option APS mismatch: PDB installed version 12.2.0.1.0. CDB installed
version
19.0.0.0.0.
RESOLVED
DRDB PDB's
version does not match CDB's version: PDB's version 12.2.0.1.0. CDB's version
19.0.0.0.0.
RESOLVED
DRDB PDB
plugged in is a non-CDB, requires noncdb_to_pdb.sql be
run.
PENDING
DRDB
Database option CATALOG mismatch: PDB installed version 12.2.0.1.0. CDB
installed version
19.0.0.0.0.
RESOLVED
DRDB CDB
parameter compatible mismatch: Previous '12.2.0' Current
'19.0.0'
RESOLVED
DRDB
Database option CATJAVA mismatch: PDB installed version 12.2.0.1.0. CDB
installed version
19.0.0.0.0.
RESOLVED
DRDB CDB
parameter db_flashback_retention_target mismatch: Previous 2880 Current
1440
RESOLVED
DRDB CDB
parameter pga_aggregate_target mismatch: Previous 1601M Current
512M
RESOLVED
DRDB
Database option CATPROC mismatch: PDB installed version 12.2.0.1.0. CDB
installed version
19.0.0.0.0.
RESOLVED
DRDB CDB
parameter optimizer_dynamic_sampling mismatch: Previous 0 Current
2
RESOLVED
NAME
MESSAGE
STATUS
----------
------------------------------------------------------------------------------------------------------------------------------------------------------
----------
DRDB
Database option CONTEXT mismatch: PDB installed version 12.2.0.1.0. CDB
installed version
19.0.0.0.0.
RESOLVED
DRDB CDB
parameter optimizer_adaptive_reporting_only mismatch: Previous TRUE Current
FALSE
RESOLVED
DRDB
Database option DV mismatch: PDB installed version 12.2.0.1.0. CDB installed
version
19.0.0.0.0.
RESOLVED
DRDB
Database option JAVAVM mismatch: PDB installed version 12.2.0.1.0. CDB installed
version
19.0.0.0.0.
RESOLVED
DRDB CDB
parameter optimizer_adaptive_plans mismatch: Previous FALSE Current
TRUE
RESOLVED
DRDB
Database option OLS mismatch: PDB installed version 12.2.0.1.0. CDB installed
version
19.0.0.0.0.
RESOLVED
DRDB
Database option ORDIM mismatch: PDB installed version 12.2.0.1.0. CDB installed
version
19.0.0.0.0.
RESOLVED
DRDB
Database option OWM mismatch: PDB installed version 12.2.0.1.0. CDB installed
version
19.0.0.0.0.
RESOLVED
DRDB
Database option RAC mismatch: PDB installed version 12.2.0.1.0. CDB installed
version
19.0.0.0.0.
RESOLVED
DRDB
Database option SDO mismatch: PDB installed version 12.2.0.1.0. CDB installed
version
19.0.0.0.0.
RESOLVED
DRDB
Database option XDB mismatch: PDB installed version 12.2.0.1.0. CDB installed
version
19.0.0.0.0.
RESOLVED
NAME
MESSAGE
STATUS
----------
------------------------------------------------------------------------------------------------------------------------------------------------------
----------
DRDB
Database option XML mismatch: PDB installed version 12.2.0.1.0. CDB installed
version
19.0.0.0.0.
RESOLVED
DRDB
Database option XOQ mismatch: PDB installed version 12.2.0.1.0. CDB installed
version
19.0.0.0.0.
RESOLVED
PDB$SEED '19.27.0.0.0
Release_Update 2504061311' is installed in the CDB but no release updates are
installed in the
PDB
RESOLVED
25 rows selected.
----------해당 세션은
그대로 두고 새로운 세션을 하나 열어서 cptdb 로 접속 (종료)-------------
--위에서 noncdb_to_pdb.sql 스크립트를
수행이 완료된 해당 쉘을 수행 시킨 ssh 접속 창에서 아래의 명령을 수행
SQL> show con_name
CON_NAME
------------------------------
DRDB
SQL> show pdbs;
CON_ID
CON_NAME
OPEN MODE RESTRICTED
----------
------------------------------ ---------- ----------
5
DRDB
MOUNTED
SQL> alter pluggable database DRDB open;
Pluggable database altered.
SQL> show pdbs;
CON_ID
CON_NAME
OPEN MODE RESTRICTED
----------
------------------------------ ---------- ----------
5
DRDB
READ WRITE NO
set linesize 300
col name for
a10
col message for a150
col
status for a10
SELECT A.NAME, A.MESSAGE, A.STATUS
--, A.*
FROM
PDB_PLUG_IN_VIOLATIONS A
where status <>
'RESOLVED'
ORDER BY A.NAME, A.LINE;
NAME
MESSAGE
STATUS
----------
------------------------------------------------------------------------------------------------------------------------------------------------------
----------
DRDB
Character set mismatch: PDB character set KO16MSWIN949. CDB character set
AL32UTF8.
PENDING
1 row selected.
4-11. DB 업그레이드 후 후속 작업
[[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_SID=CDRDB1
[CDRDB1:oracle@rdb01d][/home/oracle]$
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[CDRDB1:oracle@rdb01d][/home/oracle]$ which sqlplus
/u01/app/oracle/product/19c/db_1/bin/sqlplus
[CDRDB1:oracle@rdb01d][/home/oracle]$ alias
ss
alias ss='rlwrap
sqlplus "/as sysdba"'
[CDRDB1:oracle@rdb01d][/home/oracle]$ ss
SQL*Plus: Release
19.0.0.0.0 - Production on Sat Jul 26 10:20:47 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c
Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> alter session set container=DRDB;
Session altered.
SQL> select count(*) as cnt from dba_objects where status = 'INVALID';
CNT
----------
4
SQL>
col object_name
for a20
col object_type for a10
col STATUS for a10
select
object_name, object_type, status from dba_objects where status =
'INVALID';
OBJECT_NAME
OBJECT_TYP STATUS
-------------------- ----------
----------
SECURE_DML
PROCEDURE INVALID
SECURE_EMPLOYEES
TRIGGER INVALID
ADD_JOB_HISTORY
PROCEDURE INVALID
UPDATE_JOB_HISTORY
TRIGGER INVALID
SQL>
set linesize
300
col object_name for a20
col
ddl for a50
col object_type for a20
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || '"'|| OBJECT_NAME ||
'"' || ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE
1=1
AND OBJECT_TYPE IN ('PACKAGE')
AND STATUS
= 'INVALID'
)
UNION
ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER PACKAGE'|| ' ' || OWNER || '.' || '"'|| OBJECT_NAME || '"' || '
COMPILE BODY;' AS DDL
FROM
DBA_OBJECTS
WHERE
1=1
AND OBJECT_TYPE IN ('PACKAGE BODY')
AND STATUS
= 'INVALID'
)
UNION ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER PUBLIC ' || OBJECT_TYPE || ' ' || '"' || OBJECT_NAME || '"'
|| ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE 1=1
AND OBJECT_TYPE IN ('SYNONYM') AND OWNER = 'PUBLIC'
AND STATUS = 'INVALID'
)
UNION ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || '"'|| OBJECT_NAME ||
'"' || ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE
1=1
AND OBJECT_TYPE IN ('TYPE')
AND STATUS
= 'INVALID'
)
UNION
ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER TYPE' || ' ' || OWNER || '.' || '"'|| OBJECT_NAME || '"' ||
' COMPILE BODY;' AS DDL
FROM
DBA_OBJECTS
WHERE
1=1
AND OBJECT_TYPE IN ('TYPE BODY')
AND STATUS
= 'INVALID'
)
UNION
ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || '"'|| OBJECT_NAME ||
'"' || ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE
1=1
AND OBJECT_TYPE IN ('VIEW')
AND STATUS
= 'INVALID'
)
UNION
ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || '"'|| OBJECT_NAME ||
'"' || ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE
1=1
AND OBJECT_TYPE IN ('PROCEDURE')
AND STATUS
= 'INVALID'
)
UNION
ALL
SELECT *
FROM
(
SELECT
OBJECT_NAME
, STATUS
, OBJECT_TYPE
, LAST_DDL_TIME
, 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || '"'|| OBJECT_NAME ||
'"' || ' COMPILE;' AS DDL
FROM
DBA_OBJECTS
WHERE
1=1
AND OBJECT_TYPE IN ('TRIGGER')
AND STATUS
= 'INVALID'
)
ORDER
BY 3
;
--> 이 sql문을 실행하면 오브젝트를 컴파일 할 수있는 스크립트를 출력해줌
OBJECT_NAME
STATUS
OBJECT_TYPE
LAST_DDL_TIME DDL
-------------------- ---------- --------------------
------------------- --------------------------------------------------
SECURE_DML
INVALID
PROCEDURE
2025-03-19 23:07:03 ALTER PROCEDURE HR."SECURE_DML" COMPILE;
ADD_JOB_HISTORY
INVALID
PROCEDURE
2025-03-19 23:07:04 ALTER PROCEDURE HR."ADD_JOB_HISTORY" COMPILE;
SECURE_EMPLOYEES
INVALID
TRIGGER
2025-03-19 23:07:04 ALTER TRIGGER HR."SECURE_EMPLOYEES" COMPILE;
UPDATE_JOB_HISTORY INVALID
TRIGGER
2025-03-19 23:07:04 ALTER TRIGGER HR."UPDATE_JOB_HISTORY"
COMPILE;
SQL> ALTER PROCEDURE HR."SECURE_DML"
COMPILE;
Procedure altered.
SQL> ALTER PROCEDURE HR."ADD_JOB_HISTORY" COMPILE;
Procedure altered.
SQL> ALTER TRIGGER HR."SECURE_EMPLOYEES" COMPILE;
Trigger altered.
SQL> ALTER TRIGGER HR."UPDATE_JOB_HISTORY" COMPILE;
Trigger altered.
SQL> select count(*) as cnt from dba_objects where status = 'INVALID';
CNT
----------
0
SQL> @/u01/app/oracle/cfgtoollogs/DRDB/preupgrade/postupgrade_fixups.sql
Session altered.
PL/SQL procedure successfully
completed.
PL/SQL procedure successfully
completed.
PL/SQL procedure successfully
completed.
Package created.
No errors.
Package body created.
PL/SQL procedure successfully
completed.
No errors.
Package created.
No errors.
Package body created.
No errors.
WARNING - This script was generated for database DRDB.
Executing Oracle POST-Upgrade Fixup
Script
Auto-Generated
by: Oracle Preupgrade Script
Version: 19.0.0.0.0 Build: 13
Generated
on: 2025-07-23
17:29:10
For Source
Database: DRDB
Source Database
Version: 12.2.0.1.0
For Upgrade to Version:
19.0.0.0.0
Preup
Preupgrade
Action
Issue Is
Number Preupgrade Check
Name Remedied Further DBA Action
------ ------------------------
---------- --------------------------------
9.
old_time_zones_exist
NO Manual fixup
recommended.
10.
dir_symlinks
YES None.
11.
post_dictionary
YES None.
12.
post_fixed_objects
NO Informational only.
Further action is optional.
The fixup scripts
have been run and resolved what they can. However,
there
are still issues originally identified by the preupgrade that
have not been remedied and are still present in the
database.
Depending on the severity of the specific
issue, and the nature of
the issue itself, that could
mean that your database upgrade is not
fully
complete. To resolve the outstanding issues, start by reviewing
the postupgrade_fixups.sql and searching it for the name
of
the failed CHECK NAME or Preupgrade Action Number
listed above.
There you will find the original
corresponding diagnostic message
from the preupgrade
which explains in more detail what still needs
to be
done.
PL/SQL procedure successfully completed.
Session altered.
SQL> EXEC DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
--이건 할필요 없음 이미
했음(POST-Upgrade Fixup Script에서 실행완료한 상태라고 나옴)
--SQL>
exec dbms_stats.gather_dictionary_stats;
SQL> quit
--지금부터 타임존 업그레이드할 것임 (해당
타임존 업그레이드 과정은 진행 중 진통이 있었음 추후 테스트 시 더 자세히 볼것)
[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_SID=CDRDB1
[CDRDB1:oracle@rdb01d][/home/oracle]$
export
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[CDRDB1:oracle@rdb01d][/home/oracle]$ srvctl stop database -db cdrdb
[CDRDB1:oracle@rdb01d][/home/oracle]$ alias
ss
alias ss='rlwrap
sqlplus "/as sysdba"'
[CDRDB1:oracle@rdb01d][/home/oracle]$ which
sqlplus
/u01/app/oracle/product/19c/db_1/bin/sqlplus
[CDRDB1:oracle@rdb01d][/home/oracle]$ ss
SQL*Plus: Release
19.0.0.0.0 - Production on Sat Jul 26 10:58:30 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
startup
ORACLE instance started.
Total System
Global Area 1610612032 bytes
Fixed
Size
9178432 bytes
Variable
Size
939524096 bytes
Database
Buffers 654311424 bytes
Redo
Buffers
7598080 bytes
Database mounted.
Database opened.
--CDB 레벨까지 타임존을 업그레이드 할 것음
SQL> alter system set cluster_database=false scope=spfile;
System altered.
SQL> shutdown
immediate;
Database closed.
Database
dismounted.
ORACLE instance shut down.
SQL>
startup
ORACLE instance started.
Total System
Global Area 1610612032 bytes
Fixed
Size
9178432 bytes
Variable
Size
939524096 bytes
Database
Buffers 654311424 bytes
Redo
Buffers
7598080 bytes
Database mounted.
Database opened.
SQL> show parameter cluster_database
NAME
TYPE VALUE
------------------------------------ -----------
------------------------------
cluster_database
boolean FALSE
cluster_database_instances
integer 1
SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
SQL> set
linesize 300
SQL> SELECT * FROM
v$timezone_file;
FILENAME
VERSION CON_ID
-------------------- ---------- ----------
timezlrg_32.dat
32 0
SQL> show pdbs;
CON_ID
CON_NAME
OPEN MODE RESTRICTED
----------
------------------------------ ---------- ----------
2
PDB$SEED
READ ONLY NO
3
PDB
MOUNTED
5
DRDB
MOUNTED
SQL> alter pluggable database PDB
open;
SQL> alter
session set container=PDB;
Session altered.
SQL> SELECT * FROM v$timezone_file;
FILENAME
VERSION CON_ID
------------------------------------------------------------
---------- ----------
timezlrg_32.dat
32 0
SQL> alter session set container=CDB$ROOT;
Session
altered.
SQL> alter
pluggable database DRDB open;
Pluggable database
altered.
SQL> alter session set
container=DRDB;
Session altered.
SQL> SELECT * FROM v$timezone_file;
FILENAME
VERSION CON_ID
------------------------------------------------------------
---------- ----------
timezlrg_26.dat
26 0
--> 이건 12cr2를 plugin한 다음 업그레이드한 원래 noncdb가 pdb가 된 pdb이므로 12cr2의 타임존으로 되어 있음
SQL> alter session set container=cdb$root;
Session altered.
SQL> SELECT DBMS_DST.get_latest_timezone_version FROM dual;
GET_LATEST_TIMEZONE_VERSION
---------------------------
44
--> 결국 cdb$root, pdb, drdb 모두 44로 업그레이드해야함
DECLARE
l_tz_version
PLS_INTEGER;
BEGIN
l_tz_version := DBMS_DST.get_latest_timezone_version;
DBMS_OUTPUT.put_line('l_tz_version=' ||
l_tz_version);
DBMS_DST.begin_prepare(l_tz_version);
END;
/
PL/SQL procedure successfully completed.
SQL>
COLUMN property_name FORMAT
A30
COLUMN property_value FORMAT A20
SELECT
property_name, property_value
FROM
database_properties
WHERE property_name LIKE
'DST_%'
ORDER BY property_name;
PROPERTY_NAME
PROPERTY_VALUE
------------------------------
--------------------
DST_PRIMARY_TT_VERSION
32
DST_SECONDARY_TT_VERSION
44
DST_UPGRADE_STATE
PREPARE
SQL> TRUNCATE TABLE sys.dst$affected_tables;
Table truncated.
SQL> TRUNCATE TABLE sys.dst$error_table;
Table truncated.
SQL> EXEC DBMS_DST.find_affected_tables;
PL/SQL procedure successfully completed.
SQL> SELECT * FROM sys.dst$affected_tables;
no rows selected
SQL> SELECT * FROM sys.dst$error_table;
no rows selected
SQL> EXEC DBMS_DST.end_prepare;
PL/SQL procedure successfully completed.
SQL> quit
-- 스크립트 하나를
생성
[CDRDB1:oracle@rdb01d][/home/oracle]$ vi
/tmp/upgrade_tzf.sql
[CDRDB1:oracle@rdb01d][/home/oracle]$ cat
/tmp/upgrade_tzf.sql
SHUTDOWN IMMEDIATE;
STARTUP
UPGRADE;
SET SERVEROUTPUT
ON
DECLARE
l_tz_version
PLS_INTEGER;
BEGIN
SELECT
DBMS_DST.get_latest_timezone_version
INTO l_tz_version
FROM
dual;
DBMS_OUTPUT.put_line('l_tz_version=' || l_tz_version);
DBMS_DST.begin_upgrade(l_tz_version);
END;
/
[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_SID=CDRDB1
[CDRDB1:oracle@rdb01d][/home/oracle]$
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[CDRDB1:oracle@rdb01d][/home/oracle]$ alias ss
alias ss='rlwrap sqlplus "/as
sysdba"'
[CDRDB1:oracle@rdb01d][/home/oracle]$ which
sqlplus
/u01/app/oracle/product/19c/db_1/bin/sqlplus
[CDRDB1:oracle@rdb01d][/home/oracle]$ ss
SQL> show pdbs;
CON_ID
CON_NAME
OPEN MODE RESTRICTED
----------
------------------------------ ---------- ----------
2
PDB$SEED
READ ONLY NO
3
PDB
READ WRITE NO
5
DRDB
READ WRITE NO
--> 다 open 된 상태인지 확인해야함
[CDRDB1:oracle@rdb01d][/home/oracle]$ echo $ORACLE_HOME
/u01/app/oracle/product/19c/db_1
--cdb$root만 업그레이드
[CDRDB1:oracle@rdb01d][/home/oracle]$
$ORACLE_HOME/perl/bin/perl \
-I$ORACLE_HOME/perl/lib \
-I$ORACLE_HOME/rdbms/admin \
$ORACLE_HOME/rdbms/admin/catcon.pl \
-l /tmp/ \
-b upgrade_tzf \
-c 'CDB$ROOT' \
/tmp/upgrade_tzf.sql
--cdb$root를 제외하고 모두 업그레이드
[CDRDB1:oracle@rdb01d][/home/oracle]$
$ORACLE_HOME/perl/bin/perl \
-I$ORACLE_HOME/perl/lib \
-I$ORACLE_HOME/rdbms/admin \
$ORACLE_HOME/rdbms/admin/catcon.pl \
-l /tmp/ \
-b upgrade_tzf \
-C 'CDB$ROOT' \
/tmp/upgrade_tzf.sql
[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
[CDRDB1:oracle@rdb01d][/home/oracle]$ export
ORACLE_SID=CDRDB1
[CDRDB1:oracle@rdb01d][/home/oracle]$
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
[CDRDB1:oracle@rdb01d][/home/oracle]$ alias ss
alias ss='rlwrap sqlplus "/as
sysdba"'
[CDRDB1:oracle@rdb01d][/home/oracle]$ which sqlplus
/u01/app/oracle/product/19c/db_1/bin/sqlplus
[CDRDB1:oracle@rdb01d][/home/oracle]$
ss
SQL> SELECT * FROM v$timezone_file;
FILENAME
VERSION CON_ID
-------------------- ---------- ----------
timezlrg_44.dat
44 0
SQL> alter session set container=PDB;
Session altered.
SQL> SELECT * FROM v$timezone_file;
FILENAME
VERSION CON_ID
-------------------- ---------- ----------
timezlrg_44.dat
44 0
SQL> alter session set container=DRDB;
Session altered.
SQL> SELECT * FROM v$timezone_file;
FILENAME
VERSION CON_ID
-------------------- ---------- ----------
timezlrg_44.dat
44 0
SQL> alter session set container=CDB$ROOT;
Session altered.
SQL> alter system set cluster_database=true scope=spfile;
System altered.
SQL> shutdown
immediate;
Database closed.
Database
dismounted.
ORACLE instance shut down.
SQL>
startup
ORACLE instance started.
Total System
Global Area 1610612032 bytes
Fixed
Size
9178432 bytes
Variable
Size
939524096 bytes
Database
Buffers 654311424 bytes
Redo
Buffers
7598080 bytes
Database mounted.
Database opened.
SQL> alter pluggable database DRDB
open;
SQL> alter session set
container=DRDB;
SQL> @/u01/app/oracle/cfgtoollogs/DRDB/preupgrade/postupgrade_fixups.sql
Session altered.
PL/SQL procedure successfully
completed.
PL/SQL procedure successfully
completed.
PL/SQL procedure successfully
completed.
Package created.
No errors.
Package body created.
PL/SQL procedure successfully
completed.
No errors.
Package created.
No errors.
Package body created.
No errors.
WARNING - This script was generated for database DRDB.
Executing Oracle POST-Upgrade Fixup
Script
Auto-Generated
by: Oracle Preupgrade Script
Version: 19.0.0.0.0 Build: 13
Generated
on: 2025-07-23
17:29:10
For Source
Database: DRDB
Source Database
Version: 12.2.0.1.0
For Upgrade to Version:
19.0.0.0.0
Preup
Preupgrade
Action
Issue Is
Number Preupgrade Check
Name Remedied Further DBA Action
------ ------------------------
---------- --------------------------------
9.
old_time_zones_exist
YES None.
10.
dir_symlinks
YES None.
11.
post_dictionary
YES None.
12.
post_fixed_objects
NO Informational only.
Further action is optional.
The fixup scripts
have been run and resolved what they can. However,
there
are still issues originally identified by the preupgrade that
have not been remedied and are still present in the
database.
Depending on the severity of the specific
issue, and the nature of
the issue itself, that could
mean that your database upgrade is not
fully
complete. To resolve the outstanding issues, start by reviewing
the postupgrade_fixups.sql and searching it for the name
of
the failed CHECK NAME or Preupgrade Action Number
listed above.
There you will find the original
corresponding diagnostic message
from the preupgrade
which explains in more detail what still needs
to be
done.
PL/SQL procedure successfully completed.
Session altered.
SQL> alter session set container=DRDB;
SQL> @/u01/app/oracle/product/19c/db_1/rdbms/admin/utlusts.sql TEXT
Oracle Database
Release 19 Post-Upgrade Status Tool 07-26-2025 12:10:4
Container Database: CDRDB
[CON_ID:
5 => DRDB]
Component
Current
Full Elapsed Time
Name
Status Version
HH:MM:SS
Oracle
Server
VALID 19.27.0.0.0 00:19:20
JServer JAVA Virtual
Machine
VALID 19.27.0.0.0 00:02:02
Oracle
XDK
VALID 19.27.0.0.0 00:02:20
Oracle Database Java
Packages
VALID 19.27.0.0.0 00:00:31
OLAP Analytic
Workspace
VALID 19.27.0.0.0 00:00:11
Oracle Label
Security
VALID 19.27.0.0.0 00:00:22
Oracle Database
Vault
VALID 19.27.0.0.0 00:00:59
Oracle
Text
VALID 19.27.0.0.0 00:01:07
Oracle Workspace
Manager
VALID 19.27.0.0.0 00:00:59
Oracle Real Application
Clusters
VALID 19.27.0.0.0 00:00:00
Oracle XML
Database
VALID 19.27.0.0.0 00:01:47
Oracle
Multimedia
VALID 19.27.0.0.0 00:03:10
Spatial
VALID 19.27.0.0.0 00:10:13
Oracle OLAP
API
VALID 19.27.0.0.0 00:00:30
Datapatch
00:01:07
Final
Actions
00:01:16
Post
Upgrade
00:00:00
Post
Compile
00:05:25
Total Upgrade Time: 00:50:27 [CON_ID: 5 => DRDB]
Database time zone version is 44. It meets current release needs.
SQL> alter session set container=DRDB;
SQL>
@/u01/app/oracle/product/19c/db_1/rdbms/admin/catuppst.sql
TIMESTAMP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
COMP_TIMESTAMP
DBRESTART
2025-07-26 12:13:22
DBUA_TIMESTAMP
DBRESTART FINISHED 2025-07-26 12:13:22
Container=DRDB Id=5
DBUA_TIMESTAMP
DBRESTART NONE 2025-07-26
12:13:22
TIMESTAMP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DBUA_TIMESTAMP CATUPPST
STARTED 2025-07-26 12:13:22 Container=DRDB Id=5
TIMESTAMP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
COMP_TIMESTAMP
POSTUP_BGN
2025-07-26 12:13:22
DBUA_TIMESTAMP
POSTUP_BGN FINISHED 2025-07-26 12:13:22 Container=DRDB
Id=5
DBUA_TIMESTAMP
POSTUP_BGN NONE 2025-07-26
12:13:22
TIMESTAMP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
COMP_TIMESTAMP
CATREQ_BGN
2025-07-26 12:13:22
DBUA_TIMESTAMP
CATREQ_BGN FINISHED 2025-07-26 12:13:22 Container=DRDB
Id=5
DBUA_TIMESTAMP
CATREQ_BGN NONE 2025-07-26
12:13:22
sPrvVersion =
12.2.0.1.0 nPrevMajorVer = 12
sRetFunc =
?/rdbms/admin/catupshd.sql
catrequtlmg: utlmmig.sql
(bootstrap objects migration) not called
catrequtlmg:
Gathering statistics not required returning
TIMESTAMP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
COMP_TIMESTAMP
CATREQ_END
2025-07-26 12:13:22
DBUA_TIMESTAMP
CATREQ_END FINISHED 2025-07-26 12:13:22 Container=DRDB
Id=5
DBUA_TIMESTAMP
CATREQ_END NONE 2025-07-26
12:13:22
catuppst: Dropping
library DBMS_DDL_INTERNAL_LIB
catuppst: Dropping view
_CURRENT_EDITION_OBJ_MIG
catuppst: Dropping view
_CURRENT_EDITION_STUB_MIG
catuppst: Dropping view
_ACTUAL_EDITION_OBJ_MIG
catuppst: Dropping view
DBA_PART_KEY_COLUMNS_V$_MIG
catuppst: Dropping view
DBA_SUBPART_KEY_COLUMNS_V$_MIG
catuppst: Dropping table
OBJ$MIG
catuppst: Dropping table USER$MIG
catuppst: Dropping table COL$MIG
catuppst: Dropping table CLU$MIG
catuppst: Dropping table CON$MIG
catuppst: Dropping table BOOTSTRAP$MIG
catuppst: Dropping table TAB$MIG
catuppst: Dropping table TS$MIG
catuppst: Dropping table IND$MIG
catuppst: Dropping table ICOL$MIG
catuppst: Dropping table LOB$MIG
catuppst: Dropping table COLTYPE$MIG
catuppst: Dropping table SUBCOLTYPE$MIG
catuppst: Dropping table NTAB$MIG
catuppst: Dropping table REFCON$MIG
catuppst: Dropping table OPQTYPE$MIG
catuppst: Dropping table ICOLDEP$MIG
catuppst: Dropping table VIEWTRCOL$MIG
catuppst: Dropping table ATTRCOL$MIG
catuppst: Dropping table TYPE_MISC$MIG
catuppst: Dropping table LIBRARY$MIG
catuppst: Dropping table ASSEMBLY$MIG
catuppst: Dropping table TSQ$MIG
catuppst: Dropping table FET$MIG
TIMESTAMP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
COMP_TIMESTAMP
POSTUP_END
2025-07-26 12:13:23
DBUA_TIMESTAMP
POSTUP_END FINISHED 2025-07-26 12:13:23 Container=DRDB
Id=5
DBUA_TIMESTAMP
POSTUP_END NONE 2025-07-26
12:13:23
TIMESTAMP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
COMP_TIMESTAMP
CATUPPST
2025-07-26 12:13:23
DBUA_TIMESTAMP
CATUPPST FINISHED 2025-07-26 12:13:23
Container=DRDB Id=5
DBUA_TIMESTAMP
CATUPPST NONE 2025-07-26
12:13:23
--> 2번 노드로
올려줌
[CDRDB1:oracle@rdb01d][/home/oracle]$ srvctl start instance
-db cdrdb -n rdb02d
4-12. 업그레이드한 신규 db로 사용하기
--RAC 1번 노드
[root@rdb01d][/root]$ vi ~root/.bash_profile
[root@rdb01d][/root]$ cat ~root/.bash_profile | grep -i
19c
export
GRID_HOME=/u01/app/19c/grid
export
DB_HOME=$ORACLE_BASE/product/19c/db_1
[root@rdb01d][/root]$ vi ~grid/.bash_profile
[root@rdb01d][/root]$ cat ~grid/.bash_profile | grep 19c
export
GRID_HOME=/u01/app/19c/grid
export
DB_HOME=$ORACLE_BASE/product/19c/db_1
[root@rdb01d][/root]$
vi ~oracle/.bash_profile
[root@rdb01d][/root]$ cat
~oracle/.bash_profile | grep -i 19c
export
GRID_HOME=/u01/app/19c/grid
export
DB_HOME=$ORACLE_BASE/product/19c/db_1
[root@rdb01d][/root]$
vi ~oracle/.bash_profile
[root@rdb01d][/root]$ cat
~oracle/.bash_profile | grep -i cdrdb
export
ORACLE_UNQNAME=CDRDB
export
ORACLE_UNQNAME_LOWER=cdrdb
export ORACLE_DBNAME=CDRDB
export ORACLE_DBNAME_LOWER=cdrdb
export ORACLE_SID=CDRDB1
export
ORACLE_SID_LOWER=cdrdb1
[CDRDB1:oracle@rdb01d][/home/oracle]$ vi
/u01/app/oracle/product/19c/db_1/network/admin/tnsnames.ora
[CDRDB1:oracle@rdb01d][/home/oracle]$ cat
/u01/app/oracle/product/19c/db_1/network/admin/tnsnames.ora
# tnsnames.ora
Network Configuration File:
/u01/app/oracle/product/19c/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration
tools.
CDRDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
drdb2-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER =
DEDICATED)
(SERVICE_NAME
= CDRDB)
)
)
CDRDB1_DRDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.0.31)(PORT = 1521))
(CONNECT_DATA =
(SERVER =
DEDICATED)
(SERVICE_NAME
= DRDB)
)
)
--> pdb인 drdb를 추가!
[CDRDB1:oracle@rdb01d][/home/oracle]$ vi .bash_profile
[CDRDB1:oracle@rdb01d][/home/oracle]$ cat .bash_profile |
grep alias | grep ssd
alias ssd='rlwrap sqlplus
sys/oracle@CDRDB1_DRDB as sysdba'
--RAC 2번 노드
[root@rdb02d][/root]$
vi ~root/.bash_profile
[root@rdb02d][/root]$ cat
~root/.bash_profile | grep -i 19c
export
GRID_HOME=/u01/app/19c/grid
export
DB_HOME=$ORACLE_BASE/product/19c/db_1
[root@rdb02d][/root]$ vi ~grid/.bash_profile
[root@rdb02d][/root]$ cat ~grid/.bash_profile | grep 19c
export
GRID_HOME=/u01/app/19c/grid
export
DB_HOME=$ORACLE_BASE/product/19c/db_1
[root@rdb02d][/root]$ vi
~oracle/.bash_profile
[root@rdb02d][/root]$ cat ~oracle/.bash_profile | grep -i
19c
export
GRID_HOME=/u01/app/19c/grid
export
DB_HOME=$ORACLE_BASE/product/19c/db_1
[root@rdb02d][/root]$
vi ~oracle/.bash_profile
[root@rdb02d][/root]$ cat
~oracle/.bash_profile | grep -i cdrdb
export
ORACLE_UNQNAME=CDRDB
export
ORACLE_UNQNAME_LOWER=cdrdb
export ORACLE_DBNAME=CDRDB
export ORACLE_DBNAME_LOWER=cdrdb
export ORACLE_SID=CDRDB2
export
ORACLE_SID_LOWER=cdrdb2
[CDRDB2:oracle@rdb02d][/home/oracle]$ vi
/u01/app/oracle/product/19c/db_1/network/admin/tnsnames.ora
[CDRDB2:oracle@rdb02d][/home/oracle]$ cat
/u01/app/oracle/product/19c/db_1/network/admin/tnsnames.ora
# tnsnames.ora
Network Configuration File:
/u01/app/oracle/product/19c/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration
tools.
CDRDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
drdb2-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER =
DEDICATED)
(SERVICE_NAME
= CDRDB)
)
)
CDRDB2_DRDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.0.32)(PORT = 1521))
(CONNECT_DATA =
(SERVER =
DEDICATED)
(SERVICE_NAME
= DRDB)
)
)
--> pdb인 drdb를 추가!
[CDRDB1:oracle@rdb02d][/home/oracle]$ vi .bash_profile
[CDRDB1:oracle@rdb02d][/home/oracle]$ cat .bash_profile |
grep alias | grep ssd
alias ssd='rlwrap sqlplus
sys/oracle@CDRDB1_DRDB as sysdba'
[CDRDB2:oracle@rdb02d][/u01/app/oracle/product/19c/db_1/network/admin]$
/u01/app/oracle/product/12c/db_1/bin/srvctl remove database -db
drdb
Remove the database drdb? (y/[n]) y
[CPTDB:oracle@tdb01p][/home/oracle]$
csrt
ora.cdrdb.db
1 ONLINE
ONLINE
rdb01d
Open,HOME=/u01/app/o
racle/product/19c/db
_1,STABLE
2 ONLINE
ONLINE
rdb02d
Open,HOME=/u01/app/o
racle/product/19c/db
_1,STABLE
--RAC1번
[root@rdb01d][/root]$ mv
/u01/app/oracle/product/19c/db_1/sqlplus/admin/glogin.sql
/u01/app/oracle/product/19c/db_1/sqlplus/admin/glogin.sql.bak
[root@rdb01d][/root]$ cp -p
/u01/app/oracle/product/12c/db_1/sqlplus/admin/glogin.sql.bak
/u01/app/oracle/product/19c/db_1/sqlplus/admin/glogin.sql
--RAC2번
[root@rdb02d][/root]$ mv
/u01/app/oracle/product/19c/db_1/sqlplus/admin/glogin.sql
/u01/app/oracle/product/19c/db_1/sqlplus/admin/glogin.sql.bak
[root@rdb02d][/root]$ cp -p
/u01/app/oracle/product/12c/db_1/sqlplus/admin/glogin.sql.bak
/u01/app/oracle/product/19c/db_1/sqlplus/admin/glogin.sql
-- 기존에 백업 해둔 파라미터 파일
[CDRDB1:oracle@rdb01d][/home/oracle]$ cat
/tmp/backup_before_upgrade/pfile_DRDB.ora
DRDB2.__data_transfer_cache_size=0
DRDB1.__data_transfer_cache_size=0
DRDB2.__db_cache_size=3774873600
DRDB1.__db_cache_size=3774873600
DRDB2.__inmemory_ext_roarea=0
DRDB1.__inmemory_ext_roarea=0
DRDB2.__inmemory_ext_rwarea=0
DRDB1.__inmemory_ext_rwarea=0
DRDB2.__java_pool_size=16777216
DRDB1.__java_pool_size=16777216
DRDB2.__large_pool_size=33554432
DRDB1.__large_pool_size=33554432
DRDB1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from
environment
DRDB2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from
environment
DRDB2.__pga_aggregate_target=1694498816
DRDB1.__pga_aggregate_target=1694498816
DRDB2.__sga_target=5033164800
DRDB1.__sga_target=5033164800
DRDB2.__shared_io_pool_size=268435456
DRDB1.__shared_io_pool_size=268435456
DRDB2.__shared_pool_size=922746880
DRDB1.__shared_pool_size=922746880
DRDB2.__streams_pool_size=0
DRDB1.__streams_pool_size=0
*.archive_lag_target=0
*.audit_file_dest='/u01/app/oracle/admin/DRDB/adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='12.2.0'
*.control_files='+FRA1/DRDB/CONTROLFILE/current.256.1196204797','+DATA1/DRDB/CONTROLFILE/current.261.1196204797'
*.data_guard_sync_latency=0
*.db_block_size=8192
*.db_create_file_dest='+DATA1'
*.db_create_online_log_dest_1='+FRA1'
*.db_create_online_log_dest_2='+DATA1'
*.db_flashback_retention_target=2880
*.db_name='DRDB'
*.db_recovery_file_dest='+FRA1'
*.db_recovery_file_dest_size=26492m
*.dg_broker_start=FALSE
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DRDBXDB)'
family:dw_helper.instance_mode='read-only'
DRDB1.instance_number=1
DRDB2.instance_number=2
*.local_listener='-oraagent-dummy-'
*.log_archive_dest_1='LOCATION=+FRA1
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DRDB'
*.log_archive_dest_2=''
*.log_archive_dest_state_2='RESET'
DRDB1.log_archive_format='%t_%s_%r.dbf'
DRDB2.log_archive_format='%t_%s_%r.dbf'
*.log_archive_min_succeed_dest=1
DRDB1.log_archive_trace=255
DRDB2.log_archive_trace=255
*.nls_language='AMERICAN'
*.nls_territory='KOREA'
*.open_cursors=300
*.optimizer_adaptive_plans=FALSE
*.optimizer_adaptive_reporting_only=TRUE
*.optimizer_adaptive_statistics=FALSE
*.optimizer_dynamic_sampling=0
*.pga_aggregate_target=1601m
*.processes=320
*.remote_login_passwordfile='exclusive'
*.sga_target=4800m
*.standby_file_management='MANUAL'
DRDB2.thread=2
DRDB1.thread=1
DRDB2.undo_tablespace='UNDOTBS2'
DRDB1.undo_tablespace='UNDOTBS1'
--> 현재 업그레이드한 19c
cdb의 파라미터 파일 백업
[CDRDB1:oracle@rdb01d][/home/oracle]$ alias
ss
alias ss='rlwrap
sqlplus "/as sysdba"'
[CDRDB1:oracle@rdb01d][/home/oracle]$
ss
SQL*Plus: Release
19.0.0.0.0 - Production on Sat Jul 26 12:41:19 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c
Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
[2025-07-26:12:57:29][rdb01d]<SYS@CDRDB1> create pfile from spfile;
File created.
[CDRDB1:oracle@rdb01d][/home/oracle]$ cp /u01/app/oracle/product/19c/db_1/dbs/initCDRDB1.ora /u01/app/oracle/product/19c/db_1/dbs/initCDRDB1.ora.bak
[CPTDB:oracle@tdb01p][/u01/app/oracle/product/19c/db_1/dbs]$
cat initCPTDB.ora.bak
[CDRDB1:oracle@rdb01d][/u01/app/oracle/product/19c/db_1/dbs]$
cat /u01/app/oracle/product/19c/db_1/dbs/initCDRDB1.ora.bak
CDRDB1.__data_transfer_cache_size=0
CDRDB2.__data_transfer_cache_size=0
CDRDB1.__db_cache_size=587202560
CDRDB2.__db_cache_size=905969664
CDRDB1.__inmemory_ext_roarea=0
CDRDB2.__inmemory_ext_roarea=0
CDRDB1.__inmemory_ext_rwarea=0
CDRDB2.__inmemory_ext_rwarea=0
CDRDB1.__java_pool_size=100663296
CDRDB2.__java_pool_size=0
CDRDB1.__large_pool_size=16777216
CDRDB2.__large_pool_size=16777216
CDRDB1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from
environment
CDRDB2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from
environment
CDRDB1.__pga_aggregate_target=536870912
CDRDB2.__pga_aggregate_target=536870912
CDRDB1.__sga_target=1610612736
CDRDB2.__sga_target=1610612736
CDRDB1.__shared_io_pool_size=67108864
CDRDB2.__shared_io_pool_size=83886080
CDRDB1.__shared_pool_size=822083584
CDRDB2.__shared_pool_size=587202560
CDRDB1.__streams_pool_size=0
CDRDB2.__streams_pool_size=0
CDRDB1.__unified_pga_pool_size=0
CDRDB2.__unified_pga_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/CDRDB/adump'
*.audit_trail='db'
*.cluster_database=TRUE
*.compatible='19.0.0'
*.control_files='+DATA1/CDRDB/CONTROLFILE/current.282.1207427361','+FRA1/CDRDB/CONTROLFILE/current.267.1207427361'
*.db_block_size=8192
*.db_create_file_dest='+FRA1'
*.db_create_online_log_dest_1='+DATA1'
*.db_create_online_log_dest_2='+FRA1'
*.db_name='CDRDB'
*.db_recovery_file_dest='+FRA1'
*.db_recovery_file_dest_size=10240m
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=CDRDBXDB)'
*.enable_pluggable_database=true
family:dw_helper.instance_mode='read-only'
CDRDB1.instance_number=1
CDRDB2.instance_number=2
*.local_listener='-oraagent-dummy-'
*.nls_language='AMERICAN'
*.nls_territory='KOREA'
*.open_cursors=300
*.pga_aggregate_target=512m
*.processes=320
*.remote_login_passwordfile='exclusive'
*.sga_target=1536m
CDRDB2.thread=2
CDRDB1.thread=1
CDRDB2.undo_tablespace='UNDOTBS2'
CDRDB1.undo_tablespace='UNDOTBS1'
--> 업그레이드 전 과 업그레이드 후의 파라미터 파일을 참고하여 신규 파라미터 파일 생성
[CDRDB1:oracle@rdb01d][/u01/app/oracle/product/19c/db_1/dbs]$
vi /u01/app/oracle/product/19c/db_1/dbs/initCDRDB1.ora
[CDRDB1:oracle@rdb01d][/u01/app/oracle/product/19c/db_1/dbs]$
cat /u01/app/oracle/product/19c/db_1/dbs/initCDRDB1.ora
*.audit_file_dest='/u01/app/oracle/admin/CDRDB/adump'
*.audit_trail='db'
*.cluster_database=TRUE
*.compatible='19.0.0'
*.control_files='+DATA1/CDRDB/CONTROLFILE/current.282.1207427361','+FRA1/CDRDB/CONTROLFILE/current.267.1207427361'
*.db_block_size=8192
*.db_create_file_dest='+FRA1'
*.db_create_online_log_dest_1='+DATA1'
*.db_create_online_log_dest_2='+FRA1'
*.db_name='CDRDB'
*.db_recovery_file_dest='+FRA1'
*.db_recovery_file_dest_size=10240m
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=CDRDBXDB)'
*.enable_pluggable_database=true
family:dw_helper.instance_mode='read-only'
CDRDB1.instance_number=1
CDRDB2.instance_number=2
*.local_listener='-oraagent-dummy-'
*.nls_language='AMERICAN'
*.nls_territory='KOREA'
*.open_cursors=300
*.pga_aggregate_target=1601m
*.processes=320
*.remote_login_passwordfile='exclusive'
*.sga_target=4800m
CDRDB2.thread=2
CDRDB1.thread=1
CDRDB2.undo_tablespace='UNDOTBS2'
CDRDB1.undo_tablespace='UNDOTBS1'
--우선 2번 노드부터 내림
[CDRDB2:oracle@rdb02d][/home/oracle]$
ss
SQL*Plus: Release
19.0.0.0.0 - Production on Sat Jul 26 12:48:05 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c
Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
[2025-07-26:12:57:29][rdb02d]<SYS@CDRDB2> shutdown immediate;
Database
closed.
Database dismounted.
ORACLE instance shut down.
[CDRDB1:oracle@rdb01d][/u01/app/oracle/product/19c/db_1/dbs]$
ss
SQL*Plus: Release
19.0.0.0.0 - Production on Sat Jul 26 12:47:44 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c
Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
[2025-07-26:12:57:29][rdb01d]<SYS@CDRDB1> shutdown immediate;
Database
closed.
Database dismounted.
ORACLE instance shut down.
[2025-07-26:12:57:29][rdb01d]<SYS@CDRDB1> startup nomount
pfile='/u01/app/oracle/product/19c/db_1/dbs/initCDRDB1.ora';
ORACLE instance
started.
Total System
Global Area 5033161624 bytes
Fixed
Size
9188248 bytes
Variable
Size
973078528 bytes
Database
Buffers 4043309056 bytes
Redo
Buffers
7585792 bytes
[2025-07-26:12:57:29][rdb01d]<SYS@CDRDB1> alter database mount;
Database altered.
[2025-07-26:12:57:29][rdb01d]<SYS@CDRDB1> alter database open;
Database altered.
-- 파라미터 파일을 spfile로
생성
[2025-07-26:12:57:29][rdb01d]<SYS@CDRDB1> create spfile='+DATA1' from
pfile='/u01/app/oracle/product/19c/db_1/dbs/initCDRDB1.ora';
File created.
[2025-07-26:12:57:29][rdb01d]<SYS@CDRDB1> show parameter spfile;
NAME
TYPE VALUE
------------------------------------ -----------
------------------------------
spfile
string
SQL> shutdown
immediate;
Database closed.
Database
dismounted.
ORACLE instance shut down.
SQL>
startup
ORACLE instance started.
Total System
Global Area 5033161624 bytes
Fixed
Size
9188248 bytes
Variable
Size
973078528 bytes
Database
Buffers 4043309056 bytes
Redo
Buffers
7585792 bytes
Database mounted.
[2025-07-26:12:57:29][rdb01d]<SYS@CDRDB1> show pdbs;
CON_ID
CON_NAME
OPEN MODE RESTRICTED
----------
------------------------------ ---------- ----------
2
PDB$SEED
READ ONLY NO
3
PDB
MOUNTED
5
DRDB
MOUNTED
[2025-07-26:12:57:29][rdb01d]<SYS@CDRDB1> alter pluggable database DRDB
open;
Pluggable database altered.
[2025-07-26:12:57:29][rdb01d]<SYS@CDRDB1> alter pluggable database DRDB save state;
--> 앞으로 pdb인 drdb가 자동으로 open되도록 함
--> rac2번 노드로 기동시킴
[CDRDB2:oracle@rdb02d][/home/oracle]$ ss
SQL*Plus: Release
19.0.0.0.0 - Production on Sat Jul 26 12:58:45 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to an idle instance.
[2025-07-26 12:58:46][rdb02d]<SYS@CDRDB2> startup
5. 기존 디비로 원상복구 시키기
[+ASM1:grid@rdb01d][/home/grid]$ which
srvctl
/u01/app/19c/grid/bin/srvctl
-- 우선 업그레이드 완료된 19c db를 내림
[+ASM1:grid@rdb01d][/home/grid]$ srvctl stop database -db cdrdb
[+ASM1:grid@rdb01d][/home/grid]$ asmcmd ls -l
+DATA1/DRDB/PARAMETERFILE
Type
Redund Striped
Time
Sys Name
PARAMETERFILE UNPROT
COARSE JUL 25 22:00:00 Y
spfile.268.1198106043
[+ASM1:grid@rdb01d][/home/grid]$ asmcmd ls -l
+DATA1/DRDB/PASSWORD
Type Redund
Striped
Time
Sys Name
PASSWORD UNPROT
COARSE MAR 19 23:00:00 Y
pwddrdb.256.1196204543
[CDRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/12c/db_1/bin/srvctl add database -db DRDB \
-dbname PTDB -oraclehome
/u01/app/oracle/product/12c/db_1 \
-pwfile
'+DATA1/DRDB/PASSWORD/pwddrdb.256.1196204543' \
-spfile '+DATA1/DRDB/PASSWORD/pwddrdb.256.1196204543'
\
-instance DRDB1
[+ASM1:grid@rdb01d][/home/grid]$ csrt
ora.drdb.db
1 OFFLINE
OFFLINE
STABLE
2 OFFLINE
OFFLINE
STABLE
[CDRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/12c/db_1/bin/srvctl add instance -db drdb -i DRDB2 -n
rdb02d
[CDRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/12c/db_1/bin/srvctl add instance -db drdb -i DRDB1 -n
rdb01d
[CDRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/12c/db_1/bin/srvctl start database -db
drdb
ora.drdb.db
1 ONLINE
ONLINE
rdb02d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
2 ONLINE
ONLINE
rdb01d
Open,HOME=/u01/app/o
racle/product/12c/db
_1,STABLE
[+ASM1:grid@rdb01d][/home/grid]$ lsnrctl
status
--> 리스너 확인해서 pc클라이언트 통해서도 붙어볼것
6. 기존 디비 삭제 (원상 복구 할일 없는 상황)
[CDRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/12c/db_1/bin/srvctl stop database -db drdb
[CDRDB1:oracle@rdb01d][/home/oracle]$
/u01/app/oracle/product/12c/db_1/bin/srvctl remove database -db drdb
Remove the database drdb? (y/[n]) y
[CPTDB:oracle@tdb01p][/home/oracle]$ srvctl start database -db cdrdb
[+ASM1:grid@rdb01d][/home/grid]$ asmcmd
ASMCMD [+] > cd DATA1
ASMCMD
[+DATA1] > ls
CDRDB/
DRDB/
ASMCMD [+DATA1] > rm
-rf DRDB
ASMCMD [+DATA1] > cd
..
ASMCMD [+] > cd +FRA1
ASMCMD [+FRA1] > ls
CDRDB/
DRDB/
ASMCMD [+FRA1] > rm -rf DRDB