대상
가능 대상
- database (all data file + 현재 control file)
- datafile (current / image copy)
- control file (current / image copy)
- tablespace
- archive redo log
백업되지 않는 대상
- online redo log file
- init.ora
- password file
- listener.ora
- tnsnames.ora
종류
1) backup set으로 백업 수행 (default)
- RMAN이 백업 파일을 만들 때 RMAN 만이 알 수 있는 형태로 백업 파일을 생성
- backup set 크기가 너무 클 경우 분할해서 여러개의 파일로 나눠서 백업 받을 시,
분할 되는 하나의 백업 파일을 backup piece라고 함
2) Image copy 로 백업 수행
- OS 명령어로 begin backup 하는 것과 가장 유사항 방법
- RMAN 백업 장점인 사용중인 블록만 백업 받거나, 증분 백업 받는 기능 등을 사용할 수 없음
eg)
RMAN> copy
2> datafile '/data2/vol1/users01.dbf'
3> to '/data2/backup/rman/users01.dbf' ;
제한 사항
- open 상태에서 백업 수행 시, 데이터 베이스는 archive log mode로 운영되어야 함
- 데이터 베이스가 마운트 또는 오픈 되어있어야 함
- online redo log는 백업 불가능
명령어
1) 독립형 명령 - stand alone
RMAN> prompt에 1개의 명령어만 들어가는 방식, 한 줄이 아니라 ; <- 세미콜론이 한개 이면 한개의 명령어
eg)
RMAN> backup tablespace example ;
얘랑
RMAN>backup
2> tablespace
3> example ;
얘랑 둘 다 독립형 명령어!
2) 작업형 명령
여러개의 명령어를 한꺼번에 사용 할 수 있음
run { 수행할 명령들 ; } 의 형식으로 구성됨
eg)
RMAN> run {
2> allocate channel c1 type disk maxpiecesize 10M ;
3> allocate channel c2 type disk maxpiecesize 50M ;
4> backup
5> tablespace users channel c1
6> format '/data2/backup/rman/%U_%T'
7> tablespace example channel c2
8> format '/data2/backup/rman/%U_%T' ;
9> }
증분 백업 (Incremental backup)
이전에 백업 받았던 백업 파일과 비교해 변경된 부분만 골라서 백업을 수행
Enterprise Edition에서만 지원 됨
1) 차등 증분 백업
백업 받을 때 설정했던 숫자가 자기보다 작거나 같으면 그 시점부터 지금까지의 모든 데이터를 백업
쓰는 법
backup incremental level n
n에는 0~5 까지의 값이 들어갈 수 있다.
eg)
2) 누적 증분 백업
무조건 작은 숫자가 나온 시점부터 지금까지의 모든 데이터를 백업
쓰는 법
backup incremental level n cummulative
n에는 0~5 까지의 값이 들어갈 수 있다.
eg)
목요일 백업 전에 장애가 발생했다고 가정하면,
일요일 전체 백업 받은 파일 복원 + 수요일 백업 파일만 복구 하면 전체 데이터를 다 복구 할 수 있음
압축하면서 백업 수행
backup as compressed backupset
백업을 하는 동시에 압축 시작
시간이 오래 걸리지는 않는다. 하는거 안하는거 시간차이 별로 없어
eg)
RMAN> backup as compressed backupset database
2> format '/data2/backup/rman/%U_%T' ;
archive redo log file 도 한꺼번에 압축해서 백업 가능
eg)
RMAN> backup as compressed backupset archivelog all
2> format '/data2/backup/rman/%U_%T' ;
MultiSection Backup (11g New Feature)
한개의 파일이 아주 크면 channel 별로 분할해서 백업 받을 수 없음
이 문제를 해결하기 위해 나온 기능
하나의 큰 파일을 여러개의 프로세스가 동시에 백업받는 기능, 병렬 백업이랑은 다르다.
하지만 backup piece로 받는게 더 효율적...
eg)
RMAN> backup as compressed backupset
2> section size 100m
3> format '/data/backup/rman/%U_%T'
4> datafile 1 ;
RMAN 작업 진행 사항 확인 방법
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
'오라클 백업/복구' 카테고리의 다른 글
RMAN - 복구 (불완전 복구) (0) | 2013.02.19 |
---|---|
RMAN - 복구 (완전 복구) (0) | 2013.02.19 |
RMAN - Recovery Catalog와 Channel (0) | 2013.02.18 |
Flashback 3 - Database Level (0) | 2013.02.17 |
Flashback 2 - Table Level (0) | 2013.02.14 |