본문 바로가기

Server Story..../Windows Server

자동 export 및 정기적인 자동 삭제 배치파일 만들기

자동 파일 삭제 배치 파일 

자동 export 및 정기적인 자동 삭제 배치파일 만들기 [2009/1/19]
【글자체:  】【정렬

배치파일 장점 
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주기, 삭제 설정은 사용자의 환경에 맞게 수정하여 사용하면 된다.