미니시리 2022. 1. 17. 00:30

RMAN이란

recovery manager의 약자로써 오라클에서 제공하는 백업, 복원, 복구 작업을 수행하고 백업 전략 관리를 자동화 하는 솔루션을 말한다.
RMAN 기능은 CLI와 GUI를 통해 사용할 수 있다.

 

RMAN 특징

  • DB전체, Tablespace 단위, Datafile 단위, Archive log, Control files 들을 backup 할 수 있다.
  • 백업을 run 구문으로 script로 묶어서 실행할 수 있다.
  • 증분 백업을 할 수 있다.
  • 사용되어지지 않은 database block들은 skip 한다.
  • 운영중 백업 시 begin backup 구문을 사용 할 필요가 없다.
  • OS의 open file limit을 피하기 위해 open file limit을 지정할 수 있으며, backup의 사이즈의 limit을 줄 수 있다.
  • file당, second 당 reads를 지정해서 부하를 조정할 수 있다.
  • VALIDATE 명령을 통해 Corrupted block을 확인 할 수 있다.

 

백업 방식

1. IMAGE COPY 방식 : 현재파일을 그대로 1:1 백업하는 방식
    사용방법 : backup as copy database;

2. BACKUP SET 방식 : 빈블록을 빼고 모아서 저장하는 방식
    사용방법 : backup as backupset database; 또는 backup database;

backup files의 이미지화

 

백업 방법

백업 전 환경설정

 

$ RMAN target "' / as sysbackup '"

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
 
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/app/oracle/rman/db_ctl_%F';
 
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/app/oracle/rman/db_ctl_%F';
new RMAN configuration parameters are successfully stored
 
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/app/oracle/rman/%d_%U_%T.bk'; 
 
new RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/app/oracle/rman/%d_%U_%T.bk';
new RMAN configuration parameters are successfully stored
released channel: ORA_DISK_1

 

설정된 내용 확인

RMAN> show all;
 
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/app/oracle/rman/db_ctl_%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/app/oracle/rman/%d_%U_%T.bk';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/app/oracle/product/19c/dbs/snapcf_orcl.f'; # default

 

RMAN 백업 (BACKUP SET 방식)

RMAN> backup database;
 
Starting backup at 15-JAN-22
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=71 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=/app/oracle/oradata/ORCL/system01.dbf
input datafile file number=00003 name=/app/oracle/oradata/ORCL/undotbs01.dbf
input datafile file number=00002 name=/app/oracle/oradata/ORCL/sysaux01.dbf
input datafile file number=00004 name=/app/oracle/oradata/ORCL/users01.dbf
channel ORA_DISK_1: starting piece 1 at 15-JAN-22
channel ORA_DISK_1: finished piece 1 at 15-JAN-22
piece handle=/app/oracle/rman/ORCL_08v4vfou_1_1_20200710.bk tag=TAG20200710T164102 comment=NONE  
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
Finished backup at 15-JAN-22
 
Starting Control File and SPFILE Autobackup at 15-JAN-22
piece handle=/app/oracle/rman/db_ctl_c-1572570942-20220115-02 comment=NONE
Finished Control File and SPFILE Autobackup at 15-JAN-22

 

백업 확인 (BACKUP SET 방식)

RMAN> list backup;
 
 
List of Backup Sets
===================
 
 
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
4       Full    1.62G      DISK        00:00:05     15-JAN-22      
        BP Key: 4   Status: AVAILABLE  Compressed: NO  Tag: TAG20220115T164102
        Piece Name: /app/oracle/rman/ORCL_08v4vfou_1_1_20220115.bk
  List of Datafiles in backup set 4
  File LV Type Ckp SCN    Ckp Time  Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- --------- ----------- ------ ----
  1       Full 2505458    15-JAN-22              NO    /app/oracle/oradata/ORCL/system01.dbf
  2       Full 2505458    15-JAN-22              NO    /app/oracle/oradata/ORCL/sysaux01.dbf
  3       Full 2505458    15-JAN-22              NO    /app/oracle/oradata/ORCL/undotbs01.dbf
  4       Full 2505458    15-JAN-22              NO    /app/oracle/oradata/ORCL/users01.dbf
 
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
5       Full    10.20M     DISK        00:00:00     15-JAN-22      
        BP Key: 5   Status: AVAILABLE  Compressed: NO  Tag: TAG20220115T164109
        Piece Name: /app/oracle/rman/db_ctl_c-1572570942-20220115-02
  SPFILE Included: Modification time: 15-JAN-22
  SPFILE db_unique_name: ORCL
  Control File Included: Ckp SCN: 2505469      Ckp time: 15-JAN-22

 

RMAN 백업 (COPY 방식)

RMAN> backup as copy database;
 
Starting backup at 15-JAN-22
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/app/oracle/oradata/ORCL/system01.dbf
output file name=/app/oracle/rman/ORCL_data_D-ORCL_I-1572570942_TS-SYSTEM_FNO-1_0iv4vg5m_20220115.bk tag=TAG20200710T164750 RECID=12 STAMP=1045414074
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=/app/oracle/oradata/ORCL/undotbs01.dbf
output file name=/app/oracle/rman/ORCL_data_D-ORCL_I-1572570942_TS-UNDOTBS1_FNO-3_0jv4vg5t_20220115.bk tag=TAG20200710T164750 RECID=13 STAMP=1045414081
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=/app/oracle/oradata/ORCL/sysaux01.dbf
output file name=/app/oracle/rman/ORCL_data_D-ORCL_I-1572570942_TS-SYSAUX_FNO-2_0kv4vg64_20220115.bk tag=TAG20200710T164750 RECID=14 STAMP=1045414086
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/app/oracle/oradata/ORCL/users01.dbf
output file name=/app/oracle/rman/ORCL_data_D-ORCL_I-1572570942_TS-USERS_FNO-4_0lv4vg67_20220115.bk tag=TAG20200710T164750 RECID=15 STAMP=1045414087
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 15-JAN-22
 
Starting Control File and SPFILE Autobackup at 15-JAN-22
piece handle=/app/oracle/rman/db_ctl_c-1572570942-20220115-04 comment=NONE
Finished Control File and SPFILE Autobackup at 15-JAN-22

 

백업 확인 (COPY 방식)

RMAN> list copy;
 
specification does not match any control file copy in the repository
specification does not match any archived log in the repository
List of Datafile Copies
=======================
 
Key     File S Completion Time Ckp SCN    Ckp Time        Sparse
------- ---- - --------------- ---------- --------------- ------
12      1    A 15-JAN-22       2511796    15-JAN-22       NO    
        Name: /app/oracle/rman/ORCL_data_D-ORCL_I-1572570942_TS-SYSTEM_FNO-1_0iv4vg5m_20220115.bk
        Tag: TAG20220115T164750
 
14      2    A 15-JAN-22       2511802    15-JAN-22       NO    
        Name: /app/oracle/rman/ORCL_data_D-ORCL_I-1572570942_TS-SYSAUX_FNO-2_0kv4vg64_20220115.bk
        Tag: TAG20220115T164750
 
13      3    A 15-JAN-22       2511799    15-JAN-22       NO    
        Name: /app/oracle/rman/ORCL_data_D-ORCL_I-1572570942_TS-UNDOTBS1_FNO-3_0jv4vg5t_20220115.bk
        Tag: TAG20220115T164750
 
15      4    A 15-JAN-22       2511814    15-JAN-22       NO    
        Name: /app/oracle/rman/ORCL_data_D-ORCL_I-1572570942_TS-USERS_FNO-4_0lv4vg67_20220115.bk
        Tag: TAG20220115T164750