ORACLE/백업/복구

오라클10g RMAN백업

hidy23 2012. 9. 4. 09:35

오라클10g RMAN백업 기초Oracle / IT

2010/02/10 21:37

복사http://blog.naver.com/soonho85/130080279284

1. RMAN 이란?
- RMAN(Recovery Manager)는 오라클 DB에 대해 백업과 복구를 관리하는 유틸리티 프로그램입니다.

2. RMAN의 장점은?



- 그림에서 처럼 RMAN을 이용해서 통합 관리 할 수 있다.
- Incremental Backup을 지원한다. 매번 전체를 받을 필요없이 추가 변경된 부분만 백업 받으면 된다.
- 테이블스페이스를 백어보르도 변경하지 않고 백업이 가능하다.

이로인해 온라인 백업모드에서 불필요하게 생성되는 리두로그 정보가 없어지게 된다.
- 백업받는동안 데이터 블록의 충돌을 감지한다.
- I/O를 병렬화하여 처리할 수 있다.
- 모든백업과 복구작업에 대한 로깅이 자동화된다.
- 백업파일을 압축해서 저장한다.
- 백업과 리스토어 작업을 병렬로 수행함으로써 시간을 단축시킨다.
- 이기종간 시스템 간의 오라클 데이터파일 마이그레이션이 가능하다.
- 10G에서는 Flashback 기능과 함께 사용하면 매우 강력한 복구기능을 제공한다.
- 백업되지 않은 데이터 파일에 대한 복구가 가능하다.

3. RMAN의 구성요소
사실 RMAN Client 만 있으면 백업은 가능하다. 아래 표는 RMAN을 사용하는데 부가적인 요소들까지 설명한다.
하지만 데이터베이스를 여러대이고 통합적으로 관리하고 싶다면 카타로그 DB나 EM매니저 등을 사용하는 것이 좋다.


4. RMAN에서 지원하는 것들 (다른 백업모드와의 비교)


5. RMAN Repository
백업에 필요한 메타데이터들의 집합을 오라클에서는 RMAN Repository라고 한다.
Repository 정보들은 백업할 때 중요하게 사용되어지며 오라클은 Repository 정보들을 2가지 경로를 통해서 얻게 된다.

첫번째는, 백업대상 DB의 컨트롤파일에서 읽어들여 RMAN Repository 정보를 생성한다.
관리하는 DB대수가 얼마 안되서 통합적인 관리가 필요하지 않거나, 백업대상DB가 중요한 DB가 아닌경우 사용하는 것이 바람직하다.
컨트롤파일은 보통 따로 설정하지 않으면 7일분의 변경내역을 저장하고 있다.

한마디로 7일전에 데이터에 대해서는 RMAN으로 복구가 힘든 것이다.
물론 컨트롤파일을 엄청나게 크게 만들어서 장기간의 변경정보를 저장하면 문제는 해결되지만, 또다른 문제가 생기게 된다.
그많은 정보를 저장하고 관리하는 운영DB의 부담이 크다는 것이다.
어쨋든, RMAN에 컨트롤파일을 이용하려고 할때는 이보다 긴시간을 보관하는 것이 백업 및 복구에 유리하다.
따라서 init.ora파일에 CONTROL_FILE_RECORD_KEEP_TIME 값을 365로 설정하는 것이 좋다.

두번째는, 카다로그 DB에서 읽어들여 RMAN Repository 정보를 생성한다. (※ DB인스턴스를 추가 구성)
관리하는 DB의 인스턴스 개수가 많고 중요한 DB인 경우에는 가급적 카다로그 DB를 이용하여 RMAN을 구성하는 것이 바람직하다.
카다로그 DB는 백업대상 DB의 컨트롤파일에 있는 정보를 데이터베이스 테이블/뷰에 정보화하여 한번 더 저장하고
추가적으로 백업 및 복구에 필요한 스크립트들도 저장된다. (컨트롤파일정보+백업/복구스크립트)
카다로그 DB를 사용하면 다양한 장점들이 있는데, 가장 대표적인 것이 리포팅 기능이다.

그럼 여기서 컨트롤 파일에는 어떤 정보가 저장되어있어서 그렇게 중요한 것있지 컨트롤파일에 저장되는 정보들을 확인해보자.
- Database Name
- DB생성 Timestamp
- 데이터파일 및 리두로그에 대한 위치와 파일명
- Tablespace 정보
- 로그히스토리
- 라카이브로그 정도
- 백업셋과 백업피스 정보
- 백업대상 데이터파일과 리두로그 정보
- Current 리두로드의 정보
- 체크포인트 정보
(※Default는 7일 간의 변경내역을 보관한다.)

6. RMAN 구성단계
- 1단계 : Repository를 선택한다. (컨트롤파일 or 카다로그DB)
- 2단계 : 카다로그DB를 RMAN Repository로 사용할 경우 DB를 추가 구성한다.
- 3단계 : RMAN 연결 (백업대상DB 및 카다로그DB 연결)
- 4단계 : Configure 명령으로 RMAN 기본설정

7. RMAN 카다로그DB 생성방법
- 카다로그DB를 생성할 때는 아래조건에 맞추어 생성한다. (1년치 이력저장기준)



- DB 인스턴스 생성
- sqlplus / as sysdba
- SQL> create user rman identified by password
temporary tablespace temp
default tablespace catalog_tb
- SQL> grant unlimited on catalog_tb to rman;

8. RMAN 백업 사용하기
- RMAN 백업을 카다로그를 사용하지 않고 하는 것을 먼저 해본다.