-- 創建目錄對象(若未創建),先建立對應文件夾才能用目錄對象
CREATE OR REPLACE DIRECTORY dp_dirbackup AS 'D:\BACKUP';? --配置路徑
GRANT READ, WRITE ON DIRECTORY dp_dirbackup TO 用戶名; --配置用戶權限
-- 備份腳本(保存為每月備份腳本,如每月手動執行可跳過定時任務部分),創建bat文件,建立txt文本文檔,放入代碼后,將后綴改為bat,雙擊科運行backup.bat
@echo offset USERNAME=用戶名set PASSWORD=用戶密碼set SID=orclset DB=%USERNAME%/%PASSWORD%@%SID%set TARGETPATH=D:\BACKUPset FILENAME=BACKUPset hour=%time:~,2%if "%time:~,1%"==" " set hour=0%time:~1,1%set TIMESTAMP=%date:~0,4%-%date:~5,2%-%date:~8,2%-%hour%-%time:~3,2%-%time:~6,2%set FILEPATH=%TARGETPATH%/%FILENAME%_%TIMESTAMP%.dmpset LOGPATH=%TARGETPATH%/%FILENAME%_%TIMESTAMP%.logset RARPATH=%TARGETPATH%/%FILENAME%_%TIMESTAMP%.rarecho ========================================echo 正在備份Oracle數據庫,請稍等......echo ========================================expdp %DB% DIRECTORY=DP_DIRBACKUP DUMPFILE=BACKUP_%TIMESTAMP%.dmp LOGFILE=BACKUP_%TIMESTAMP%.log COMPRESSION=ALL PARALLEL=4echo Oracle數據庫備份完成!echo ===============清除90天以上文件=========================forfiles /p "D:\BACKUP" /m *.dmp /d -90 /c "cmd /c del @path"forfiles /p "D:\BACKUP" /m *.log /d -90 /c "cmd /c del @path"
------window做定時備份操作
--配置Windows定時任務?
?步驟1:保存為BAT文件?jxbackup.bat
將上述腳本保存為jxbackup.bat,存放路徑建議為D:\JXBACKUP\jxbackup.bat
?步驟2:配置任務計劃程序?
?打開任務計劃程序?:
Win + R → 輸入taskschd.msc → 操作 → 創建任務
?常規設置?:
名稱:JXBackup
勾選不管用戶是否登錄都要運行 → 選擇使用最高權限
?觸發器設置?:
新建 → 每月 → 選擇"1日" → 開始時間00:00
?操作設置?:
程序或腳本:D:\BACKUP\backup.bat
?條件設置(可選)??:
取消勾選只有在計算機使用交流電源時才啟動此任務