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任务定时调用此文件就可以了