배치파일 장점
exp_daily.bat 배치파일을 수행할 경우 매일 export가 수행되고
exp_delete.bat 배치파일을 수행할 경우 2, 3일의 백업을 항상 보유하며
주기적으로 삭제하기 때문에 더 이상 Disk가 꽉 차는 현상(Disk Full)을 막을 수 있다.
단점.
DB의 Size가 클 경우 매일 export 받는다면 Local Disk의 공간 부족 현상이 발생할 수 있다.
이런 경우에는 여러 개의 백업을 보유하기 힘들기 때문에 좀 더 주기적으로 삭제하거나 백업받은 파일을 압축하여 관리해야 한다. 백업하고 자동으로 압축하는 방법은 다음에... ^_^;;
1. 배치파일 만들기
시작 --> 실행 --> notepad 실행하여 각각 배치파일의 내용을 붙여넣기 한 다음 설정된 파일 이름으로 변경한다
exp_daily.bat
@echo off
SET ORACLE_SID=ORCL
for %%a in (%date%) do SET day=%%a
md D:ORA_BACKUPEXP1%day%
EXP system/manager file=D:ORA_BACKUPEXP1%DAY%%DAY%-full.dmp log=D:ORA_BACKUPEXP1%DAY%%DAY%-full-exp.log full=y
exp_daily.bat 설명
D:ORA_BACKUPEXP1 하위 디렉토리에 날짜 폴더가 생성되고
system 유저로 Full export를 수행하며 날짜 이름의 dmp, log 파일이 생성된다
exp_delete.bat
rd /s /q D:ORA_BACKUPEXP2
move D:ORA_BACKUPEXP1 D:ORA_BACKUPEXP2
exp_delete.bat 설명
D:ORA_BACKUPEXP2 디렉토리를 지우고
D:ORA_BACKUPEXP1 디렉토리를 D:ORA_BACKUPEXP2 디렉토리로 폴더 이름을 변경한다.
2. 작업 예약 설정하기
작업 예약 설정하기
매일 새벽 3시에 export 받는 작업 예약하기
C:> at 10:00 /every:Su,M,T,W,Th,F,S E:orabackupexpbackupscriptexp_daily.bat
매주 일,수 밤 10시에 백업 삭제하는 작업 예약하기
C:> at 22:00 /every:Su,W E:orabackupexpbackupscriptexp_delete.bat
AT 명령 변수 설명
/every: date ,... :
이 매개 변수를 사용하여 매주 금요일이나 매월 8일처럼
지정된 요일이나 날짜에 작업을 실행하도록 예약합니다.
하나 이상의 요일(다음 약자 사용: M,T,W,Th,F,S,Su)이나
하나 이상의 날짜(숫자 1 - 31 사용)로 date를 지정합니다.
쉼표를 사용하여 여러 날짜 항목을 구분해야 합니다.
이 매개 변수를 생략하면 현재 날짜에 작업이 실행되도록 예약됩니다.
*** 주의 ***
SID, EXP 파일의 경로, 백업 받을 경로, export주기, 삭제 설정은 사용자의 환경에 맞게 수정하여 사용하면 된다.