Oracle数据库定时自动备份批处理代码(Windows)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
set pweek=%date:~-1%
set fn=e:\bakdb\gdosys_dqgis%Date:~0,4%%Date:~5,2%%Date:~8,2%
if %pweek% equ 日(
exp system/sys@orcl file=%fn%.dmp owner=gdosys,dqgis log=%fn%.log
rar a %fn%.rar %fn%.*
del %fn%.dmp
del %fn%.log
) else (
exp system/sys@orcl file=d:\bakweek\%date:~8,2%.dmp owner=gdosys,dqgis log=d:\bakweek\%date:~8,2%.log
rem exp system/sys@orcl file=d:\bakweek\%date:~11,3%.dmp owner=gdosys log=d:\bakweek\%date:~11,3%.log
)
————————————————————————————————————————————
/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_%BK FILE%%HHMMSS%.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=%BA T_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 .