RMAN 백업은 begin bakcup와 같이 DB를 켜놓고 하는 작업이기떄문에,
Archivelog모드이여야 합니다.
RMAN 현재 환경설정 값보기
show all;
백업 시 어느 경로에 파일을 저장할 지, 어떤 형식으로 저장할 지 지정하기
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/app/rman/%U_%T.rman';
(%U : unique한 번호생성, %T : 파일번호)
백업 시 여러개의 채널을 생성해서 병렬적으로 백업할지 지정
( 출저 : http://dinggur.tistory.com/183 )
시나리오
월요일은 DB full backup
화요일은 users tablespace의 월요일 ~ 화요일까지의 변경된 내용만 백업
수요일은 example tablespace의 월요일 ~ 수요일까지의 변경된 내용만 백업
목요일은 full backup인데 최근의 백업으로부터 현재까지 변경된 내용만 백업
금요일은 test tablespace 월요일 ~ 금요일까지의 변경된 내용만 백업
토요일은 DB full backup인데 월요일 ~ 토요일까지 변경된 내용만 백업
차등증분백업 (incremental level x 옵션)
월 backup incremental level 0 database;
화 backup incremental level 3 tablespace users;
수 backup incremental level 3 tablespace example;
목 backup incremental level 3 database;
금 backup incremental level 2 tablespace test; (level 3이면 목요일로부터의 변경사항만 백업)
토 backup incremental level 1 database; (level 0 해도 똑같음)
누적증분백업 (incremental level x cumulative 옵션)
월 backup incremental level 0 cumulative database;
화 backup incremental level 3 cumulative tablespace users;
수 backup incremental level 3 cumulative tablespace example;
목 backup incremental level 4 cumulative database; (level 3이면 월요일로부터 현재까지 변경된 내용을 백업)
금 backup incremental level 2 cumulative tablespace test; (level 3, 4모두 동일)
토 backup incremental level 1 cumulative database; (level 2해도 동일, 금요일에 level에 따라 3,4도 동일할 수 있음)
Multisection Backup(11g)
; 채널을 여러개 할당해서 병렬적으로 작업한다고 해도, 각각 채널이 tablespace별로 분할받기 떄문에
한 tablespace가 엄청나게 커버리면 병렬로 작업한다고 해도 시간단축의 의미가 별로 없습니다.
그래서 한 tablespace를 여러채널이 붙어서 작업하는 기능입니다.
옵션 : section size 300M <--- 300M가 넘는 tablespace는 여러개의 채널이 분할백업받는다는 의미입니다.
RMAN > backup as compressed backupset
section size 300M
database; (tablespace, datafile 가능, oracle이 쭉 백업하다가 300M가 넘는 파일을 발견하면 바로 채널을 생성해서 달라붙습니다.)
백업 중 작업진행사항 확인하는 쿼리
Archivelog모드이여야 합니다.
RMAN 현재 환경설정 값보기
show all;
RMAN> show all; RMAN configuration parameters for database with db_unique_name TESTDB are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP OFF; # 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 CHANNEL DEVICE TYPE DISK FORMAT '/app/rman/%U_%T.rman'; 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 ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/app/oracle/product/11g/dbs/snapcf_testdb.f'; # default
백업 시 어느 경로에 파일을 저장할 지, 어떤 형식으로 저장할 지 지정하기
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/app/rman/%U_%T.rman';
(%U : unique한 번호생성, %T : 파일번호)
백업 시 여러개의 채널을 생성해서 병렬적으로 백업할지 지정
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 숫자 BACKUP TYPE TO BACKUPSET;
증분백업(Incremental Backup)
; 이전에 백업받은 파일을 참조해서 변경된 부분만 골라서 백업받는 기능입니다.
두가지 증분백업
1. 차등증분백업
; 백업받을때 설정했던 숫자가 자기보다 작거나 같으면, 작거나 같은 그 시점부터 현재까지 모든 변경된 데이터를 백업받는 것
2. 누적증분백업
; 백업받을때 설정했던 숫자가 자기보다 작으면, 숫자가 작은 그 시점부터 현재까지 모든 변경된 데이터를 백업받는 것
; 이전에 백업받은 파일을 참조해서 변경된 부분만 골라서 백업받는 기능입니다.
두가지 증분백업
1. 차등증분백업
; 백업받을때 설정했던 숫자가 자기보다 작거나 같으면, 작거나 같은 그 시점부터 현재까지 모든 변경된 데이터를 백업받는 것
2. 누적증분백업
; 백업받을때 설정했던 숫자가 자기보다 작으면, 숫자가 작은 그 시점부터 현재까지 모든 변경된 데이터를 백업받는 것
( 출저 : http://dinggur.tistory.com/183 )
시나리오
월요일은 DB full backup
화요일은 users tablespace의 월요일 ~ 화요일까지의 변경된 내용만 백업
수요일은 example tablespace의 월요일 ~ 수요일까지의 변경된 내용만 백업
목요일은 full backup인데 최근의 백업으로부터 현재까지 변경된 내용만 백업
금요일은 test tablespace 월요일 ~ 금요일까지의 변경된 내용만 백업
토요일은 DB full backup인데 월요일 ~ 토요일까지 변경된 내용만 백업
차등증분백업 (incremental level x 옵션)
월 backup incremental level 0 database;
화 backup incremental level 3 tablespace users;
수 backup incremental level 3 tablespace example;
목 backup incremental level 3 database;
금 backup incremental level 2 tablespace test; (level 3이면 목요일로부터의 변경사항만 백업)
토 backup incremental level 1 database; (level 0 해도 똑같음)
누적증분백업 (incremental level x cumulative 옵션)
월 backup incremental level 0 cumulative database;
화 backup incremental level 3 cumulative tablespace users;
수 backup incremental level 3 cumulative tablespace example;
목 backup incremental level 4 cumulative database; (level 3이면 월요일로부터 현재까지 변경된 내용을 백업)
금 backup incremental level 2 cumulative tablespace test; (level 3, 4모두 동일)
토 backup incremental level 1 cumulative database; (level 2해도 동일, 금요일에 level에 따라 3,4도 동일할 수 있음)
* 위와 같이 원하는 자료만 골라서 매일 매일 다르게 백업을 받을 수 있습니다.
시나리오를 잘 짜서 수행하시면 됩니다.
Multisection Backup(11g)
; 채널을 여러개 할당해서 병렬적으로 작업한다고 해도, 각각 채널이 tablespace별로 분할받기 떄문에
한 tablespace가 엄청나게 커버리면 병렬로 작업한다고 해도 시간단축의 의미가 별로 없습니다.
그래서 한 tablespace를 여러채널이 붙어서 작업하는 기능입니다.
옵션 : section size 300M <--- 300M가 넘는 tablespace는 여러개의 채널이 분할백업받는다는 의미입니다.
RMAN > backup as compressed backupset
section size 300M
database; (tablespace, datafile 가능, oracle이 쭉 백업하다가 300M가 넘는 파일을 발견하면 바로 채널을 생성해서 달라붙습니다.)
백업 중 작업진행사항 확인하는 쿼리
select sid, serial#, context, sofar, totalwork, round(sofar/totalwork*100,2) "%_complete" from v$session_longops where opname like 'RMAN%' and opname not like '%aggregate%' and totalwork <> 0 and sofar <> totalwork;
'Oracle > RMAN' 카테고리의 다른 글
RMAN으로 drop tablespace복구하기 ; 과거의 controlfile을 가져와서 복구해야하는 경우 (0) | 2012.02.26 |
---|---|
백업&복구 18번째 RMAN ; sql문 실행, 데이터파일들의 경로변경하기, Recover(물리적, 논리적복구 예시들) (0) | 2012.02.26 |
백업&복구 16번째(RMAN) ; RMAN설명, RMAN으로 백업하기, 백업된 set 관리하기 (0) | 2012.02.25 |
rman 명령어 (0) | 2012.02.23 |
RMAN 복구 중 RMAN-20005: target database name is ambiguous 에러해결 (2) | 2012.02.21 |