[아이티윌 오라클 DBA 과정 91기] 260107 TIL
2026. 1. 7. 20:40ㆍCourses/아이티윌 오라클 DBA 과정
데이터베이스 정상적인 종료 후 컨트롤 파일 손상
User Managed Recovery
- 백업 컨트롤 파일 restore
- startup mount
- recover database using backup controlfile
- auto → current redo log file을 archive log file에서 찾기 때문에 오류 발생
- current redo log file을 alert log에서 찾아서 직접 입력
- alter database open resetlogs
RMAN
- startup nomount
- restore controlfile from ‘컨트롤파일백업’;
- alter database mount;
- recover database;
- alter database open resetlogs;
현재 상태
SYS@ora19c> select sequence#, name, first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
from v$archived_log; 2
SEQUENCE# NAME FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- -------------------------------------------------- ------------- ------------------- ------------ -------------------
35 /u01/app/oracle/oradata/ORA19C/redo01.log 3479617 2026-01-06 16:30:59 3680827 2026-01-06 16:44:48
36 /u01/app/oracle/oradata/ORA19C/redo02.log 3680827 2026-01-06 16:44:48 3687897 2026-01-07 09:47:56
37 /u01/app/oracle/oradata/ORA19C/redo03.log 3687897 2026-01-07 09:47:56 1.8447E+19
35 /home/oracle/arch1/arch_1_35_1218118200.arc 3479617 2026-01-06 16:30:59 3680827 2026-01-06 16:44:48
35 /home/oracle/arch2/arch_1_35_1218118200.arc 3479617 2026-01-06 16:30:59 3680827 2026-01-06 16:44:48
36 /home/oracle/arch1/arch_1_36_1218118200.arc 3680827 2026-01-06 16:44:48 3687897 2026-01-07 09:47:56
36 /home/oracle/arch2/arch_1_36_1218118200.arc 3680827 2026-01-06 16:44:48 3687897 2026-01-07 09:47:56
37 /home/oracle/arch1/arch_1_37_1218118200.arc 3687897 2026-01-07 09:47:56 3888746 2026-01-07 09:54:48
37 /home/oracle/arch2/arch_1_37_1218118200.arc 3687897 2026-01-07 09:47:56 3888746 2026-01-07 09:54:48
38 /home/oracle/arch1/arch_1_38_1218118200.arc 3888746 2026-01-07 09:54:48 3889667 2026-01-07 09:56:38
38 /home/oracle/arch2/arch_1_38_1218118200.arc 3888746 2026-01-07 09:54:48 3889667 2026-01-07 09:56:38
11 rows selected.
SYS@ora19c> select a.group#, a.sequence#, b.member, a.bytes/1024/1024 mb, a.archived, a.status, a.first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, a.next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
from v$log a, v$logfile b
where a.group# = b.group#; 2 3
GROUP# SEQUENCE# MEMBER MB ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------- -------------------------------------------------- ---------- --- ---------------- ------------- ------------------- ------------ -------------------
3 37 /u01/app/oracle/oradata/ORA19C/redo03.log 50 YES INACTIVE 3687897 2026-01-07 09:47:56 3888746 2026-01-07 09:54:48
2 39 /u01/app/oracle/oradata/ORA19C/redo02.log 50 NO CURRENT 3889667 2026-01-07 09:56:38 1.8447E+19
1 38 /u01/app/oracle/oradata/ORA19C/redo01.log 50 YES INACTIVE 3888746 2026-01-07 09:54:48 3889667 2026-01-07 09:56:38
SYS@ora19c> ! ls arch*
arch1:
arch_1_35_1218118200.arc arch_1_36_1218118200.arc arch_1_37_1218118200.arc arch_1_38_1218118200.arc
arch2:
arch_1_35_1218118200.arc arch_1_36_1218118200.arc arch_1_37_1218118200.arc arch_1_38_1218118200.arc
로그 스위치
SYS@ora19c> alter system switch logfile;
System altered.
SYS@ora19c> /
System altered.
SYS@ora19c> /
System altered.
SYS@ora19c> select sequence#, name, first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
from v$archived_log; 2
SEQUENCE# NAME FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- -------------------------------------------------- ------------- ------------------- ------------ -------------------
35 /u01/app/oracle/oradata/ORA19C/redo01.log 3479617 2026-01-06 16:30:59 3680827 2026-01-06 16:44:48
36 /u01/app/oracle/oradata/ORA19C/redo02.log 3680827 2026-01-06 16:44:48 3687897 2026-01-07 09:47:56
37 /u01/app/oracle/oradata/ORA19C/redo03.log 3687897 2026-01-07 09:47:56 1.8447E+19
35 /home/oracle/arch1/arch_1_35_1218118200.arc 3479617 2026-01-06 16:30:59 3680827 2026-01-06 16:44:48
35 /home/oracle/arch2/arch_1_35_1218118200.arc 3479617 2026-01-06 16:30:59 3680827 2026-01-06 16:44:48
36 /home/oracle/arch1/arch_1_36_1218118200.arc 3680827 2026-01-06 16:44:48 3687897 2026-01-07 09:47:56
36 /home/oracle/arch2/arch_1_36_1218118200.arc 3680827 2026-01-06 16:44:48 3687897 2026-01-07 09:47:56
37 /home/oracle/arch1/arch_1_37_1218118200.arc 3687897 2026-01-07 09:47:56 3888746 2026-01-07 09:54:48
37 /home/oracle/arch2/arch_1_37_1218118200.arc 3687897 2026-01-07 09:47:56 3888746 2026-01-07 09:54:48
38 /home/oracle/arch1/arch_1_38_1218118200.arc 3888746 2026-01-07 09:54:48 3889667 2026-01-07 09:56:38
38 /home/oracle/arch2/arch_1_38_1218118200.arc 3888746 2026-01-07 09:54:48 3889667 2026-01-07 09:56:38
39 /home/oracle/arch1/arch_1_39_1218118200.arc 3889667 2026-01-07 09:56:38 3890886 2026-01-07 10:25:05
39 /home/oracle/arch2/arch_1_39_1218118200.arc 3889667 2026-01-07 09:56:38 3890886 2026-01-07 10:25:05
40 /home/oracle/arch1/arch_1_40_1218118200.arc 3890886 2026-01-07 10:25:05 3890889 2026-01-07 10:25:06
40 /home/oracle/arch2/arch_1_40_1218118200.arc 3890886 2026-01-07 10:25:05 3890889 2026-01-07 10:25:06
41 /home/oracle/arch1/arch_1_41_1218118200.arc 3890889 2026-01-07 10:25:06 3890892 2026-01-07 10:25:07
41 /home/oracle/arch2/arch_1_41_1218118200.arc 3890889 2026-01-07 10:25:06 3890892 2026-01-07 10:25:07
17 rows selected.
SYS@ora19c> select a.group#, a.sequence#, b.member, a.bytes/1024/1024 mb, a.archived, a.status, a.first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, a.next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
from v$log a, v$logfile b
where a.group# = b.group#; 2 3
GROUP# SEQUENCE# MEMBER MB ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------- -------------------------------------------------- ---------- --- ---------------- ------------- ------------------- ------------ -------------------
3 40 /u01/app/oracle/oradata/ORA19C/redo03.log 50 YES INACTIVE 3890886 2026-01-07 10:25:05 3890889 2026-01-07 10:25:06
2 42 /u01/app/oracle/oradata/ORA19C/redo02.log 50 NO CURRENT 3890892 2026-01-07 10:25:07 1.8447E+19
1 41 /u01/app/oracle/oradata/ORA19C/redo01.log 50 YES INACTIVE 3890889 2026-01-07 10:25:06 3890892 2026-01-07 10:25:07
SYS@ora19c> ! ls arch*
arch1:
arch_1_35_1218118200.arc arch_1_37_1218118200.arc arch_1_39_1218118200.arc arch_1_41_1218118200.arc
arch_1_36_1218118200.arc arch_1_38_1218118200.arc arch_1_40_1218118200.arc
arch2:
arch_1_35_1218118200.arc arch_1_37_1218118200.arc arch_1_39_1218118200.arc arch_1_41_1218118200.arc
arch_1_36_1218118200.arc arch_1_38_1218118200.arc arch_1_40_1218118200.arc
SYS@ora19c> shutdown immediate
Database closed.
Database dismounted.
장애 유발
SYS@ora19c> ! rm /u01/app/oracle/oradata/ORA19C/control01.ctl
SYS@ora19c> startup
ORACLE instance started.
Total System Global Area 830469472 bytes
Fixed Size 8901984 bytes
Variable Size 654311424 bytes
Database Buffers 159383552 bytes
Redo Buffers 7872512 bytes
ORA-00205: error in identifying control file, check alert log for more info
SYS@ora19c> select status from v$instance;
STATUS
------------
STARTED
최근 백업 컨트롤파일 찾기
[oracle@ora19c ~]$ cd $ORACLE_BASE/fast_recovery_area/ORA19C
[oracle@ora19c ORA19C]$ ls
archivelog autobackup backupset onlinelog
[oracle@ora19c ORA19C]$ cd autobackup/
[oracle@ora19c autobackup]$ ls
2026_01_07
[oracle@ora19c autobackup]$ cd 2026_01_07/
[oracle@ora19c 2026_01_07]$ ll
total 21248
-rw-r-----. 1 oracle oinstall 10715136 Jan 7 09:47 o1_mf_s_1221904068_novc9nwm_.bkp
-rw-r-----. 1 oracle oinstall 11042816 Jan 7 09:56 o1_mf_s_1221904585_novcssnk_.bkp
[oracle@ora19c 2026_01_07]$ pwd
/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07
RMAN에서 복구 수행
restore
RMAN> restore controlfile from '/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221904585_novcssnk_.bkp';
Starting restore at 07-JAN-26
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/u01/app/oracle/oradata/ORA19C/control01.ctl
Finished restore at 07-JAN-26
mount
RMAN> alter database mount;
released channel: ORA_DISK_1
Statement processed
RMAN> select status from v$instance;
STATUS
------------
MOUNTED
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 1.27G DISK 00:00:05 07-JAN-26
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20260107T095618
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T095618_novcslgm_.bkp
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
1 Full 3889625 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/system01.dbf
3 Full 3889625 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 Full 3889625 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
7 Full 3889625 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/users01.dbf
RMAN> report schema;
Starting implicit crosscheck backup at 07-JAN-26
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=23 device type=DISK
Crosschecked 1 objects
Finished implicit crosscheck backup at 07-JAN-26
Starting implicit crosscheck copy at 07-JAN-26
using channel ORA_DISK_1
Finished implicit crosscheck copy at 07-JAN-26
searching for all files in the recovery area
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221904068_novc9nwm_.bkp
File Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221904585_novcssnk_.bkp
File Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T094733_novc95rb_.bkp
RMAN-06139: warning: control file is not current for REPORT SCHEMA
Report of database schema for database with db_unique_name ORA19C
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 910 SYSTEM *** /u01/app/oracle/oradata/ORA19C/system01.dbf
3 720 SYSAUX *** /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 340 UNDOTBS1 *** /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
7 5 USERS *** /u01/app/oracle/oradata/ORA19C/users01.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 32767 /u01/app/oracle/oradata/ORA19C/temp01.dbf
recover
RMAN> recover database;
Starting recover at 07-JAN-26
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 40 is already on disk as file /u01/app/oracle/oradata/ORA19C/redo03.log
archived log for thread 1 with sequence 41 is already on disk as file /u01/app/oracle/oradata/ORA19C/redo01.log
archived log for thread 1 with sequence 42 is already on disk as file /u01/app/oracle/oradata/ORA19C/redo02.log
archived log file name=/home/oracle/arch2/arch_1_38_1218118200.arc thread=1 sequence=38
archived log file name=/home/oracle/arch2/arch_1_39_1218118200.arc thread=1 sequence=39
archived log file name=/u01/app/oracle/oradata/ORA19C/redo03.log thread=1 sequence=40
archived log file name=/u01/app/oracle/oradata/ORA19C/redo01.log thread=1 sequence=41
archived log file name=/u01/app/oracle/oradata/ORA19C/redo02.log thread=1 sequence=42
media recovery complete, elapsed time: 00:00:02
Finished recover at 07-JAN-26
open resetlogs
RMAN> alter database open resetlogs;
Statement processed
RMAN> select status from v$instance;
STATUS
------------
OPEN
백업
RMAN> backup database;
Starting backup at 07-JAN-26
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/ORA19C/system01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/ORA19C/sysaux01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/ORA19C/undotbs01.dbf
input datafile file number=00007 name=/u01/app/oracle/oradata/ORA19C/users01.dbf
channel ORA_DISK_1: starting piece 1 at 07-JAN-26
channel ORA_DISK_1: finished piece 1 at 07-JAN-26
piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T105558_novh9h5o_.bkp tag=TAG20260107T105558 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
Finished backup at 07-JAN-26
Starting Control File and SPFILE Autobackup at 07-JAN-26
piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221908166_novh9pjk_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 07-JAN-26
RMAN> alter system archive log current;
Statement processed
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 1.27G DISK 00:00:05 07-JAN-26
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20260107T095618
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T095618_novcslgm_.bkp
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
1 Full 3889625 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/system01.dbf
3 Full 3889625 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 Full 3889625 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
7 Full 3889625 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
2 Full 10.20M DISK 00:00:00 07-JAN-26
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20260107T094748
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221904068_novc9nwm_.bkp
SPFILE Included: Modification time: 06-JAN-26
SPFILE db_unique_name: ORA19C
Control File Included: Ckp SCN: 3687871 Ckp time: 07-JAN-26
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
3 Full 10.52M DISK 00:00:00 07-JAN-26
BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20260107T095625
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221904585_novcssnk_.bkp
SPFILE Included: Modification time: 07-JAN-26
SPFILE db_unique_name: ORA19C
Control File Included: Ckp SCN: 3889635 Ckp time: 07-JAN-26
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
4 Full 1.26G DISK 00:00:08 07-JAN-26
BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20260107T094733
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T094733_novc95rb_.bkp
List of Datafiles in backup set 4
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
1 Full 3687858 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/system01.dbf
3 Full 3687858 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 Full 3687858 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
7 Full 3687858 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
5 Full 10.52M DISK 00:00:00 07-JAN-26
BP Key: 5 Status: AVAILABLE Compressed: NO Tag: TAG20260107T103253
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221906773_novfy5by_.bkp
SPFILE Included: Modification time: 07-JAN-26
SPFILE db_unique_name: ORA19C
Control File Included: Ckp SCN: 3891062 Ckp time: 07-JAN-26
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
6 Full 1.26G DISK 00:00:04 07-JAN-26
BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20260107T105558
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T105558_novh9h5o_.bkp
List of Datafiles in backup set 6
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
1 Full 3892698 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/system01.dbf
3 Full 3892698 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 Full 3892698 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
7 Full 3892698 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
7 Full 10.52M DISK 00:00:00 07-JAN-26
BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20260107T105606
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221908166_novh9pjk_.bkp
SPFILE Included: Modification time: 07-JAN-26
SPFILE db_unique_name: ORA19C
Control File Included: Ckp SCN: 3892709 Ckp time: 07-JAN-26
필요 없는 백업 삭제
RMAN> report obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 4 07-JAN-26
Backup Piece 4 07-JAN-26 /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T094733_novc95rb_.bkp
Archive Log 6 07-JAN-26 /home/oracle/arch1/arch_1_36_1218118200.arc
Backup Set 2 07-JAN-26
Backup Piece 2 07-JAN-26 /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221904068_novc9nwm_.bkp
Archive Log 4 07-JAN-26 /home/oracle/arch1/arch_1_35_1218118200.arc
Archive Log 5 07-JAN-26 /home/oracle/arch2/arch_1_35_1218118200.arc
Archive Log 7 07-JAN-26 /home/oracle/arch2/arch_1_36_1218118200.arc
Archive Log 8 07-JAN-26 /home/oracle/arch1/arch_1_37_1218118200.arc
Archive Log 9 07-JAN-26 /home/oracle/arch2/arch_1_37_1218118200.arc
Backup Set 1 07-JAN-26
Backup Piece 1 07-JAN-26 /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T095618_novcslgm_.bkp
Archive Log 13 07-JAN-26 /home/oracle/arch2/arch_1_38_1218118200.arc
Backup Set 3 07-JAN-26
Backup Piece 3 07-JAN-26 /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221904585_novcssnk_.bkp
Archive Log 14 07-JAN-26 /home/oracle/arch2/arch_1_39_1218118200.arc
Archive Log 16 07-JAN-26 /home/oracle/arch2/arch_1_41_1218118200.arc
Archive Log 20 07-JAN-26 /home/oracle/arch2/arch_1_40_1218118200.arc
Archive Log 19 07-JAN-26 /home/oracle/arch1/arch_1_40_1218118200.arc
Archive Log 15 07-JAN-26 /home/oracle/arch1/arch_1_41_1218118200.arc
Archive Log 18 07-JAN-26 /home/oracle/arch2/arch_1_42_1218118200.arc
Archive Log 17 07-JAN-26 /home/oracle/arch1/arch_1_42_1218118200.arc
Backup Set 5 07-JAN-26
Backup Piece 5 07-JAN-26 /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221906773_novfy5by_.bkp
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 4 07-JAN-26
Backup Piece 4 07-JAN-26 /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T094733_novc95rb_.bkp
Archive Log 6 07-JAN-26 /home/oracle/arch1/arch_1_36_1218118200.arc
Backup Set 2 07-JAN-26
Backup Piece 2 07-JAN-26 /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221904068_novc9nwm_.bkp
Archive Log 4 07-JAN-26 /home/oracle/arch1/arch_1_35_1218118200.arc
Archive Log 5 07-JAN-26 /home/oracle/arch2/arch_1_35_1218118200.arc
Archive Log 7 07-JAN-26 /home/oracle/arch2/arch_1_36_1218118200.arc
Archive Log 8 07-JAN-26 /home/oracle/arch1/arch_1_37_1218118200.arc
Archive Log 9 07-JAN-26 /home/oracle/arch2/arch_1_37_1218118200.arc
Backup Set 1 07-JAN-26
Backup Piece 1 07-JAN-26 /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T095618_novcslgm_.bkp
Archive Log 13 07-JAN-26 /home/oracle/arch2/arch_1_38_1218118200.arc
Backup Set 3 07-JAN-26
Backup Piece 3 07-JAN-26 /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221904585_novcssnk_.bkp
Archive Log 14 07-JAN-26 /home/oracle/arch2/arch_1_39_1218118200.arc
Archive Log 16 07-JAN-26 /home/oracle/arch2/arch_1_41_1218118200.arc
Archive Log 20 07-JAN-26 /home/oracle/arch2/arch_1_40_1218118200.arc
Archive Log 19 07-JAN-26 /home/oracle/arch1/arch_1_40_1218118200.arc
Archive Log 15 07-JAN-26 /home/oracle/arch1/arch_1_41_1218118200.arc
Archive Log 18 07-JAN-26 /home/oracle/arch2/arch_1_42_1218118200.arc
Archive Log 17 07-JAN-26 /home/oracle/arch1/arch_1_42_1218118200.arc
Backup Set 5 07-JAN-26
Backup Piece 5 07-JAN-26 /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221906773_novfy5by_.bkp
Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T094733_novc95rb_.bkp RECID=4 STAMP=1221906688
deleted archived log
archived log file name=/home/oracle/arch1/arch_1_36_1218118200.arc RECID=6 STAMP=1221904488
deleted backup piece
backup piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221904068_novc9nwm_.bkp RECID=2 STAMP=1221906688
deleted archived log
archived log file name=/home/oracle/arch1/arch_1_35_1218118200.arc RECID=4 STAMP=1221904488
deleted archived log
archived log file name=/home/oracle/arch2/arch_1_35_1218118200.arc RECID=5 STAMP=1221904488
deleted archived log
archived log file name=/home/oracle/arch2/arch_1_36_1218118200.arc RECID=7 STAMP=1221904488
deleted archived log
archived log file name=/home/oracle/arch1/arch_1_37_1218118200.arc RECID=8 STAMP=1221904488
deleted archived log
archived log file name=/home/oracle/arch2/arch_1_37_1218118200.arc RECID=9 STAMP=1221904488
deleted backup piece
backup piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T095618_novcslgm_.bkp RECID=1 STAMP=1221904578
deleted archived log
archived log file name=/home/oracle/arch2/arch_1_38_1218118200.arc RECID=13 STAMP=1221906707
deleted backup piece
backup piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221904585_novcssnk_.bkp RECID=3 STAMP=1221906688
deleted archived log
archived log file name=/home/oracle/arch2/arch_1_39_1218118200.arc RECID=14 STAMP=1221906708
deleted archived log
archived log file name=/home/oracle/arch2/arch_1_41_1218118200.arc RECID=16 STAMP=1221906768
deleted archived log
archived log file name=/home/oracle/arch2/arch_1_40_1218118200.arc RECID=20 STAMP=1221906768
deleted archived log
archived log file name=/home/oracle/arch1/arch_1_40_1218118200.arc RECID=19 STAMP=1221906768
deleted archived log
archived log file name=/home/oracle/arch1/arch_1_41_1218118200.arc RECID=15 STAMP=1221906768
deleted archived log
archived log file name=/home/oracle/arch2/arch_1_42_1218118200.arc RECID=18 STAMP=1221906768
deleted archived log
archived log file name=/home/oracle/arch1/arch_1_42_1218118200.arc RECID=17 STAMP=1221906768
deleted backup piece
backup piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221906773_novfy5by_.bkp RECID=5 STAMP=1221906773
Deleted 19 objects
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
6 Full 1.26G DISK 00:00:04 07-JAN-26
BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20260107T105558
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T105558_novh9h5o_.bkp
List of Datafiles in backup set 6
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
1 Full 3892698 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/system01.dbf
3 Full 3892698 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 Full 3892698 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
7 Full 3892698 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
7 Full 10.52M DISK 00:00:00 07-JAN-26
BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20260107T105606
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221908166_novh9pjk_.bkp
SPFILE Included: Modification time: 07-JAN-26
SPFILE db_unique_name: ORA19C
Control File Included: Ckp SCN: 3892709 Ckp time: 07-JAN-26
RMAN> list archivelog all;
List of Archived Log Copies for database with db_unique_name ORA19C
=====================================================================
Key Thrd Seq S Low Time
------- ---- ------- - ---------
22 1 1 A 07-JAN-26
Name: /home/oracle/arch2/arch_1_1_1221906768.arc
21 1 1 A 07-JAN-26
Name: /home/oracle/arch1/arch_1_1_1221906768.arc
[oracle@ora19c ~]$ ls arch*
arch1:
arch_1_1_1221906768.arc
arch2:
arch_1_1_1221906768.arc
데이터베이스 정상적인 종료 후 컨트롤 파일 손상(컨트롤 파일 재생성)
데이터베이스 정상 종료
RMAN> shutdown immediate
database closed
database dismounted
Oracle instance shut down
-- alert log
2026-01-07T11:09:01.696044+09:00
Shutting down ORACLE instance (immediate) (OS id: 23762)
장애 유발
[oracle@ora19c ~]$ ! rm /u01/app/oracle/oradata/ORA19C/control01.ctl
[oracle@ora19c ~]$ ! ls /u01/app/oracle/oradata/ORA19C/control01.ctl
ls: cannot access /u01/app/oracle/oradata/ORA19C/control01.ctl: No such file or directory
RMAN> startup
connected to target database (not started)
Oracle instance started
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of startup command at 01/07/2026 11:24:05
ORA-00205: error in identifying control file, check alert log for more info
최근 백업 컨트롤파일 찾기
[oracle@ora19c ~]$ cd $ORACLE_BASE/fast_recovery_area/ORA19C/autobackup
[oracle@ora19c autobackup]$ ls
2026_01_07
[oracle@ora19c autobackup]$ cd 2026_01_07/
[oracle@ora19c 2026_01_07]$ ls
o1_mf_s_1221908166_novh9pjk_.bkp
[oracle@ora19c 2026_01_07]$ pwd
/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07
RMAN 복구 수행
restore
RMAN> restore controlfile from '/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221908166_novh9pjk_.bkp';
Starting restore at 07-JAN-26
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=145 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/u01/app/oracle/oradata/ORA19C/control01.ctl
Finished restore at 07-JAN-26
mount
RMAN> alter database mount;
released channel: ORA_DISK_1
Statement processed
컨트롤파일 트레이스 생성
RMAN> alter database backup controlfile to trace as '/home/oracle/create_2026.txt';
Statement processed
RMAN> shutdown abort;
Oracle instance shut down
RMAN> exit
Recovery Manager complete.
[oracle@ora19c ~]$ ls
arch1 arch2 backup create_2026.txt data_pump
[oracle@ora19c ~]$ vi create_2026.txt
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORA19C" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/ORA19C/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/ORA19C/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/ORA19C/redo03.log' SIZE 50M BLOCKSIZE 512
DATAFILE
'/u01/app/oracle/oradata/ORA19C/system01.dbf',
'/u01/app/oracle/oradata/ORA19C/sysaux01.dbf',
'/u01/app/oracle/oradata/ORA19C/undotbs01.dbf',
'/u01/app/oracle/oradata/ORA19C/users01.dbf'
CHARACTER SET AL32UTF8
;
ALTER DATABASE OPEN;
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/ORA19C/temp01.dbf' REUSE;
컨트롤 파일 재생성
[oracle@ora19c ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 7 11:30:12 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to an idle instance.
SYS@ora19c> startup nomount
ORACLE instance started.
Total System Global Area 830469472 bytes
Fixed Size 8901984 bytes
Variable Size 654311424 bytes
Database Buffers 159383552 bytes
Redo Buffers 7872512 bytes
SYS@ora19c> CREATE CONTROLFILE REUSE DATABASE "ORA19C" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/ORA19C/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/ORA19C/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/ORA19C/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/ORA19C/system01.dbf',
'/u01/app/oracle/oradata/ORA19C/sysaux01.dbf',
'/u01/app/oracle/oradata/ORA19C/undotbs01.dbf',
'/u01/app/oracle/oradata/ORA19C/users01.dbf'
CHARACTER SET AL32UTF8
; 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ^C^C^C
SYS@ora19c> CREATE CONTROLFILE REUSE DATABASE "ORA19C" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/ORA19C/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/ORA19C/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/ORA19C/redo03.log' SIZE 50M BLOCKSIZE 512
DATAFILE
'/u01/app/oracle/oradata/ORA19C/system01.dbf',
'/u01/app/oracle/oradata/ORA19C/sysaux01.dbf',
'/u01/app/oracle/oradata/ORA19C/undotbs01.dbf',
'/u01/app/oracle/oradata/ORA19C/users01.dbf'
CHARACTER SET AL32UTF8
; 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Control file created.
SYS@ora19c> ALTER DATABASE OPEN;
Database altered.
SYS@ora19c> ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/ORA19C/temp01.dbf' REUSE;
Tablespace altered.
rman 백업 사라짐
RMAN> list backup;
specification does not match any backup in the repository
백업
RMAN> backup database;
Starting backup at 07-JAN-26
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=29 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/ORA19C/system01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/ORA19C/sysaux01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/ORA19C/undotbs01.dbf
input datafile file number=00007 name=/u01/app/oracle/oradata/ORA19C/users01.dbf
channel ORA_DISK_1: starting piece 1 at 07-JAN-26
channel ORA_DISK_1: finished piece 1 at 07-JAN-26
piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T113403_novkjvyt_.bkp tag=TAG20260107T113403 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
Finished backup at 07-JAN-26
Starting Control File and SPFILE Autobackup at 07-JAN-26
piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221910451_novkk371_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 07-JAN-26
RMAN> alter system archive log current;
Statement processed
필요 없는 파일 정리
RMAN> crosscheck backup;
using channel ORA_DISK_1
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T113403_novkjvyt_.bkp RECID=1 STAMP=1221910443
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221910451_novkk371_.bkp RECID=2 STAMP=1221910451
Crosschecked 2 objects
RMAN> list expired backup;
specification does not match any backup in the repository
# crosscheck 후 expired 정보에는 안나오지만 물리적으로 이전 백업 남아있음
[oracle@ora19c 2026_01_07]$ ll
total 21568
-rw-r-----. 1 oracle oinstall 11042816 Jan 7 10:56 o1_mf_s_1221908166_novh9pjk_.bkp
-rw-r-----. 1 oracle oinstall 11042816 Jan 7 11:34 o1_mf_s_1221910451_novkk371_.bkp
[oracle@ora19c 2026_01_07]$ pwd
/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07
[oracle@ora19c 2026_01_07]$ rm o1_mf_s_1221908166_novh9pjk_.bkp
[oracle@ora19c 2026_01_07]$ ll
total 2657312
-rw-r-----. 1 oracle oinstall 1353367552 Jan 7 10:56 o1_mf_nnndf_TAG20260107T105558_novh9h5o_.bkp
-rw-r-----. 1 oracle oinstall 1367719936 Jan 7 11:34 o1_mf_nnndf_TAG20260107T113403_novkjvyt_.bkp
[oracle@ora19c 2026_01_07]$ pwd
/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07
[oracle@ora19c 2026_01_07]$ rm o1_mf_nnndf_TAG20260107T105558_novh9h5o_.bkp
# 필요없는 아카이브 파일 삭제
RMAN> report obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Archive Log 2 07-JAN-26 /home/oracle/arch2/arch_1_1_1221906768.arc
Archive Log 4 07-JAN-26 /home/oracle/arch2/arch_1_2_1221906768.arc
Archive Log 3 07-JAN-26 /home/oracle/arch1/arch_1_2_1221906768.arc
Archive Log 1 07-JAN-26 /home/oracle/arch1/arch_1_1_1221906768.arc
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Archive Log 2 07-JAN-26 /home/oracle/arch2/arch_1_1_1221906768.arc
Archive Log 4 07-JAN-26 /home/oracle/arch2/arch_1_2_1221906768.arc
Archive Log 3 07-JAN-26 /home/oracle/arch1/arch_1_2_1221906768.arc
Archive Log 1 07-JAN-26 /home/oracle/arch1/arch_1_1_1221906768.arc
Do you really want to delete the above objects (enter YES or NO)? yes
deleted archived log
archived log file name=/home/oracle/arch2/arch_1_1_1221906768.arc RECID=2 STAMP=1221910275
deleted archived log
archived log file name=/home/oracle/arch2/arch_1_2_1221906768.arc RECID=4 STAMP=1221910275
deleted archived log
archived log file name=/home/oracle/arch1/arch_1_2_1221906768.arc RECID=3 STAMP=1221910275
deleted archived log
archived log file name=/home/oracle/arch1/arch_1_1_1221906768.arc RECID=1 STAMP=1221910275
Deleted 4 objects
컨트롤 파일, 리두 로그 파일 손상
[oracle@ora19c ~]$ cd $ORACLE_BASE/oradata/ORA19C
[oracle@ora19c ORA19C]$ ls
control01.ctl redo02.log sysaux01.dbf temp01.dbf users01.dbf
redo01.log redo03.log system01.dbf undotbs01.dbf
[oracle@ora19c ORA19C]$ rm *.{ctl,log}
[oracle@ora19c ORA19C]$ ls
sysaux01.dbf system01.dbf temp01.dbf undotbs01.dbf users01.dbf
[oracle@ora19c ORA19C]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 7 11:48:59 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SYS@ora19c> alter system checkpoint;
System altered.
SYS@ora19c> alter system switch logfile;
System altered.
-- alert log
2026-01-07T11:49:39.489443+09:00
PMON (ospid: ): terminating the instance due to ORA error
2026-01-07T11:49:39.491658+09:00
Cause - 'Instance is being terminated due to fatal process death (pid: 21, ospid: 27771, LG00)'
2026-01-07T11:49:39.519609+09:00
System state dump requested by (instance=1, osid=27730 (PMON)), summary=[abnormal instance termination].
System State dumped to trace file /u01/app/oracle/diag/rdbms/ora19c/ora19c/trace/ora19c_diag_27750.trc
2026-01-07T11:49:40.069416+09:00
Dumping diagnostic data in directory=[cdmp_20260107114939], requested by (instance=1, osid=27730 (PMON)), summary=[abnormal instance termination].
2026-01-07T11:49:41.224226+09:00
Instance terminated by PMON, pid = 27730
최근 백업 컨트롤 파일 찾기
[oracle@ora19c ~]$ cd $ORACLE_BASE/fast_recovery_area/ORA19C/autobackup/2026_01_07
[oracle@ora19c 2026_01_07]$ ll
total 10784
-rw-r-----. 1 oracle oinstall 11042816 Jan 7 12:16 o1_mf_s_1221913001_novn0scg_.bkp
[oracle@ora19c 2026_01_07]$ pwd
/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07
# /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221913001_novn0scg_.bkp
RMAN 복구
nomount로 데이터베이스 시작
[oracle@ora19c ~]$ rman target /
Recovery Manager: Release 19.0.0.0.0 - Production on Wed Jan 7 11:55:02 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
connected to target database (not started)
# nomount로 데이터베이스 시작
RMAN> startup nomount;
Oracle instance started
Total System Global Area 830469472 bytes
Fixed Size 8901984 bytes
Variable Size 654311424 bytes
Database Buffers 159383552 bytes
Redo Buffers 7872512 bytes
백업 컨트롤파일 restore
RMAN> restore controlfile from '/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221913001_novn0scg_.bkp';
Starting restore at 07-JAN-26
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/u01/app/oracle/oradata/ORA19C/control01.ctl
Finished restore at 07-JAN-26
백업 컨트롤파일로 mount
RMAN> alter database mount;
released channel: ORA_DISK_1
Statement processed
백업본으로 restore
RMAN> restore database;
Starting restore at 07-JAN-26
Starting implicit crosscheck backup at 07-JAN-26
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
Crosschecked 5 objects
Finished implicit crosscheck backup at 07-JAN-26
Starting implicit crosscheck copy at 07-JAN-26
using channel ORA_DISK_1
Finished implicit crosscheck copy at 07-JAN-26
searching for all files in the recovery area
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221913001_novn0scg_.bkp
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/ORA19C/system01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/ORA19C/users01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T121634_novn0lcl_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T121634_novn0lcl_.bkp tag=TAG20260107T121634
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
Finished restore at 07-JAN-26
백업 이후 리두 적용
RMAN> recover database;
Starting recover at 07-JAN-26
using channel ORA_DISK_1
starting media recovery
archived log file name=/home/oracle/arch2/arch_1_1_1221912888.arc thread=1 sequence=1
unable to find archived log
archived log thread=1 sequence=2
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 01/07/2026 12:22:34
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 2 and starting SCN of 3896242
SCN을 기준으로 불완전 복구
RMAN> run {
set until scn=3896242;
restore database;
recover database;
alter database open resetlogs;
}
executing command: SET until clause
Starting restore at 07-JAN-26
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/ORA19C/system01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/ORA19C/users01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T121634_novn0lcl_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T121634_novn0lcl_.bkp tag=TAG20260107T121634
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
Finished restore at 07-JAN-26
Starting recover at 07-JAN-26
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 1 is already on disk as file /home/oracle/arch2/arch_1_1_1221912888.arc
archived log file name=/home/oracle/arch2/arch_1_1_1221912888.arc thread=1 sequence=1
media recovery complete, elapsed time: 00:00:00
Finished recover at 07-JAN-26
Statement processed
Sequence 번호를 기준으로 불완전 복구
run {
set until sequence=2;
restore database;
recover database;
alter database open resetlogs;
}
시간을 기준으로 불완전 복구
테이블스페이스 생성
SYS@ora19c> select a.file#, a.creation_change#, to_char(a.creation_time, 'yyyy-mm-dd hh24:mi:ss') createion_time, b.name tbs_name, a.name file_name, a.checkpoint_change#, a.status
from v$datafile a, v$tablespace b
where a.ts# = b.ts#; 2 3
FILE# CREATION_CHANGE# CREATEION_TIME TBS_NAME FILE_NAME CHECKPOINT_CHANGE# STATUS
---------- ---------------- ------------------- ------------------------------ -------------------------------------------------- ------------------ -------
1 9 2019-04-17 00:56:09 SYSTEM /u01/app/oracle/oradata/ORA19C/system01.dbf 3898258 SYSTEM
3 5480 2019-04-17 00:56:21 SYSAUX /u01/app/oracle/oradata/ORA19C/sysaux01.dbf 3898258 ONLINE
4 1920446 2019-04-17 02:11:02 UNDOTBS1 /u01/app/oracle/oradata/ORA19C/undotbs01.dbf 3898258 ONLINE
7 32876 2019-04-17 00:57:08 USERS /u01/app/oracle/oradata/ORA19C/users01.dbf 3898258 ONLINE
SYS@ora19c> create tablespace data_tbs datafile '/u01/app/oracle/oradata/ORA19C/data_tbs01.dbf' size 10m;
Tablespace created.
SYS@ora19c> select a.file#, a.creation_change#, to_char(a.creation_time, 'yyyy-mm-dd hh24:mi:ss') createion_time, b.name tbs_name, a.name file_name, a.checkpoint_change#, a.status
from v$datafile a, v$tablespace b
where a.ts# = b.ts#; 2 3
FILE# CREATION_CHANGE# CREATEION_TIME TBS_NAME FILE_NAME CHECKPOINT_CHANGE# STATUS
---------- ---------------- ------------------- ------------------------------ -------------------------------------------------- ------------------ -------
1 9 2019-04-17 00:56:09 SYSTEM /u01/app/oracle/oradata/ORA19C/system01.dbf 3898258 SYSTEM
3 5480 2019-04-17 00:56:21 SYSAUX /u01/app/oracle/oradata/ORA19C/sysaux01.dbf 3898258 ONLINE
4 1920446 2019-04-17 02:11:02 UNDOTBS1 /u01/app/oracle/oradata/ORA19C/undotbs01.dbf 3898258 ONLINE
7 32876 2019-04-17 00:57:08 USERS /u01/app/oracle/oradata/ORA19C/users01.dbf 3898258 ONLINE
5 3899398 2026-01-07 14:23:46 DATA_TBS /u01/app/oracle/oradata/ORA19C/data_tbs01.dbf 3899399 ONLINE
로그스위치 발생
SYS@ora19c> alter system switch logfile;
System altered.
SYS@ora19c> select a.group#, a.sequence#, b.member, a.bytes/1024/1024 mb, a.archived, a.status, a.first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, a.next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
from v$log a, v$logfile b
where a.group# = b.group#; 2 3
GROUP# SEQUENCE# MEMBER MB ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------- -------------------------------------------------- ---------- --- ---------------- ------------- ------------------- ------------ -------------------
2 2 /u01/app/oracle/oradata/ORA19C/redo02.log 50 YES ACTIVE 3898258 2026-01-07 14:07:38 3899437 2026-01-07 14:24:25
1 1 /u01/app/oracle/oradata/ORA19C/redo01.log 50 YES INACTIVE 3897233 2026-01-07 14:04:26 3898258 2026-01-07 14:07:38
3 3 /u01/app/oracle/oradata/ORA19C/redo03.log 50 NO CURRENT 3899437 2026-01-07 14:24:25 1.8447E+19
SYS@ora19c> create table hr.emp_data tablespace data_tbs as select * from hr.employees;
Table created.
SYS@ora19c> select count(*) from hr.emp_data;
COUNT(*)
----------
107
RMAN> report schema;
using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name ORA19C
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 910 SYSTEM YES /u01/app/oracle/oradata/ORA19C/system01.dbf
3 720 SYSAUX NO /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 340 UNDOTBS1 YES /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
5 10 DATA_TBS NO /u01/app/oracle/oradata/ORA19C/data_tbs01.dbf
7 5 USERS NO /u01/app/oracle/oradata/ORA19C/users01.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 20 /u01/app/oracle/oradata/ORA19C/temp01.dbf
RMAN> report need backup;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of files with less than 1 redundant backups
File #bkps Name
---- ----- -----------------------------------------------------
5 0 /u01/app/oracle/oradata/ORA19C/data_tbs01.dbf
RMAN> backup datafile 5;
Starting backup at 07-JAN-26
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=31 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00005 name=/u01/app/oracle/oradata/ORA19C/data_tbs01.dbf
channel ORA_DISK_1: starting piece 1 at 07-JAN-26
channel ORA_DISK_1: finished piece 1 at 07-JAN-26
piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T142524_novvl4sq_.bkp tag=TAG20260107T142524 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 07-JAN-26
Starting Control File and SPFILE Autobackup at 07-JAN-26
piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221920725_novvl60l_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 07-JAN-26
RMAN> list backup of datafile 5;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
13 Full 1.09M DISK 00:00:00 07-JAN-26
BP Key: 13 Status: AVAILABLE Compressed: NO Tag: TAG20260107T142524
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T142524_novvl4sq_.bkp
List of Datafiles in backup set 13
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
5 Full 3900592 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/data_tbs01.dbf
RMAN> list backup of tablespace data_tbs;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
13 Full 1.09M DISK 00:00:00 07-JAN-26
BP Key: 13 Status: AVAILABLE Compressed: NO Tag: TAG20260107T142524
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T142524_novvl4sq_.bkp
List of Datafiles in backup set 13
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
5 Full 3900592 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/data_tbs01.dbf
장애 유발
SYS@ora19c> drop tablespace data_tbs including contents and datafiles;
Tablespace dropped.
-- alert log
2026-01-07T14:26:45.859208+09:00
drop tablespace data_tbs including contents and datafiles
2026-01-07T14:26:49.439132+09:00
Deleted file /u01/app/oracle/oradata/ORA19C/data_tbs01.dbf
Completed: drop tablespace data_tbs including contents and datafiles
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
11 Full 1.27G DISK 00:00:03 07-JAN-26
BP Key: 11 Status: AVAILABLE Compressed: NO Tag: TAG20260107T140717
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T140717_novtj5gy_.bkp
List of Datafiles in backup set 11
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
1 Full 3898206 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/system01.dbf
3 Full 3898206 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 Full 3898206 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
7 Full 3898206 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
12 Full 10.52M DISK 00:00:00 07-JAN-26
BP Key: 12 Status: AVAILABLE Compressed: NO Tag: TAG20260107T140724
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221919644_novtjdj6_.bkp
SPFILE Included: Modification time: 07-JAN-26
SPFILE db_unique_name: ORA19C
Control File Included: Ckp SCN: 3898219 Ckp time: 07-JAN-26
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
13 Full 1.09M DISK 00:00:00 07-JAN-26
BP Key: 13 Status: AVAILABLE Compressed: NO Tag: TAG20260107T142524
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T142524_novvl4sq_.bkp
List of Datafiles in backup set 13
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
5 Full 3900592 07-JAN-26 NO
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
14 Full 10.52M DISK 00:00:01 07-JAN-26
BP Key: 14 Status: AVAILABLE Compressed: NO Tag: TAG20260107T142525
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221920725_novvl60l_.bkp
SPFILE Included: Modification time: 07-JAN-26
SPFILE db_unique_name: ORA19C
Control File Included: Ckp SCN: 3900600 Ckp time: 07-JAN-26
[oracle@ora19c ~]$ cd $ORACLE_BASE/fast_recovery_area/ORA19C/
[oracle@ora19c ORA19C]$ ls
archivelog autobackup backupset onlinelog
[oracle@ora19c ORA19C]$ cd autobackup/2026_01_07/
[oracle@ora19c 2026_01_07]$ ls
o1_mf_s_1221919644_novtjdj6_.bkp o1_mf_s_1221920725_novvl60l_.bkp o1_mf_s_1221921267_novw33g6_.bkp
[oracle@ora19c 2026_01_07]$ ll
total 32352
-rw-r-----. 1 oracle oinstall 11042816 Jan 7 14:07 o1_mf_s_1221919644_novtjdj6_.bkp
-rw-r-----. 1 oracle oinstall 11042816 Jan 7 14:25 o1_mf_s_1221920725_novvl60l_.bkp
-rw-r-----. 1 oracle oinstall 11042816 Jan 7 14:34 o1_mf_s_1221921267_novw33g6_.bkp
# /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221920725_novvl60l_.bkp
[oracle@ora19c 2026_01_07]$ cd ../../backupset/2026_01_07/
[oracle@ora19c 2026_01_07]$ ll
total 1336792
-rw-r-----. 1 oracle oinstall 1367719936 Jan 7 14:07 o1_mf_nnndf_TAG20260107T140717_novtj5gy_.bkp
-rw-r-----. 1 oracle oinstall 1155072 Jan 7 14:25 o1_mf_nnndf_TAG20260107T142524_novvl4sq_.bkp
RMAN 복구
데이터베이스 종료 후 nomount로 시작
RMAN> shutdown immediate
database closed
database dismounted
Oracle instance shut down
RMAN> startup nomount
connected to target database (not started)
Oracle instance started
Total System Global Area 830469472 bytes
Fixed Size 8901984 bytes
Variable Size 654311424 bytes
Database Buffers 159383552 bytes
Redo Buffers 7872512 bytes
백업 컨트롤 파일 restore
RMAN> restore controlfile from '/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221920725_novvl60l_.bkp';
Starting restore at 07-JAN-26
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/u01/app/oracle/oradata/ORA19C/control01.ctl
Finished restore at 07-JAN-26
데이터베이스 mount
RMAN> alter database mount;
released channel: ORA_DISK_1
Statement processed
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
11 Full 1.27G DISK 00:00:03 07-JAN-26
BP Key: 11 Status: AVAILABLE Compressed: NO Tag: TAG20260107T140717
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T140717_novtj5gy_.bkp
List of Datafiles in backup set 11
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
1 Full 3898206 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/system01.dbf
3 Full 3898206 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 Full 3898206 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
7 Full 3898206 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
12 Full 10.52M DISK 00:00:00 07-JAN-26
BP Key: 12 Status: AVAILABLE Compressed: NO Tag: TAG20260107T140724
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221919644_novtjdj6_.bkp
SPFILE Included: Modification time: 07-JAN-26
SPFILE db_unique_name: ORA19C
Control File Included: Ckp SCN: 3898219 Ckp time: 07-JAN-26
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
13 Full 1.09M DISK 00:00:00 07-JAN-26
BP Key: 13 Status: AVAILABLE Compressed: NO Tag: TAG20260107T142524
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T142524_novvl4sq_.bkp
List of Datafiles in backup set 13
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
5 Full 3900592 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/data_tbs01.dbf
RMAN> report schema;
Starting implicit crosscheck backup at 07-JAN-26
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=23 device type=DISK
Crosschecked 3 objects
Finished implicit crosscheck backup at 07-JAN-26
Starting implicit crosscheck copy at 07-JAN-26
using channel ORA_DISK_1
Finished implicit crosscheck copy at 07-JAN-26
searching for all files in the recovery area
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221920725_novvl60l_.bkp
File Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221921267_novw33g6_.bkp
RMAN-06139: warning: control file is not current for REPORT SCHEMA
Report of database schema for database with db_unique_name ORA19C
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 910 SYSTEM *** /u01/app/oracle/oradata/ORA19C/system01.dbf
3 720 SYSAUX *** /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 340 UNDOTBS1 *** /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
5 0 DATA_TBS *** /u01/app/oracle/oradata/ORA19C/data_tbs01.dbf
7 5 USERS *** /u01/app/oracle/oradata/ORA19C/users01.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 20 /u01/app/oracle/oradata/ORA19C/temp01.dbf
time base recovery
RMAN> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
Statement processed
RMAN> run {
set until time '2026-01-07 14:26:00';
restore database;
recover database;
alter database open resetlogs;
}2> 3> 4> 5> 6>
executing command: SET until clause
Starting restore at 07-JAN-26
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/ORA19C/system01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/ORA19C/users01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T140717_novtj5gy_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T140717_novtj5gy_.bkp tag=TAG20260107T140717
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/ORA19C/data_tbs01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T142524_novvl4sq_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T142524_novvl4sq_.bkp tag=TAG20260107T142524
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 07-JAN-26
Starting recover at 07-JAN-26
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 1 is already on disk as file /u01/app/oracle/oradata/ORA19C/redo01.log
archived log for thread 1 with sequence 2 is already on disk as file /u01/app/oracle/oradata/ORA19C/redo02.log
archived log for thread 1 with sequence 3 is already on disk as file /u01/app/oracle/oradata/ORA19C/redo03.log
archived log file name=/u01/app/oracle/oradata/ORA19C/redo01.log thread=1 sequence=1
archived log file name=/u01/app/oracle/oradata/ORA19C/redo02.log thread=1 sequence=2
archived log file name=/u01/app/oracle/oradata/ORA19C/redo03.log thread=1 sequence=3
media recovery complete, elapsed time: 00:00:01
Finished recover at 07-JAN-26
Statement processed
RMAN> report schema;
Report of database schema for database with db_unique_name ORA19C
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 910 SYSTEM YES /u01/app/oracle/oradata/ORA19C/system01.dbf
3 720 SYSAUX NO /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 340 UNDOTBS1 YES /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
5 10 DATA_TBS NO /u01/app/oracle/oradata/ORA19C/data_tbs01.dbf
7 5 USERS NO /u01/app/oracle/oradata/ORA19C/users01.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 20 /u01/app/oracle/oradata/ORA19C/temp01.dbf
RMAN> select count(*) from hr.emp_data;
COUNT(*)
----------
107
user 삭제 후 불완전 복구
HR 유저 삭제
SYS@ora19c> select a.group#, a.sequence#, b.member, a.bytes/1024/1024 mb, a.archived, a.status, a.first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, a.next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
from v$log a, v$logfile b
where a.group# = b.group#; 2 3
GROUP# SEQUENCE# MEMBER MB ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------- -------------------------------------------------- ---------- --- ---------------- ------------- ------------------- ------------ -------------------
2 2 /u01/app/oracle/oradata/ORA19C/redo02.log 50 NO CURRENT 3901801 2026-01-07 15:00:45 1.8447E+19
1 1 /u01/app/oracle/oradata/ORA19C/redo01.log 50 YES INACTIVE 3900656 2026-01-07 14:52:34 3901801 2026-01-07 15:00:45
3 0 /u01/app/oracle/oradata/ORA19C/redo03.log 50 YES UNUSED 0 0
SYS@ora19c> select count(*) from dba_objects where owner = 'HR';
COUNT(*)
----------
38
SYS@ora19c> drop user hr cascade;
User dropped.
SYS@ora19c> select count(*) from dba_objects where owner = 'HR';
COUNT(*)
----------
0
로그 분석
로그 마이너 설정
SYS@ora19c> select supplemental_log_data_min from v$database;
SUPPLEME
--------
NO
SYS@ora19c> alter database add supplemental log data;
Database altered.
SYS@ora19c> select supplemental_log_data_min from v$database;
SUPPLEME
--------
YES
로그 분석 : 복구 목표 시간 찾기
SYS@ora19c> select a.group#, a.sequence#, b.member, a.bytes/1024/1024 mb, a.archived, a.status, a.first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, a.next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
from v$log a, v$logfile b
where a.group# = b.group#; 2 3
GROUP# SEQUENCE# MEMBER MB ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------- -------------------------------------------------- ---------- --- ---------------- ------------- ------------------- ------------ -------------------
2 2 /u01/app/oracle/oradata/ORA19C/redo02.log 50 NO CURRENT 3901801 2026-01-07 15:00:45 1.8447E+19
1 1 /u01/app/oracle/oradata/ORA19C/redo01.log 50 YES INACTIVE 3900656 2026-01-07 14:52:34 3901801 2026-01-07 15:00:45
3 0 /u01/app/oracle/oradata/ORA19C/redo03.log 50 YES UNUSED 0 0
SYS@ora19c> ! ls arch*;
arch1:
arch_1_1_1221922354.arc
arch2:
arch_1_1_1221922354.arc
SYS@ora19c> begin
dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/oradata/ORA19C/redo02.log', options=>dbms_logmnr.new);
dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/oradata/ORA19C/redo01.log', options=>dbms_logmnr.addfile);
end;
/ 2 3 4 5
PL/SQL procedure successfully completed.
SYS@ora19c> col filename format a30
SYS@ora19c> col filename format a50
SYS@ora19c> select filename from v$logmnr_logs;
FILENAME
--------------------------------------------------
/u01/app/oracle/oradata/ORA19C/redo01.log
/u01/app/oracle/oradata/ORA19C/redo02.log
SYS@ora19c> exec dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog)
PL/SQL procedure successfully completed.
SYS@ora19c> col sql_redo format a50
SYS@ora19c> col sql_undo format a50
SYS@ora19c> select to_char(timestamp, 'yyyy-mm-dd hh24:mi:ss') time, operation, sql_redo, sql_undo
from v$logmnr_contents
where seg_owner = 'HR';
TIME OPERATION SQL_REDO SQL_UNDO
------------------- -------------------------------- -------------------------------------------------- --------------------------------------------------
2026-01-07 15:00:03 DDL drop table "HR"."EMP_DATA" cascade constraints pur
ge;
2026-01-07 15:08:20 DDL drop table "HR"."BIN$RaVdXyhCZHTgY5Y4qMAw0A==$0" p
urge;
2026-01-07 15:08:20 DDL drop trigger "HR"."UPDATE_JOB_HISTORY";
2026-01-07 15:08:20 DDL drop trigger "HR"."SECURE_EMPLOYEES";
2026-01-07 15:08:20 DDL drop sequence "HR"."EMPLOYEES_SEQ";
2026-01-07 15:08:20 DDL drop sequence "HR"."DEPARTMENTS_SEQ";
2026-01-07 15:08:20 DDL drop sequence "HR"."LOCATIONS_SEQ";
2026-01-07 15:08:21 DDL drop view "HR"."EMP_DETAILS_VIEW" cascade constrai
nts;
2026-01-07 15:08:21 DDL drop table "HR"."FGA_EMP_LOG" cascade constraints
purge force;
2026-01-07 15:08:21 DDL drop table "HR"."JOB_HISTORY" cascade constraints
purge force;
2026-01-07 15:08:21 DDL drop table "HR"."EMPLOYEES" cascade constraints pu
rge force;
2026-01-07 15:08:21 DDL drop table "HR"."JOBS" cascade constraints purge f
orce;
2026-01-07 15:08:21 DDL drop table "HR"."DEPARTMENTS" cascade constraints
purge force;
2026-01-07 15:08:21 DDL drop table "HR"."LOCATIONS" cascade constraints pu
rge force;
2026-01-07 15:08:21 DDL drop table "HR"."COUNTRIES" cascade constraints pu
rge force;
2026-01-07 15:08:21 DDL drop table "HR"."REGIONS" cascade constraints purg
e force;
2026-01-07 15:08:21 DDL drop procedure "HR"."SECURE_DML";
2026-01-07 15:08:21 DDL drop procedure "HR"."ADD_JOB_HISTORY";
2026-01-07 15:08:21 DDL drop procedure "HR"."INSERT_EMP1";
2026-01-07 15:08:21 DDL drop procedure "HR"."INSERT_EMP2";
2026-01-07 15:08:21 DDL drop procedure "HR"."FGA_TRAIL_PROC";
2026-01-07 15:08:22 DDL drop user hr cascade;
22 rows selected.
- 복구 목표 시간 : 2026-01-07 15:08:00
백업 컨트롤 파일 찾기
SYS@ora19c> shutdown abort
ORACLE instance shut down.
SYS@ora19c> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
[oracle@ora19c ~]$ cd $ORACLE_BASE/fast_recovery_area/ORA19C/autobackup/2026_01_07
[oracle@ora19c 2026_01_07]$ ll
total 10784
-rw-r-----. 1 oracle oinstall 11042816 Jan 7 15:00 o1_mf_s_1221922835_novxn3mc_.bkp
[oracle@ora19c 2026_01_07]$ pwd
/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07
RMAN 복구
nomount로 데이터베이스 시작
[oracle@ora19c ~]$ rman target /
Recovery Manager: Release 19.0.0.0.0 - Production on Wed Jan 7 15:45:01 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
connected to target database (not started)
RMAN> startup nomount
Oracle instance started
Total System Global Area 830469472 bytes
Fixed Size 8901984 bytes
Variable Size 654311424 bytes
Database Buffers 159383552 bytes
Redo Buffers 7872512 bytes
백업 컨트롤파일 restore
RMAN> restore controlfile from '/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221922835_novxn3mc_.bkp';
Starting restore at 07-JAN-26
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/u01/app/oracle/oradata/ORA19C/control01.ctl
Finished restore at 07-JAN-26
백업 컨트롤 파일로 데이터베이스 mount
RMAN> alter database mount;
released channel: ORA_DISK_1
Statement processed
RMAN> select status from v$instance;
STATUS
------------
MOUNTED
time base recovery
RMAN> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
Statement processed
RMAN> run {
set until time = '2026-01-07 15:08:00';
restore database;
recover database;
alter database open resetlogs;
}
executing command: SET until clause
Starting restore at 07-JAN-26
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/ORA19C/system01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/ORA19C/users01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T150028_novxmwg3_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T150028_novxmwg3_.bkp tag=TAG20260107T150028
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
Finished restore at 07-JAN-26
Starting recover at 07-JAN-26
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 1 is already on disk as file /u01/app/oracle/oradata/ORA19C/redo01.log
archived log for thread 1 with sequence 2 is already on disk as file /u01/app/oracle/oradata/ORA19C/redo02.log
archived log file name=/u01/app/oracle/oradata/ORA19C/redo01.log thread=1 sequence=1
archived log file name=/u01/app/oracle/oradata/ORA19C/redo02.log thread=1 sequence=2
media recovery complete, elapsed time: 00:00:02
Finished recover at 07-JAN-26
Statement processed
RMAN> select status from v$instance;
STATUS
------------
OPEN
RMAN> select count(*) from dba_objects where owner = 'HR';
COUNT(*)
----------
38
복제 데이터베이스
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 1.27G DISK 00:00:06 07-JAN-26
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20260107T162438
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T162438_now2krto_.bkp
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
1 Full 2864054 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/system01.dbf
3 Full 2864054 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/sysaux01.dbf
4 Full 2864054 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/undotbs01.dbf
7 Full 2864054 07-JAN-26 NO /u01/app/oracle/oradata/ORA19C/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
2 Full 10.20M DISK 00:00:01 07-JAN-26
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20260107T162445
Piece Name: /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221927885_now2ky1d_.bkp
SPFILE Included: Modification time: 07-JAN-26
SPFILE db_unique_name: ORA19C
Control File Included: Ckp SCN: 2864065 Ckp time: 07-JAN-26
SYS@ora19c> select sequence#, name, first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
from v$archived_log; 2
SEQUENCE# NAME FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- -------------------------------------------------- ------------- ------------------- ------------ -------------------
29 /home/oracle/arch1/arch_1_29_1218118200.arc 2850110 2025-12-23 10:12:10 2863961 2026-01-07 16:24:21
29 /home/oracle/arch2/arch_1_29_1218118200.arc 2850110 2025-12-23 10:12:10 2863961 2026-01-07 16:24:21
30 /home/oracle/arch1/arch_1_30_1218118200.arc 2863961 2026-01-07 16:24:21 2864091 2026-01-07 16:24:54
30 /home/oracle/arch2/arch_1_30_1218118200.arc 2863961 2026-01-07 16:24:21 2864091 2026-01-07 16:24:54
SYS@ora19c> select a.group#, a.sequence#, b.member, a.bytes/1024/1024 mb, a.archived, a.status, a.first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, a.next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
from v$log a, v$logfile b
where a.group# = b.group#; 2 3
GROUP# SEQUENCE# MEMBER MB ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------- -------------------------------------------------- ---------- --- ---------------- ------------- ------------------- ------------ -------------------
3 31 /u01/app/oracle/oradata/ORA19C/redo03.log 50 NO CURRENT 2864091 2026-01-07 16:24:54 1.8447E+19
2 30 /u01/app/oracle/oradata/ORA19C/redo02.log 50 YES INACTIVE 2863961 2026-01-07 16:24:21 2864091 2026-01-07 16:24:54
1 29 /u01/app/oracle/oradata/ORA19C/redo01.log 50 YES INACTIVE 2850110 2025-12-23 10:12:10 2863961 2026-01-07 16:24:21
SYS@ora19c> ! ls arch*
arch1:
arch_1_29_1218118200.arc arch_1_30_1218118200.arc
arch2:
arch_1_29_1218118200.arc arch_1_30_1218118200.arc
유저 삭제
SYS@ora19c> select systimestamp from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
07-JAN-26 04.49.46.745342 PM +09:00
SYS@ora19c> drop user hr cascade;
User dropped.
SYS@ora19c> select systimestamp from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
07-JAN-26 04.50.08.038291 PM +09:00
SYS@ora19c> select a.group#, a.sequence#, b.member, a.bytes/1024/1024 mb, a.archived, a.status, a.first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, a.next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
from v$log a, v$logfile b
where a.group# = b.group#;
2 3
GROUP# SEQUENCE# MEMBER MB ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------- -------------------------------------------------- ---------- --- ---------------- ------------- ------------------- ------------ -------------------
3 31 /u01/app/oracle/oradata/ORA19C/redo03.log 50 NO CURRENT 2864091 2026-01-07 16:24:54 1.8447E+19
2 30 /u01/app/oracle/oradata/ORA19C/redo02.log 50 YES INACTIVE 2863961 2026-01-07 16:24:21 2864091 2026-01-07 16:24:54
1 29 /u01/app/oracle/oradata/ORA19C/redo01.log 50 YES INACTIVE 2850110 2025-12-23 10:12:10 2863961 2026-01-07 16:24:21
SYS@ora19c> alter system archive log current;
System altered.
SYS@ora19c> select a.group#, a.sequence#, b.member, a.bytes/1024/1024 mb, a.archived, a.status, a.first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, a.next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
2 from v$log a, v$logfile b
where a.group# = b.group#; 3
GROUP# SEQUENCE# MEMBER MB ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------- -------------------------------------------------- ---------- --- ---------------- ------------- ------------------- ------------ -------------------
3 31 /u01/app/oracle/oradata/ORA19C/redo03.log 50 YES ACTIVE 2864091 2026-01-07 16:24:54 2866548 2026-01-07 16:50:51
2 30 /u01/app/oracle/oradata/ORA19C/redo02.log 50 YES INACTIVE 2863961 2026-01-07 16:24:21 2864091 2026-01-07 16:24:54
1 32 /u01/app/oracle/oradata/ORA19C/redo01.log 50 NO CURRENT 2866548 2026-01-07 16:50:51 1.8447E+19
SYS@ora19c> select sequence#, name, first_change#, to_char(first_time, 'yyyy-mm-dd hh24:mi:ss') first_time, next_change#, to_char(next_time, 'yyyy-mm-dd hh24:mi:ss') next_time
from v$archived_log; 2
SEQUENCE# NAME FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- -------------------------------------------------- ------------- ------------------- ------------ -------------------
29 /home/oracle/arch1/arch_1_29_1218118200.arc 2850110 2025-12-23 10:12:10 2863961 2026-01-07 16:24:21
29 /home/oracle/arch2/arch_1_29_1218118200.arc 2850110 2025-12-23 10:12:10 2863961 2026-01-07 16:24:21
30 /home/oracle/arch1/arch_1_30_1218118200.arc 2863961 2026-01-07 16:24:21 2864091 2026-01-07 16:24:54
30 /home/oracle/arch2/arch_1_30_1218118200.arc 2863961 2026-01-07 16:24:21 2864091 2026-01-07 16:24:54
31 /home/oracle/arch1/arch_1_31_1218118200.arc 2864091 2026-01-07 16:24:54 2866548 2026-01-07 16:50:51
31 /home/oracle/arch2/arch_1_31_1218118200.arc 2864091 2026-01-07 16:24:54 2866548 2026-01-07 16:50:51
6 rows selected.
SYS@ora19c> ! ls arch*
arch1:
arch_1_29_1218118200.arc arch_1_30_1218118200.arc arch_1_31_1218118200.arc
arch2:
arch_1_29_1218118200.arc arch_1_30_1218118200.arc arch_1_31_1218118200.arc
복제 DB 생성
clone 디렉터리 생성
SYS@ora19c> !
[oracle@ora19c ~]$ ls
arch1 arch2 backup create_2026.txt data_pump
[oracle@ora19c ~]$ mkdir clone
[oracle@ora19c ~]$ exit
exit
초기 파라미터 파일 생성
SYS@ora19c> create pfile='/home/oracle/clone/initclone.ora' from spfile;
File created.
SYS@ora19c> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
[oracle@ora19c ~]$ cd clone
[oracle@ora19c clone]$ ls
initclone.ora
[oracle@ora19c clone]$ vi initclone.ora
[oracle@ora19c clone]$ cat initclone.ora
*.compatible='19.0.0'
*.control_files='/home/oracle/clone/control01.ctl'#Restore Controlfile
*.db_name='clone'
*.log_archive_dest_1='location=/home/oracle/clone mandatory'
*.log_archive_format='arch_%t_%s_%r.arc'
*.undo_tablespace='UNDOTBS1'
백업 컨트롤 파일, 데이터 파일, 아카이브 로그 파일 복사
# 백업 데이터 파일 복사
[oracle@ora19c clone]$ cp -v /u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T162438_now2krto_.bkp .
‘/u01/app/oracle/fast_recovery_area/ORA19C/backupset/2026_01_07/o1_mf_nnndf_TAG20260107T162438_now2krto_.bkp’ -> ‘./o1_mf_nnndf_TAG20260107T162438_now2krto_.bkp’
# 백업 컨트롤 파일 복사
[oracle@ora19c clone]$ cp -v /u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221927885_now2ky1d_.bkp .
‘/u01/app/oracle/fast_recovery_area/ORA19C/autobackup/2026_01_07/o1_mf_s_1221927885_now2ky1d_.bkp’ -> ‘./o1_mf_s_1221927885_now2ky1d_.bkp’
# 아카이브 로그 파일 복사
[oracle@ora19c clone]$ cp -v /home/oracle/arch1/* .
‘/home/oracle/arch1/arch_1_29_1218118200.arc’ -> ‘./arch_1_29_1218118200.arc’
‘/home/oracle/arch1/arch_1_30_1218118200.arc’ -> ‘./arch_1_30_1218118200.arc’
‘/home/oracle/arch1/arch_1_31_1218118200.arc’ -> ‘./arch_1_31_1218118200.arc’
[oracle@ora19c clone]$ ls
arch_1_29_1218118200.arc arch_1_31_1218118200.arc o1_mf_nnndf_TAG20260107T162438_now2krto_.bkp
arch_1_30_1218118200.arc initclone.ora o1_mf_s_1221927885_now2ky1d_.bkp
오라클 환경 설정
[oracle@ora19c clone]$ cd
[oracle@ora19c ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/19.3.0/dbhome_1
[oracle@ora19c ~]$ . oraenv
ORACLE_SID = [ora19c] ? clone
ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/product/19.3.0/dbhome_1
The Oracle base remains unchanged with value /u01/app/oracle
clone 데이터베이스 nomount로 시작
[oracle@ora19c ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 7 17:02:32 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to an idle instance.
SYS@clone> startup pfile=/home/oracle/clone/initclone.ora nomount
ORACLE instance started.
Total System Global Area 268434280 bytes
Fixed Size 8895336 bytes
Variable Size 201326592 bytes
Database Buffers 50331648 bytes
Redo Buffers 7880704 bytes
SYS@clone> select instance_name, status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
clone STARTED
rman auxiliary 접속
[oracle@ora19c ~]$ rman auxiliary /
Recovery Manager: Release 19.0.0.0.0 - Production on Wed Jan 7 17:10:23 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
connected to auxiliary database: CLONE (not mounted)
RMAN> select instance_name, status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
clone STARTED
작업형 모드로 복구 수행
RMAN> run {
set newname for datafile 1 to '/home/oracle/clone/system01.dbf';
set newname for datafile 3 to '/home/oracle/clone/sysaux01.dbf';
set newname for datafile 4 to '/home/oracle/clone/undotbs01.dbf';
set newname for datafile 7 to '/home/ora2> cle/clone/users01.dbf';
set newname for tempfile 1 to '/home/oracle/clone/temp01.dbf';
duplicate target database to 'clone'
pfile='/home/oracle/clone/initclone.ora'
nofilenamecheck
backup location '/home/oracle/clone'
until time "to_date('2026-01-07 16:48:00','yyyy-mm-dd hh24:mi:ss')"
logfile
'/home/oracle/clone/redo01.log' size 50m,
'/home/oracle/clone/redo02.log' size 50m,
'/home/oracle/clone/redo03.log' size 50m;
}
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting Duplicate Db at 07-JAN-26
searching for database ID
found backup of database ID 1271306228
contents of Memory Script:
{
sql clone "create spfile from memory";
}
executing Memory Script
sql statement: create spfile from memory
contents of Memory Script:
{
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 268434280 bytes
Fixed Size 8895336 bytes
Variable Size 201326592 bytes
Database Buffers 50331648 bytes
Redo Buffers 7880704 bytes
contents of Memory Script:
{
sql clone "alter system set db_name =
''ORA19C'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name =
''clone'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
restore clone primary controlfile from '/home/oracle/clone/o1_mf_s_1221927885_now2ky1d_.bkp';
alter clone database mount;
}
executing Memory Script
sql statement: alter system set db_name = ''ORA19C'' comment= ''Modified by RMAN duplicate'' scope=spfile
sql statement: alter system set db_unique_name = ''clone'' comment= ''Modified by RMAN duplicate'' scope=spfile
Oracle instance shut down
Oracle instance started
Total System Global Area 268434280 bytes
Fixed Size 8895336 bytes
Variable Size 201326592 bytes
Database Buffers 50331648 bytes
Redo Buffers 7880704 bytes
Starting restore at 07-JAN-26
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=178 device type=DISK
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02
output file name=/home/oracle/clone/control01.ctl
Finished restore at 07-JAN-26
database mounted
released channel: ORA_AUX_DISK_1
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=178 device type=DISK
contents of Memory Script:
{
set until scn 2864065;
set newname for datafile 1 to
"/home/oracle/clone/system01.dbf";
set newname for datafile 3 to
"/home/oracle/clone/sysaux01.dbf";
set newname for datafile 4 to
"/home/oracle/clone/undotbs01.dbf";
set newname for datafile 7 to
"/home/oracle/clone/users01.dbf";
restore
clone database
;
}
executing Memory Script
executing command: SET until clause
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting restore at 07-JAN-26
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00001 to /home/oracle/clone/system01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00003 to /home/oracle/clone/sysaux01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00004 to /home/oracle/clone/undotbs01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00007 to /home/oracle/clone/users01.dbf
channel ORA_AUX_DISK_1: reading from backup piece /home/oracle/clone/o1_mf_nnndf_TAG20260107T162438_now2krto_.bkp
channel ORA_AUX_DISK_1: piece handle=/home/oracle/clone/o1_mf_nnndf_TAG20260107T162438_now2krto_.bkp tag=TAG20260107T162438
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07
Finished restore at 07-JAN-26
contents of Memory Script:
{
switch clone datafile all;
}
executing Memory Script
datafile 1 switched to datafile copy
input datafile copy RECID=5 STAMP=1221932257 file name=/home/oracle/clone/system01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=6 STAMP=1221932257 file name=/home/oracle/clone/sysaux01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=7 STAMP=1221932257 file name=/home/oracle/clone/undotbs01.dbf
datafile 7 switched to datafile copy
input datafile copy RECID=8 STAMP=1221932257 file name=/home/oracle/clone/users01.dbf
contents of Memory Script:
{
set until time "to_date('JAN 07 2026 16:48:00', 'MON DD YYYY HH24:MI:SS')";
recover
clone database
delete archivelog
;
}
executing Memory Script
executing command: SET until clause
Starting recover at 07-JAN-26
using channel ORA_AUX_DISK_1
starting media recovery
archived log for thread 1 with sequence 30 is already on disk as file /home/oracle/clone/arch_1_30_1218118200.arc
archived log for thread 1 with sequence 31 is already on disk as file /home/oracle/clone/arch_1_31_1218118200.arc
archived log file name=/home/oracle/clone/arch_1_30_1218118200.arc thread=1 sequence=30
archived log file name=/home/oracle/clone/arch_1_31_1218118200.arc thread=1 sequence=31
media recovery complete, elapsed time: 00:00:02
Finished recover at 07-JAN-26
Oracle instance started
Total System Global Area 268434280 bytes
Fixed Size 8895336 bytes
Variable Size 201326592 bytes
Database Buffers 50331648 bytes
Redo Buffers 7880704 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "CLONE" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/home/oracle/clone/redo01.log' SIZE 50 M ,
GROUP 2 '/home/oracle/clone/redo02.log' SIZE 50 M ,
GROUP 3 '/home/oracle/clone/redo03.log' SIZE 50 M
DATAFILE
'/home/oracle/clone/system01.dbf'
CHARACTER SET AL32UTF8
contents of Memory Script:
{
set newname for tempfile 1 to
"/home/oracle/clone/temp01.dbf";
switch clone tempfile all;
catalog clone datafilecopy "/home/oracle/clone/sysaux01.dbf",
"/home/oracle/clone/undotbs01.dbf",
"/home/oracle/clone/users01.dbf";
switch clone datafile all;
}
executing Memory Script
executing command: SET NEWNAME
renamed tempfile 1 to /home/oracle/clone/temp01.dbf in control file
cataloged datafile copy
datafile copy file name=/home/oracle/clone/sysaux01.dbf RECID=1 STAMP=1221932271
cataloged datafile copy
datafile copy file name=/home/oracle/clone/undotbs01.dbf RECID=2 STAMP=1221932271
cataloged datafile copy
datafile copy file name=/home/oracle/clone/users01.dbf RECID=3 STAMP=1221932271
datafile 3 switched to datafile copy
input datafile copy RECID=1 STAMP=1221932271 file name=/home/oracle/clone/sysaux01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=2 STAMP=1221932271 file name=/home/oracle/clone/undotbs01.dbf
datafile 7 switched to datafile copy
input datafile copy RECID=3 STAMP=1221932271 file name=/home/oracle/clone/users01.dbf
contents of Memory Script:
{
Alter clone database open resetlogs;
}
executing Memory Script
database opened
Finished Duplicate Db at 07-JAN-26
RMAN> report schema;
Report of database schema for database with db_unique_name CLONE
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 910 SYSTEM *** /home/oracle/clone/system01.dbf
3 720 SYSAUX *** /home/oracle/clone/sysaux01.dbf
4 340 UNDOTBS1 *** /home/oracle/clone/undotbs01.dbf
7 5 USERS *** /home/oracle/clone/users01.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 32 TEMP 32767 /home/oracle/clone/temp01.dbf
RMAN> select count(*) from dba_objects where owner = 'HR';
COUNT(*)
----------
38
clone 데이터베이스에서 hr 스키마 export
SYS@clone> create directory pump_dir as '/home/oracle/data_pump';
Directory created.
SYS@clone> grant read, write on directory pump_dir to hr;
Grant succeeded.
[oracle@ora19c ~]$ expdp system/oracle directory=pump_dir dumpfile=clone_hr_schema.dmp schemas=hr
Export: Release 19.0.0.0.0 - Production on Wed Jan 7 18:40:14 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01": system/******** directory=pump_dir dumpfile=clone_hr_schema.dmp schemas=hr
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PROCEDURE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/VIEW/VIEW
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
. . exported "HR"."EMPLOYEES" 17.08 KB 107 rows
. . exported "HR"."LOCATIONS" 8.437 KB 23 rows
. . exported "HR"."JOB_HISTORY" 7.195 KB 10 rows
. . exported "HR"."JOBS" 7.109 KB 19 rows
. . exported "HR"."DEPARTMENTS" 7.125 KB 27 rows
. . exported "HR"."COUNTRIES" 6.367 KB 25 rows
. . exported "HR"."REGIONS" 5.546 KB 4 rows
. . exported "HR"."FGA_EMP_LOG" 9.695 KB 24 rows
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
/home/oracle/data_pump/clone_hr_schema.dmp
Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at Wed Jan 7 18:41:28 2026 elapsed 0 00:01:13
ora19c 데이터베이스에 hr 스키마 import
SYS@ora19c> create directory pump_dir as '/home/oracle/data_pump';
Directory created.
SYS@ora19c> !
[oracle@ora19c ~]$ impdp system/oracle directory=pump_dir dumpfile=clone_hr_schema.dmp
Import: Release 19.0.0.0.0 - Production on Wed Jan 7 18:44:24 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_FULL_01": system/******** directory=pump_dir dumpfile=clone_hr_schema.dmp
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "HR"."EMPLOYEES" 17.08 KB 107 rows
. . imported "HR"."LOCATIONS" 8.437 KB 23 rows
. . imported "HR"."JOB_HISTORY" 7.195 KB 10 rows
. . imported "HR"."JOBS" 7.109 KB 19 rows
. . imported "HR"."DEPARTMENTS" 7.125 KB 27 rows
. . imported "HR"."COUNTRIES" 6.367 KB 25 rows
. . imported "HR"."REGIONS" 5.546 KB 4 rows
. . imported "HR"."FGA_EMP_LOG" 9.695 KB 24 rows
Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PROCEDURE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/VIEW/VIEW
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
ORA-39082: Object type PROCEDURE:"HR"."INSERT_EMP2" created with compilation warnings
ORA-39082: Object type PROCEDURE:"HR"."INSERT_EMP1" created with compilation warnings
Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 2 error(s) at Wed Jan 7 18:45:10 2026 elapsed 0 00:00:37
[oracle@ora19c ~]$ exit
exit
SYS@ora19c> select count(*) from dba_objects where owner = 'HR';
COUNT(*)
----------
38'Courses > 아이티윌 오라클 DBA 과정' 카테고리의 다른 글
| [아이티윌 오라클 DBA 과정 91기] 260109 TIL (0) | 2026.01.11 |
|---|---|
| [아이티윌 오라클 DBA 과정 91기] 260108 TIL (0) | 2026.01.08 |
| [아이티윌 오라클 DBA 과정 91기] 260106 TIL (1) | 2026.01.07 |
| [아이티윌 오라클 DBA 과정 91기] 260105 TIL (0) | 2026.01.05 |
| [아이티윌 오라클 DBA 과정 91기] 260102 TIL (0) | 2026.01.02 |