Oracle数据库定时自动备份批处理代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
echo off
set pweek=%date:~-1%
set fn=e:\bakdb\gdosys_dqgis%Date:~0,4%%Date:~5,2%%Date:~8,2%
if %pweek% equ 日 (
exp system/sysorcl file=%fn%.dmp owner=gdosys,dqgis log=%fn%.log
rar a %fn%.rar %fn%.*
del %fn%.dmp
del %fn%.log
) else (
exp system/sysorcl file=d:\bakweek\%date:~8,2%.dmp owner=gdosys,dqgis log=d:\bakweek\%date:~8,2%.log
rem exp system/sysorcl file=d:\bakweek\%date:~11,3%.dmp owner=gdosys log=d:\bakweek\%date:~11,3%.log
) ————————————————————————————————————————————
hi.baidu./lvns/blog/item/beb171d3c2fa2cd6a8ec9a2d.html
这是最近写的一个Oracle数据库自动备份的批处理,经过测试正常运行,记录如下。包括两部分,逻辑备份和冷备份,如有不完整之处,还往看到本文的高手指导!
注:这些容是本人经过一番学习和多次测试调试后的结果,如果想,请以连接的形式,合作!第一部分,逻辑备份
下面是:AutoBackup_Logic.bat --逻辑备份的主文件,直接在计划任务中调用就可以了。echo off
rem
rem 需要配置的参数说明:
rem BAT_HOME:即本批处理所在的目录;
rem DUMP_DIR:即要备份到的数据文件目录,存在与数据字典表:dba_directories 中。rem
set BAT_HOME=E:\BAT
set DUMP_DIR=E:\Temp\DBBackup
set BKFILE=%Date:~0,4%%Date:~5,2%%Date:~8,2%
set HHMMSS=%time:~0,2%%time:~3,2%%time:~6,2%
call %BAT_HOME%\LogicBackup.bat %DUMP_DIR% >%BAT_HOME%\LogicBackup_%BKFILE%%HHM MSS%.log
echo Completed!
下面是:LogicBackup.bat echo off
rem call LogicBackup.bat %DUMP_DIR%
rem
=============================================================================== ===========
rem 本批处理实现支持expdp数据泵的Oracle数据库版本的数据库逻辑备份,流程为:导出数据到
rem dump_dir 数据库目录下,然后把dmp文件以rar格式放入当天备份日期命名的目录下,便于以后按
rem 照日期恢复。
rem
rem 需要配置的参数说明:
rem BAT_HOME:即本批处理所在的目录;
rem BKDIR:是调用本批处理时传进来的参数 dump_dir,即要备份到的数据文件目录。
rem
rem Author: Sanlavo
rem Time: 2007-06-07
rem
=============================================================================== ===========
rem
echo 备份开始...
echo 当前的时间是: %DATE% %time%
set BAT_HOME=E:\BAT
set BKDIR=%1
set BKFILE=%Date:~0,4%%Date:~5,2%%Date:~8,2%
set HHMMSS=%time:~0,2%%time:~3,2%%time:~6,2%
expdp system/sys parfile=%BAT_HOME%\ScriptsLib\parfiletest.sql
if not exist %BKDIR%\%BKFILE%_LOGIC (
md %BKDIR%\%BKFILE%_LOGIC
) else (
echo 目录 %BKDIR%\%BKFILE%_LOGIC 已经存在
)
echo 开始压缩文件...
rar a %BKDIR%\%BKFILE%_LOGIC\%BKFILE%%HHMMSS%_LOGIC_FULL.rar %BKDIR%\*.dmp echo 压缩文件 %BKFILE%%HHMMSS%_LOGIC_FULL.rar 完成
echo 开始移动文件...
move %BKDIR%\*.dmp %BKDIR%\%BKFILE%_LOGIC\
move %BKDIR%\*.log %BKDIR%\%BKFILE%_LOGIC\
echo 移动文件完成
echo 开始删除dmp文件...
del /f /s /q %BKDIR%\%BKFILE%_LOGIC\*.dmp
echo 删除dmp文件完成
net send %userdomain% "数据库逻辑备份已于:%DATE% %time% 完成!"
echo .
echo 备份已于:%DATE% %time% 完成!
echo .
rem 移动批处理的日志文件到备份目录下面
xcopy %BAT_HOME%\LogicBackup_%BKFILE%*.log %BKDIR%\%BKFILE%_LOGIC\
echo Successfully Completed!