rem --------------------------------------------------------------------------- rem windows環境下Oracle數據庫的自動備份腳本。 rem 可以將本批處理設成windows任務計划下自動執行。 @echo off @echo ================================================ @echo windows環境下Oracle數據庫的自動備份腳本 @echo 說明:啟動備份時,需要配置以下變量 @echo 1、BACKUP_DIR 指定要備份到哪個目錄 @echo 2、ORACLE_USERNAME 指定備份所用的Oracle用戶名 @echo 3、ORACLE_PASSWORD 指定備份所用的Oracle密碼 @echo 4、ORACLE_DB 指定備份所用的Oracle連接名 @echo 5、BACK_OPTION 備份選項,可以為空,可以為full=y,可以為owner=a用戶,b用戶 等等.... @echo 6、RAR_CMD 指定RAR命令行壓縮工具所在目錄 @echo ================================================ rem 以下變量需要根據實際情況配置------> 注意:此腳本必須放在E:\backup目錄下 set BACKUP_DIR=F:\backup set ORACLE_USERNAME=wonders_rp set ORACLE_PASSWORD=wonders set ORACLE_DB=ORCL80 set BACK_OPTION= OWNER=wonders_rp set RAR_CMD="G:\Program Files\2345Soft\HaoZip\HaoZip.exe" for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a set BACK_NAME=%ORACLE_DB%_%TODAY%()_ set BACK_FULL_NAME=%BACKUP_DIR%\%BACK_NAME% rem 開始備份 exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% %BACK_OPTION% file="%BACK_FULL_NAME%.dmp" log="%BACK_FULL_NAME%exp.log" rem 壓縮並刪除原有文件 rem %RAR_CMD% a -df "%BACK_FULL_NAME%back.rar" "%BACK_FULL_NAME%.dmp" "%BACK_FULL_NAME%exp.log" rem %RAR_CMD% "%BACK_FULL_NAME%.dmp" "%BACK_FULL_NAME%exp.log" rem --------------------------------------------------------------------------- rem forfiles /m *.rar -d -7 /c "cmd /c del /f @path" echo 刪除10天前的備分文件和日志 rem forfiles /p "D:\oraclebackup" /m *.dmp /d -10 /c "cmd /c del @path" forfiles /m *.dmp /d -10 /c "cmd /c del @path" forfiles /m *.log /d -10 /c "cmd /c del @path"