10g RMAN backup script
회사이야기?? 2009. 1. 12. 10:24 |[oracle@localhost ~] $ rman target /
# database에 full backup을 수행한다.
RMAN> BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 0 DATABASE
2 TAG rman_db_full
3 FORMAT '/home/oracle/backup/%d.%T.%u.dbfull.rman';
# level 0 full backup 수행이후의 증분에 대해 incremental backup을 수행한다.
RMAN> BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 1 DATABASE
2 TAG rman_db_inc
3 FORMAT '/home/oracle/backup/%d.%T.%u.dbinc.rman';
#### archive log를 백업한다.
# 현재의 redolog 파일을 아카이브화 시킨다.
RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
# archive log를 백업하고, 원본 archive log는 삭제한다.
RMAN> BACKUP AS COMPRESSED BACKUPSET ARCHIVELOG ALL DELETE INPUT
2 TAG rman_arc
3 FORMAT '/home/oracle/backup/%d.%T.%u.arc.rman';
# 컨트롤 파일 백업.
# 컨트롤 파일이 없다면 컨트롤 파일 장애시 복구 할 수 없을 것이다.
RMAN> BACKUP AS COMPRESSED BACKUPSET CURRENT CONTROLFILE
2 TAG rman_ctl
3 FORMAT '/home/oracle/backup/%d.%T.%u.ctl.rman';
# 과거 백업본중 만료된 백업본 삭제.
RMAN> DELETE NOPROMPT EXPIRED BACKUP;
RMAN> DELETE NOPROMPT EXPIRED COPY;
# 과거 백업본 중 지금의 백업에 의해 필요없어진 백업본 삭제.
RMAN> DELETE NOPROMPT OBSOLETE;
# 실제 archivelog 목록과 DB상에 기록된 archivelog 목록을 비교 검사한다.
RMAN> CROSSCHECK ARCHIVELOG ALL;
# archivelog를 삭제한다.
# NOPROMPT 옵션이 있을경우 Y/N를 묻지 않는다.
RMAN> DELETE [NOPROMPT] ARCHIVELOG ALL;
# database에 full backup을 수행한다.
RMAN> BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 0 DATABASE
2 TAG rman_db_full
3 FORMAT '/home/oracle/backup/%d.%T.%u.dbfull.rman';
# level 0 full backup 수행이후의 증분에 대해 incremental backup을 수행한다.
RMAN> BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 1 DATABASE
2 TAG rman_db_inc
3 FORMAT '/home/oracle/backup/%d.%T.%u.dbinc.rman';
#### archive log를 백업한다.
# 현재의 redolog 파일을 아카이브화 시킨다.
RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
# archive log를 백업하고, 원본 archive log는 삭제한다.
RMAN> BACKUP AS COMPRESSED BACKUPSET ARCHIVELOG ALL DELETE INPUT
2 TAG rman_arc
3 FORMAT '/home/oracle/backup/%d.%T.%u.arc.rman';
# 컨트롤 파일 백업.
# 컨트롤 파일이 없다면 컨트롤 파일 장애시 복구 할 수 없을 것이다.
RMAN> BACKUP AS COMPRESSED BACKUPSET CURRENT CONTROLFILE
2 TAG rman_ctl
3 FORMAT '/home/oracle/backup/%d.%T.%u.ctl.rman';
# 과거 백업본중 만료된 백업본 삭제.
RMAN> DELETE NOPROMPT EXPIRED BACKUP;
RMAN> DELETE NOPROMPT EXPIRED COPY;
# 과거 백업본 중 지금의 백업에 의해 필요없어진 백업본 삭제.
RMAN> DELETE NOPROMPT OBSOLETE;
# 실제 archivelog 목록과 DB상에 기록된 archivelog 목록을 비교 검사한다.
RMAN> CROSSCHECK ARCHIVELOG ALL;
# archivelog를 삭제한다.
# NOPROMPT 옵션이 있을경우 Y/N를 묻지 않는다.
RMAN> DELETE [NOPROMPT] ARCHIVELOG ALL;