網頁

2013年5月14日

[windows, oracle] 在windows系統下使用排程備份oracle資料庫

若要定時備份資料庫,可以將下列腳本寫成批次檔後,直接設定工作排程執行批次檔,就可以做到定時備份資料庫的工作。


腳本範例:

@echo off
REM =+=+= 取得日期 =+=+=
FOR /F "tokens=1-3 delims=/ " %%a IN ("%date%") DO (
    SET _MyDate=%%a%%b%%c
)

REM =+=+= 取得時間 =+=+=
FOR /F "tokens=1-2 delims=:." %%a IN ("%time%") DO (
    SET _MyTime=%%a%%b
)

echo 開始備份資料庫.....
REM 依照備份的時間,產生不同的備份檔名
EXP user/password@dbname BUFFER=64000 FILE=C:\DB\%_MyDate%%_MyTime%.dmp OWNER=ownername
echo 開始壓縮.....
rar a -r -m5 -t -ibck -df -agYYYYMMDDHHII C:\DB\.rar C:\DB\*.DMP
echo 資料庫備份完成!!
pause >nul 2>nul
@echo on

注意事項:若無法順利壓縮,表示未安裝RAR軟體,可以將進行壓縮的腳本去掉。