본문 바로가기

oracle10R2

Rman에 대한 기본 지식

RMAN 정리

[ RMAN 환경 정보 검색]
RMAN> SHOW ALL;

RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default ...

[ 디스크 백업 설정 ]

RMAN>CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/tmp/ora_df%t_s%s_s%p';

[ 테이프 백업 설정 ]

RMAN>CONFIGURE DEFAULT DEVICE TYPE TO sbt;

[ 백업 유지 정책 설정 - 30일간의 백업만 유지 ]

RMAN>CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;

[ Controlfile의 자동 백업 ]

RMAN>CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '?/tmp/cf%F';

[ 환경 설정 초기화 ]

RMAN>CONFIGURE CHANNEL DEVICE TYPE sbt CLEAR;
RMAN>CONFIGURE RETENTION POLICY CLEAR;
RMAN>CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;

[ 데이타베이스와 모든 아카이브파일 백업 ]

RMAN>BACKUP DATABASE PLUS ARCHIVELOG;

[ 다양한 파일 백업 예제 ]

RMAN>BACKUP ARCHIVELOG TIME BETWEEN 'SYSDATE-31' AND 'SYSDATE-7';
RMAN>BACKUP TABLESPACE system, users, tools, undotbs;
RMAN>BACKUP DATAFILE '?/oradata/trgt/users01.dbf', '?/oradata/trgt/tools01.dbf';
RMAN>BACKUP CURRENT CONTROLFILE TO '/backup/curr_cf.copy';
RMAN>BACKUP SPFILE;

[ RMAN 백업 옵션 ]

1. FORMAT --- FORMAT '/tmp/%U'

Specifies a nondefault location and name for backup pieces.

2. FILESPERSET --- FILESPERSET 20

Limits the number of database files or archived logs placed in a backup set.

3. MAXSETSIZE --- MAXSETSIZE 5G

Specifies the maximum byte size of the backup set.

4. COPIES --- COPIES 2

Specifies the number of identical copies of each backup piece.

5. TAG --- TAG 'monday_bak'

Specifies a user-defined string as a label for the backup.

RMAN>BACKUP TABLESPACE tools, indx, undotbs FORMAT '?/oradata/%U';
RMAN>BACKUP FILESPERSET 20 FORMAT='AL_%d/%t/%s/%p' ARCHIVELOG LIKE '%arc_dest%';
RMAN>BACKUP TAG 'weekly_full_db_bkup' DATABASE MAXSETSIZE 10M;
RMAN>BACKUP COPIES 2 DEVICE TYPE sbt BACKUPSET ALL;

[ Incremental 백업 - LEVEL 0 (데이타베이스 전체 백업) ]

RMAN>BACKUP INCREMENTAL LEVEL 0 DATABASE;

[ 가장 최근의 Incremental 백업 이후의 변경된 블럭 정보 백업 ]

RMAN>BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;

[ RMAN 백업 테스트 ]

실 백업에 앞서 데이타파일의 존재 유무,물리적,논리적 Corruption 상태를 체크

RMAN>BACKUP VALIDATE DATABASE ARCHIVELOG ALL;

[ RMAN의 Format이 아닌 Image Copy 방법 ]

RMAN>COPY DATAFILE 1 TO '/tmp/df1.cpy', CURRENT CONTROLFILE TO '/tmp/cf.cpy';

[ 전체 데이타베이스 복구 ]

RMAN>STARTUP FORCE MOUNT;
RMAN>RESTORE DATABASE;
RMAN>RECOVER DATABASE;
RMAN>ALTER DATABASE OPEN;

[ 개별 테이블스페이스 복구 ]

RMAN>RUN
{
SQL 'ALTER TABLESPACE users OFFLINE';
#To restore to a different location, uncomment the following commands.
# SET NEWNAME FOR DATAFILE 8 TO '/newdir/new_filename_for_8.f';
RESTORE TABLESPACE users;
# If you restored to different locations, uncomment the following line.
# SWITCH DATAFILE ALL;
RECOVER TABLESPACE users;
SQL 'ALTER TABLESPACE users ONLINE';
}

[ 개별 데이타파일 복구 ]

RMAN>RUN
{
SQL 'ALTER DATABASE DATAFILE 7 OFFLINE';
# To restore to a different location, uncomment the following command.
# SET NEWNAME FOR DATAFILE 7 TO '/newdir/new_filename.f';
RESTORE DATAFILE 7;
# If you restored to different locations, uncomment the following line.
# SWITCH DATAFILE ALL;
RECOVER DATAFILE 7;
SQL 'ALTER DATABASE DATAFILE 7 ONLINE';
}

[ 손상된 데이타 블럭의 복구 ]

1. Alert.log / Trace Files / SQL Qeury 로 나타난 손상된 블럭의 복구 방법

RMAN>BLOCKRECOVER DATAFILE 7 BLOCK 233, 235 DATAFILE 4 BLOCK 101;

2. RMAN을 사용하여 백업하는 동안에 발견된 손상된 블럭정보는 다음의 뷰에 쌓이게 된다.
이 뷰를 이용한 복구 방법 ( V$BACKUP_CORRUPTION 와 V$COPY_CORRUPTION)

RMAN>BLOCKRECOVER CORRUPTION LIST;

[ RMAN 백업 정보 검색 ]

RMAN>SHOW ALL;
RMAN>LIST BACKUP OF DATABASE;
RMAN>LIST COPY OF DATAFILE 1, 2, 3;
RMAN>LIST BACKUP OF ARCHIVELOG FROM SEQUENCE 1437;
RMAN>LIST CONTROLFILECOPY "/tmp/cf.cpy";
RMAN>LIST BACKUPSET 193, 207, 242;