2014년 12월 22일

RMAN 을 이용한 오라클 백업

Recover Manager(이한 RMAN) 은 오라클 데이터베이스에 대한 백업과 복구를 위한 클라이언트 프로그램이다. RMAN 는 크게 백업, 복원 및 데이터베이스 파일들에 대한 복구를 단순화한다.

데이터베이스 FULL 백업

다음의 스크립트는 로컬에 설치된 데이터베이스에 접속하여 /BACKUP/DATA 위치에 FULL 백업을 수행한다.

"FullBackup.sh"

OUSER=oracle

TS=`date +"%m.%d-%H:%M"`

su - $OUSER << EOF
rman log=/BACKUP/log/rman_FULL_$TS.log <<EOF1
connect target /
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt obsolete;

run{
allocate channel t1 type DISK;
SET MAXCORRUPT FOR DATAFILE 3 to 3;
BACKUP format "/BACKUP/RMAN/FULL_%d_%U" INCREMENTAL LEVEL 0 DATABASE filesperset 4;
sql "alter database backup controlfile to ''/BACKUP/RMAN/controlfile_full_backup'' reuse";
sql "alter system archive log current";
backup format  "/BACKUP/RMAN/IRDS_%s.arc.rman"
archivelog all delete all input;
release channel t1;
}
EOF1

EOF


데이터베이스 아키이브 백업

다음의 스크립트는 로컬에 설치된 데이터베이스에 접속하여 /BACKUP/DATA 위치에 아카이브 백업을 수행한다.

"DailyBackup.sh"


OUSER=oracle

TS=`date +"%m.%d-%H:%M"`

su - $OUSER << EOF
rman log=/BACKUP/log/rman_INC_$TS.log <<EOF1
connect target /
crosscheck archivelog all;
delete noprompt expired archivelog all;

run{
allocate channel t1 type DISK;
SET MAXCORRUPT FOR DATAFILE 3 to 3;
BACKUP format "/BACKUP/RMAN/INC_%d_%U" INCREMENTAL LEVEL 1 DATABASE filesperset 4;
sql "alter database backup controlfile to ''/BACKUP/RMAN/controlfile_inc_backup'' reuse";
sql "alter system archive log current";
backup format  "/BACKUP/RMAN/DATABASE_%s.arc.rman"
archivelog all delete all input;
release channel t1;
}
EOF1
EOF



참고로 RMAN 은 catalog 을 이용하는 방법과 target database 의 controlfile 을 이용한 방법이 있으나 오라클에서는 catalog 를 이용하는 방법을 강력히 권고한다.

참고 자료

Database Backup and Recovery User's Guide

댓글 없음:

댓글 쓰기