1. BACKUP 명령 옵션
- 물리적 블록 손상을 검사한다.
- 논리적 손상 및 물리적 손상을 스캔 한다.
- 중지 전에 허용된 손상 감지 수에 대한 임계값을 설정한다.
- 백업 작업을 수행하기 전에 대상 입력 파일을 검증한다.
- 백업 셋을 이중화한다.
- 기존 백업 셋 또는 Image Copy를 겹쳐 사용한다.
- 저장 장치와 디스크의 데이터 파일 간 데이터 전송에 대한 제어를 Media management층에 전달한다.
- 백업 파일을 암호화(encryption)한다. (10g 10.2c R2 부터 가능)
2. 아카이브된 리두 로그 백업
- 온라인 리두 로그 파일 스위치는 자동으로 발생한다.
- 아카이브된 로그 failover가 수행된다.
- 백업할 아카이브된 리두 로그의 범위를 지정할 수 있다.
- 아카이브된 리두 로그 파일의 백업 셋은 다른 유형의 파일을 포함할 수 없다.
( 데이터파일, 컨트롤파일, 아카이브 리두 로그 파일을 백업 했을때 데이터파일과 컨트롤파일은 같은 백업 셋에 들어갈 수 있지만 아카이브 리두 로그 파일은 별도의 백업 셋에 저장되어야 한다. )
예)
RMAN> BACKUP
2> FORMAT '/disk1/backup/ar_%t_%s_%p'
3> ARCHIVELOG FROM SEQUENCE=234
4> DELETE INPUT;
- 슬라이드에 표시된 예제는 Sequence Number가 234 이상인 아카이브된 리두 로그를 모두 백업 셋에 백업한다.
- 아카이브된 로그는 복사된 후 디스크에서 삭제되며 V$ARCHIVED_LOG뷰에도 삭제된 것으로 표시된다.
3. Whole 데이터베이스 백업
Whole : 전체라는 뜻
RMAN> BACKUP DATABASE PLUS ARCHIVELOG <- 데이터베이스와 아카이브 로그까지 같이 백업 받겠다는 명령 ( CONTROLFILE AUTOBACKUP ON 설정이 되어 있다면 SPFILE도 같이 백업을 받는다. )
- Whole 데이터베이스 백업은 모든 데이터 파일 및 콘트롤 파일의 복사본이다.
- 선택적으로 SPFILE 및 아카이브된 로그 파일을 포함시킬 수 있다.
- Recovery Manager를 사용하여 모든 데이터베이스 파일의 Image Copy를 만들려면 데이터베이스를 마운트( 컨트롤 파일이 열려있는 상태 )하고 RMAN을 시작한 다음 슬라이드에 표시된 BACKUP 명령을 입력하기만 하면된다.
- 이 작업은 다음 CONFIGURE 명령을 이미 실행한 경우에만 가능하다.
CONFIGURE DEFAUlT DEVICE TYPE TO disk;
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
- 다음 명령을 사용하여 데이터베이스의 모든 데이터 파일과 컨트롤 파일의 이전 Image Copy의 백업(백업 셋 또는 Image Copy)를 생성할 수도 있습니다.
(백업 파일을 백업하는것 )
RMAN> BACKUP COPY OF DATABASE;
4. RMAN백업 유형
- Full 백업은 사용된 모든 데이터 파일 블록을 포함한다.
- 레벨 0 Incremental 백업은 레벨 0으로 표시된 Full백업과 동일하다.
- Cumulative 레벨 1 Incremental 백업은 마지막 레벨 0 Incremental 백업 이후 수정한 블록만 포함한다.
- Differential 레벨 1 Incremental 백업은 마지막 incrementail 백업 이후 수정한 블록만 포함한다.
1) Incremental 백업
RMAN은 다음과 같이 다중 레벨 Incremental 백업을 생성할 수 있다.
- Differential : 레벨 1 또는 레벨 0에서 최근 Incremental 백업 이후에 변경된 모든 블럭을 백업하는 Incremental 백업의 기본 유형
- Cumulative : 레벨 0 에서 최근 백업 이후 변경된 모든 블럭을 백업한다.
예)
레벨 0에서 Incremental 백업을 수행하려면 다음 명령을 사용
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;
Differential incremental 백업을 수행하려면 다음 명령을 사용
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
Cumulative incremental 백업을 수행하려면 다음 명령을 사용
RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
2) Differential 백업과 Cumulative 백업 비교
- Differential 백업 : 마지막 Incremental 백업 이후 변경된 모든 블록을 백업
- Cumulative 백업 : 마지막 레벨 0 Incremental 백업 이후 변경된 모든 블록을 백업
※ 위의 그림에서 <- 은 Cumulative 백업, <- Differentail 백업
- 일요일 마다 레벨 0 Incremental 백업을 수행
- 일주일에 두번, 수요일과 금요일에 Cumulative 백업을 수행하여 데이터베이스 Recovery 시간을 줄인다.
- 그외의 요일에는 Differential 백업을 수행하여 백업 시간과 저장 영역 요구 사항을 줄인다.
3) Incremental 백업 및 Cumulative 백업 비교
- Differential 백업 : 빠르고 더 적은 수의 블록을 기록하여 보다 작은 백업 파일을 생성한다.
결과적으로 백업 프로세스는 빨라지지만 Recovery중에 RMAN이 각 Incremental 백업을 검색하여 적용해야 한다.
- Cumulative 백업 : 시간이 오래 걸리고 많은 블록을 작성하며 보다 큰 백업 파일을 생성한다.
Recovery시 적은 수의 백업이 적용되므로 Recovery 속도가 빠르다.
4) 블럭 변경 사항 추적
※ 블럭 변경 사항 추적(Block Change Tracking)을 활성화하면 백업 프로세스를 효율화할 수 있다.
- 변경 사항 추적 파일에서 변경된 블록 기록
- 활성화된 경우 RMAN에 의해 자동으로 사용됨
- 백업 중에 전체 데이터 파일을 스캔하지 않도록 Incremental 백업 최적화
5) 블럭 변경 사항 추적 활성화
SQL> ALTER DATABASE ENABLE
2> BLOCK CHANGE TRACKING
3> USING FILE '/mydir/rman_change_track.f'
4> REUSE;
6) Incremental 갱신 백업
Incrementally Updated Backup 기능을 사용하면 RMAN에서 Incremental 백업을 데이터 파일 Image Copy에 적용할 수 있다.
5. LIST 명령
- 백업 셋 및 데이터 파일의 복사본 나열
RMAN> LIST BACKUP OF DATABASE;
RMAN> LIST BACKUP OF DATABASE
2> "/db01/ORADATA/u03/users01.dbf";
- 지정된 테이블 스페이스에 대한 백업 셋 및 데이터 파일의 복사본 나열
RMAN> LIST COPY OF TABLESPACE "SYSTEM";
- 지정된 범위의 아카이브 로그를 포함하느 백업 셋 및 복사본 나열
RMAN> LIST COPY OF DATABASE ARCHIVELOG
2> FROM TIME='SYSDATE-7'
※ RMAN LIST 명령을 사용하여 responsitory에 기록된 백업 셋, proxy 복사본 및 Image Copy에 대한 정보를 표시한다.
이 명령을 사용하여 다음을 나열한다.
- RMAN repository에 AVAILAVLE 상태가 없는 백업 및 복사본
- 복원 작업에 사용할 수 있는 가용 백업 및 데이터 파일의 복사본
- 지정된 데이터 파일 리스트 또는 지정된 테이블스페이스의 백업을 포함하는 백업 셋 및 복사본
- 지정된 이름 또는 범위를 갖는 아카이브된 로그의 백업을 포함하는 백업 셋 및 복사본
- 태그, 완료시간, recovery 가능성 또는 장치로 제한된 백업 셋 및 복사본
- 지정된 데이터베이스 또는 respository에 알려진 모든 데이터베이스의 Incarmation
- Recovery Catalog의 내장 스크립트
6. REPORT 명령
1) 보고서 생성
repository에 대한 자세한 분석을 생성한다.
다음 경우에 보고서를 생성한다.
- 데이터베이스의 데이터 파일을 알고자 하는 경우
RMAN> REPORT SCHEMA;
- 백업이 필요한 파일을 알고자 하는 경우
RMAN> REPORT NEED BACKUP;
- 삭제할 수 있는 백업을 알고자 하는 경우
RMAN> REPORT OBSOLETE;
- recovery할 수 없는 파일을 알고자 하는 경우
RMAN> REPORT UNRECOVERABLE....;
2) REPORT NEED BACKUP 명령
- 백업이 필요한 모든 데이터 파알을 나열한다.
- 복원 중 가장 최근 백업을 사용한다고 가정한다.
- 다음 네가지 옵션을 제공한다.
* Incremental
Recovery 중에 복원해야 할 최대 Incremental 백업 수를 지정하는 정수
예) Recovery를 위해 세개 이상의 Incremental 백업이 필요한 파일을 보고하는 경우
RMAN> REPORT NEED BACKUP incremental 3 database;
* Days
파일의 마지막 Full 또는 Incremental 백업 이후의 최대 날짜 수를 지정하는 정수
예) 3일동안 백업되지 않은 시스템 파일을 보고하는 경우
* Redundancy
필요하다고 생각되는 최소 중복성 레벨을 주정하는 정수
예) 중복성 레벨을 2로 지정한 경우 두개 이상의 백업이 없으면 백업이 필요하다.
* Recovery Window
RMAN이 데이터베이스를 Recovery해야 하는 기간
- 옵션을 지정하지 않은 경우 현재 retention 정책 구성을 사용한다.
3) REPORT NEED BACKUP 예제
- Recovery를 위해 세개를 초과하는 Incremental 백업이 필요한 파일
RMAN> REPORT NEED BACKUP incremental 3;
- 3일 동안 백업되지 않은 파일
RMAN> REPORT NEED BACKUP days 3;
- 아직 두개 이상의 백업이 없을 경우 필요한 백업
RMAN> REPORT NEED BACKUP redundancy 2;
- 3일 전으로 Recovery하기 위해 필요한 백업
RMAN> REPORT NEED BACKUP
2> recovery window of 3 days;
4) REPORT OBSOLETE 및 DELETE OBSOLETE
- 현재 retention 정책 설정에 따라 불필요한 모든 recovery 파일 찾기
RMAN> REPORT OBSOLETE;
- 두 개 이하의 백업 복사본이 필요한 경우 불필요한 recovery 파일 나열
RMAN> REPORT OBSOLETE REDUNDANCY 2;
- 백업 셋 키가 4인 백업 셋 삭제
RMAN> DELETE BACKUPSET 4;
- recovery 파일에 백업이 두 개를 초과하므로 불필요한 것으로 간주되는 파일 삭제
RMAN> DELETE OBSOLETE REDUNDANCY 2;
7. EM을 사용하여 백업 관리
Database Home 페이지 > Maintenance > Manage Current Backups
※ Enterprise Manager에 제공된 백업 유지 관리 기능은 다음과 같다.
- RMAN repository에 기록된 백업(백업 셋 및 Image Copy) 리스트 보기
- repository 상호 확인:
* repository에 나열된 백업이 존재하고 이 백업에 액세스할 수 있는지 확인
* 상호 확인 작업 시 백업에 액세스할 수 없으면 만료된 것으로 표시
- RMAN repository에서 만료된 백업의 레코드 삭제
- repository 및 디스크에서 불필요한 백업 삭제
8. RMAN 동작 뷰
※ 다음 뷰를 사용하여 컨트롤 파일에 저장된 RMAN 정보를 얻을 수 있다.
- V$ARCHIVED_LOG는 어떤 아카이브가 데이터베이스에서 생성되고 백업되고 지워졌는지 보여준다.
- V$BACKUP_CORRUPTION은 백업 셋을 백업하는 중에 발견한 손상 블록을 보여준다.
- V$BACKUP_DATAFILE은 각 데이터 파일의 블록 수를 확인하여 동일한 크기의 백업 셋을 생성하는 데 유용하다.
또한 데이터 파일의 손상된 블록 수도 알 수 있다.
- V$BACKUP_DEVICE는 지원되는 백업 장치에 대한 정보를 표시한다.
특수 장치 유형 DISK는 항상 사용할 수 있기 때문에 이 뷰에 의해 반환되지 않는다.
- V$BACKUP_FILES는 모든 RMAN 백업(Image Copy 및 백업 셋 모두) 및 아카이브된 로그에 대한 정보를 표시한다.
이 뷰는 LIST BACKUP 및 LIST COPY RMAN 명령을 시뮬레이트한다.
- V$BACKUP_PIECE는 백업 셋에 생성된 백업 피스를 보여준다.
- V$BACKUP_REDOLOG는 백업 셋에 저장된 아카이브된 로그를 보여준다.
- V$BACKUP_SET은 생성된 백업 셋을 보여준다.
- V$BACKUP_SPFILE은 백업 셋의 서버 파라미터 파일에 대한 정보를 표시한다.
- V$COPY_CORRUPTION은 Image Copy 중에 발견한 손상 블록을 보여준다.
9. RMAN 백업 모니터
- SET COMMAND ID 명령을 사용하여 서버 세션과 채널을 상호 연관짓는다.
- V$PROCESS 및 V$SESSION을 query하여 어떤 세션이 어떤 RMAN 채널에 대응되는지 확인한다.
- V$SESSION_LONGOPS를 query하여 백업 및 복사본의 진행 상태를 모니터한다.
- 운영 체제 유틸리티를 사용하여 프로세스 또는 스레드를 모니터한다.