Windows下Oracle數據庫自動備份批處理腳本


expdb命令版本

 1 @echo off  
 2 REM ###########################################################  
 3 REM # Windows Server下Oracle數據庫自動備份批處理腳本 
 4 REM # 使用expdb命令導出需要先在數據庫中創建備份文件存貯目錄,sql如下:
 5 REM # create or replace directory IRS_DATA_BAK_DIR as 'D:\oraclebak'; 
 6 REM ###########################################################  
 7 REM 取當前系統時間,可能因操作系統不同而取值不一樣  
 8 set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%
 9 set CURMON=%date:~0,4%%date:~5,2%
10 set CURTIME=%time:~0,2%
11 REM 小時數如果小於10,則在前面補0  
12 if "%CURTIME%"==" 0" set CURTIME=00
13 if "%CURTIME%"==" 1" set CURTIME=01
14 if "%CURTIME%"==" 2" set CURTIME=02
15 if "%CURTIME%"==" 3" set CURTIME=03
16 if "%CURTIME%"==" 4" set CURTIME=04
17 if "%CURTIME%"==" 5" set CURTIME=05
18 if "%CURTIME%"==" 6" set CURTIME=06
19 if "%CURTIME%"==" 7" set CURTIME=07
20 if "%CURTIME%"==" 8" set CURTIME=08
21 if "%CURTIME%"==" 9" set CURTIME=09
22 set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%
23 REM 設置所有者、用戶名和密碼  
24 set OWNER=orcl
25 set USER=app
26 set PASSWORD=app
27 REM 創建備份用目錄,目錄結構為oraclebak/
28 REM 切換目錄
29 d:  
30 if not exist "oraclebak"                     mkdir oraclebak
31 cd oraclebak
32 set FILENAME=%OWNER%_%CURDATE%_%CURTIME%.DMP  
33 set EXPLOG=%OWNER%_%CURDATE%_%CURTIME%_log.log  
34 REM 調用ORACLE的exp命令導出用戶數據
35 REM IRS_DATA_BAK_DIR已事先創建好 
36 expdp %USER%/%PASSWORD%@%OWNER% DIRECTORY=IRS_DATA_BAK_DIR DUMPFILE=%FILENAME% LOGFILE=%EXPLOG%
37 REM exp %USER%/%PASSWORD%@%OWNER% file=%FILENAME% owner=%USER% log=%EXPLOG% grants=n
38 REM 調用rar進行壓縮  
39 "C:\Program Files (x86)\winrar\Rar" a -m5 -dw D:\oraclebak\%OWNER%_%CURDATE%_%CURTIME%".rar" D:\oraclebak\%OWNER%_%CURDATE%_%CURTIME%.DMP  
40 exit   

 

 復制內容后,粘貼到擴展名為bat的文件中,然后創建一個windows任務定時調用此文件就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM