[아이티윌 오라클 DBA 과정 91기] 260107 TIL

2026. 1. 7. 20:40Courses/아이티윌 오라클 DBA 과정

데이터베이스 정상적인 종료 후 컨트롤 파일 손상

User Managed Recovery

  1. 백업 컨트롤 파일 restore
  2. startup mount
  3. recover database using backup controlfile
    • auto → current redo log file을 archive log file에서 찾기 때문에 오류 발생
    • current redo log file을 alert log에서 찾아서 직접 입력
  4. alter database open resetlogs

RMAN

  1. startup nomount
  2. restore controlfile from ‘컨트롤파일백업’;
  3. alter database mount;
  4. recover database;
  5. 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