Windows環境下Oracle資料庫的自動備份指令碼,oracle資料庫
@echo off echo ================================================ echo Windows環境下Oracle資料庫的自動備份指令碼echo 1. 使用當前日期命名備份檔案。echo 2. 自動刪除30天前的備份。echo ================================================::以“YYYYMMDD”格式取出目前時間。set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%set CURTIME=%time:~0,2%REM 小時數如果小於10,則在前面補0if "%CURTIME%"==" 0" set CURTIME=00if "%CURTIME%"==" 1" set CURTIME=01if "%CURTIME%"==" 2" set CURTIME=02if "%CURTIME%"==" 3" set CURTIME=03if "%CURTIME%"==" 4" set CURTIME=04if "%CURTIME%"==" 5" set CURTIME=05if "%CURTIME%"==" 6" set CURTIME=06if "%CURTIME%"==" 7" set CURTIME=07if "%CURTIME%"==" 8" set CURTIME=08if "%CURTIME%"==" 9" set CURTIME=09set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%::設定使用者名稱、密碼和要備份的資料庫。set USER=carbon_zhenjiang_bakset PASSWORD=carbon_zhenjiang_bakset DATABASE=orcl::建立備份目錄。if not exist "D:\backup\data\%BACKUPDATE% "mkdir D:\backup\data\%BACKUPDATE%if not exist "D:\backup\log\%BACKUPDATE% " mkdir D:\backup\log\%BACKUPDATE%set DATADIR=D:\backup\data\%BACKUPDATE%set LOGDIR=D:\backup\log\%BACKUPDATE%exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\%USER%_%BACKUPDATE%%CURTIME%.dmp log=%LOGDIR%\log_%BACKUPDATE%%CURTIME%.log::刪除30天前的備份。forfiles /p "%DATADIR%" /s /m *.* /d -30 /c "cmd /c del @path"forfiles /p "%LOGDIR%" /s /m *.* /d -30 /c "cmd /c del @path"exit