Oracle逻辑备份expdp,bat文件

set BACKUP_DIR=D:/dir
set BACKUP_WAREHOUSE=D:/dir
set ORACLE_USERNAME=system
set ORACLE_PASSWORD=Lvchuang123
set ORACLE_DB=newoa
set BACK_OPTION=schemas=newoa
set RAR_CMD="C:/Program Files/WinRAR/WinRar.exe"

for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a
REM 如果文件名中需要小时及分钟,用下面第一行语句
REM set BACK_NAME=%ORACLE_DB%_%TODAY%(%time:~0,2%时%time:~3,2%分)_
REM set BACK_NAME=%ORACLE_DB%_%ORACLE_USERNAME%_%TODAY%
set BACK_NAME=newoanx_%TODAY%
set BACK_FULL_NAME=%BACKUP_DIR%/%BACK_NAME%


REM 将操作记入批处理日志 %BACK_FULL_NAME%_bat.log

echo ==================备份服务器 newoa 帐号下的数据================= >>%BACK_FULL_NAME%_bat.log
echo 备份开始...... >>%BACK_FULL_NAME%_bat.log
echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log


expdp %ORACLE_USERNAME%/%ORACLE_PASSWORD% %BACK_OPTION% file="%BACK_FULL_NAME%.dmp" log="%BACK_FULL_NAME%_exp.log"


REM if not exist %BACKUP_WAREHOUSE%/%BACK_NAME% (md %BACKUP_WAREHOUSE%/%BACK_NAME%)

echo 压缩并删除原有dmp文件...... >>%BACK_FULL_NAME%_bat.log
echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log

%RAR_CMD% a -df "%BACK_NAME%.rar" "%BACK_FULL_NAME%.dmp"
REM "%BACK_FULL_NAME%exp.log"
echo 压缩并删除原有dmp文件结束! >>%BACK_FULL_NAME%_bat.log
echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log

echo 开始移动文件...... >>%BACK_FULL_NAME%_bat.log
echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log

move %BACKUP_DIR%/*.rar %BACKUP_WAREHOUSE%/%BACK_NAME%/

echo 移动文件完成! >>%BACK_FULL_NAME%_bat.log
echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log

REM net send %userdomain% "数据库逻辑备份已于:%DATE% %time% 完成!"

echo .
echo 备份完成!!! >>%BACK_FULL_NAME%_bat.log
echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log
echo ===============备份服务器 newoa 帐号下的数据完成!!!============== >>%BACK_FULL_NAME%_bat.log
move %BACKUP_DIR%/*.log %BACKUP_WAREHOUSE%/%BACK_NAME%/
echo .

猜你喜欢

转载自blog.csdn.net/qq_36891027/article/details/81067256