RMAN이란?
복구 관리자 (recovery manager:rman)는 데이터베이스의 백업과 복구에 관련된 정보를 저장하고 필요한 경우 백업과 복구 절차를 수행해 주는 유틸리티입니다.
데이터베이스, 테이블스페이스, 데이터파일, 컨트롤 파일, 아카이브 파일별로 백업할 수 있으며, 백업 시 사용되지 않는 블록을 제외하고 백업할 수 있습니다.
또한 백업 시 손상된 블록의 사용 가능 여부를 확인해 주기도 합니다.
rman 툴은 자체적인 스크립트 해석 기능이 있는 명령 언어 인터프리터(command language interpreter)이므로 입력된 명령을 해석하여 실행합니다.
예를 들어, backup, restore, copy, recover와 같은 간단한 명령을 rman 툴에서 실행할 수 있습니다.
동작원리
RMAN은 대상 DB의 SID를 체크한 후 SYS 사용자로 접속하여 서버 프로세스에게 백업을 수행시킵니다. 대상 DB에 접속하기 위해 channel server process를 생성합니다.
Channel server process의 기본값은 1이고, Server Process의 작업 공간으로 PGA를 사용합니다. 만약, PGA가 부족할 경우 SGA(Large Pool, Shared Pool)을 사용합니다.
환경변수 기본 값 확인
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ORCL19C are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
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 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 '/u01/app/oracle/product/19.3.0/db_1/dbs/snapcf_orcl19c.f'; # default
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
이 파라미터는 복구에 사용될 백업 파일의 보존기간을 설정하는 것으로 1 DAYS로 지정을 하면
1일치만 복구하기 위해 보존한다는 의미입니다.
1일이 지난 백업 파일을 삭제 하기 위해서는 DELETE OBSOLETE 명령어를 사용하면 됩니다.
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
new RMAN configuration parameters are successfully storedCONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/19.3.0/db_1/dbs/snapcf_orcl19c.f'; # default
CONFIGURE CONTROLFILE AUTO BACKUP ON;
백업 시 CONTROL FILE을 자동으로 백업할지를 선택할 수 있는 기능입니다. 이 설정을 자동으로 하게 되면 기본 Channel에 백업이 수행됩니다. 이는 선택 사항으로써, 수동방식으로 할 것인가 / 자동으로 할 것인가는 관리자의 선택에 있습니다.
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 '/home/oracle/rman/cf_%F';
using target database control file instead of recovery catalog
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/home/oracle/rman/cf_%F';
new RMAN configuration parameters are successfully stored
RMAN> backup tablespace users;
Starting backup at 19/12/05
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 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=00007 name=/oradata/ORCL19C/users01.dbf
channel ORA_DISK_1: starting piece 1 at 19/12/05
channel ORA_DISK_1: finished piece 1 at 19/12/05
piece handle=/u01/app/oracle/product/19.3.0/db_1/dbs/07uild4k_1_1 tag=TAG20191205T100156 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 19/12/05
Starting Control File and SPFILE Autobackup at 19/12/05
piece handle=/home/oracle/rman/cf_c-1490444115-20191205-00 comment=NONE
Finished Control File and SPFILE Autobackup at 19/12/05
RMAN> exit
$ls -al |grep cf*
-rw-r-----. 1 oracle oinstall 10715136 12월 5 10:02 cf_c-1490444115-20191205-00
CONFIGURE SNAPSHOT CONTROLFILE NAME TO ~
백업 도중에 데이터베이스에 변경 사항이 있으면, 백업 전/후의 CONTROL FILE의 내용이 달라집니다. 이를 방지하기 위해 백업 전 CONTROLFILE의 SNAPSHOT을 해당 경로에 저장하고, 백업이 완료된 후 동기화하는 RMAN 환경 변수 입니다.
RMAN> configure snapshot controlfile name to '/home/oracle/rman/ctrl_snap';
using target database control file instead of recovery catalog
new RMAN configuration parameters:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/home/oracle/rman/ctrl_snap';
new RMA configuration parameters are successfully stored
환경 설정 초기화 명령어
CONFIGURE RETENTION POLICY CLEAR;
CONFIGURE BACKUP OPTIMIZATION CLEAR;
CONFIGURE DEFAULT DEVICE TYPE CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;
CONFIGURE DEVICE TYPE DISK CLEAR;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK CLEAR;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK CLEAR;
CONFIGURE MAXSETSIZE CLEAR;
CONFIGURE ENCRYPTION FOR DATABASE CLEAR;
CONFIGURE ENCRYPTION ALGORITHM CLEAR;
CONFIGURE COMPRESSION ALGORITHM CLEAR;
CONFIGURE ARCHIVELOG DELETION POLICY CLEAR;
CONFIGURE SNAPSHOT CONTROLFILE NAME CLEAR;
'Oracle > RMAN' 카테고리의 다른 글
[RMAN] 증분 백업을 사용한 Drop Table 복구 (0) | 2019.12.18 |
---|---|
[RMAN] Datafile 삭제 후 Mount 상태에서복구(offline 안되는 Tablespace) (0) | 2019.12.17 |
[RMAN]Datafile 삭제 후 복구(offline되는 Tablespace) (0) | 2019.12.12 |
[RMAN] 증분백업(Incremental backup) (0) | 2019.12.11 |
[RMAN]백업수행 명령어_독립형,작업형 명령어사용 (0) | 2019.12.10 |
댓글