본문 바로가기
oracle/[Recovery] RMAN & Flashback

[Recovery Manager] RMAN - 백업

by #moonyz 2014. 11. 13.

[RMAN 백업종류]

1. backupset으로 백업수행 (default)

RMAN이 백업파일을 만들때 RMAN만 알수있는 형태로 백업파일을 생성하는 것 (기본값)

backup piece : backupset의 크기가 너무 클경우 분할하여 여러개의 파일로 백업받을수 있는데 분할되는 하나의 백업파일

backupset으로 백업을 수행하면 RMAN 백업의 장점을 모두 사용 가능


2. image copy로 백업수행

OS명령어로 Begin backup하는것과 가장 유사한 방법

RMAN 백업의 좋은 장점을 사용할수 없음 (사용중인 블록만 백업 받는 기능, 증분백업 받는 기능 등)





[RMAN 백업시 주의사항]

- open 상태에서 백업을 받으려면 데이터베이스가 archive log mode로 운영되어야 함

- 데이터베이스가 mount 또는 open 되어 있어야함

- 운영중인 online redo log file은 백업이 불가능

- no archive log mode에서는 clean backup만 사용가능

- clean backup이란 오프라인 테이블 스페이스나 읽기전용 테이블스페이스 백업을 의미함

- 백업모드인 테이블스페이스는 RMAN 백업 불가

- RMAN으로 백업을 수행하는 것은 Begin backup시 조건과 동일해야함




[RMAN 명령어 종류]

1. 독립형 명령어 : RMAN> 프롬프트에 1개의 명령어만 들어가는 방식 



2. 작업형 명령어 : 마치 프로그램의 스크립트처럼 여러개의 명령어를 한꺼번에 사용하는 방식




[증분백업(Incremental backup)]

- 증분백업 : 이전에 백업 받았던 백업파일과 비교하여 변경된 부분만 골라서 백업을 수행

- 작업형 명령에서만 사용가능

- 차등 증분 백업 / 누적 증분 백업

- Enterprise Edition에서만 지원

- 10g버번부터 Block change tracking 기능지원 -> 더빠른 incremental backup 지원됨


1. 차등 증분 백업

- 백업 받을때 설정했던 Level 숫자가 같거나 작은 레벨 시점부터 지금까지의 데이터를 모두 백업

- incremental level n 옵션 추가




2. 누적 증분 백업

- 백업받을때 설정했던 Level 숫자가 작은 레벨 시점부터 지금까지의 데이터를 모두 백업

- incremental level n cumulative 옵션 추가




3. Block change tracking 기능 활성화 후 증분 백업 수행

- block change tracking 기능이란 데이터 블록들의 변경된 블록만 추적하는 기능

- 블록들의 변경사항은 특정파일에 저장되어 관리 -> 바이너리 파일

- 이 기능은 oracle 10g Enterprise Edition 부터 지원

- 이 기능을 사용할 경우 변경을 유발한 서버 프로세스들이 이 파일에 변경된 블록 명단을 적어야 하는데

- 대량의 데이터에 변경이 생길 경우 변경된 블록 명단을 기록하는 부분에서 병목현상이 발생할수 있음

- 기본값 : 사용안함





[압축하면서 백업 수행하기]

- 10g, 11g 공통

- RMAN에서 지원하는 기본 압축은 BZip2이고 ZLIB 옵션으로 선택가능

- BZip2 방법은 압축효율이 가장 좋지만 CPU부하가 많이 걸릴수 있고 속도가 느림

- 11g R1부터는 Zlib 압축이 추가

- Zlib 방법은 CPU부하가 적고 속도가 빠르지만 압축효율이 상대적으로 좋지않음

- Zlib을 사용하려면 11g버전부터 Advanced Compression Option이 설치되어야 함

- archive log file도 압축하여 백업가능






[MultiSection Backup]

- 11g 추가 기능

- 한개의 파일이 아주 클 경우 여러개의 프로세스가 동시에 다른 백업셋을 생성해서 백업을 받을수 있는 기능





[각종 백업 옵션들]

1. keep : backup수행시 backupset 보존기간 설정하기


SQL > backup as compressed backupset tablespace example  format '/data/backup/rman/%U_%T'

keep until time 'sysdate+90';




2. Not backed up : 백업안된 데이터파일만 백업하기


SQL > backup as compressed backupset tablespace database  format '/data/backup/rman/%U_%T'

not backed up;






[RMAN 백업 작업 진행사항 확인]

- RMAN작업을 하다가 얼마나 진행되었고 얼마나 남았는지 확인하고 싶을때




댓글