Oracle数据库定时自动备份批处理代码

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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!

相关文档
最新文档