개발/데이터베이스
[Oracle] RMAN
미니시리
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;
백업 방법
백업 전 환경설정
$ 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