首页 > 代码库 > 定时备份oracle(Windows)
定时备份oracle(Windows)
第一步:建立备份脚本oraclebackup.bat
首先建立一个备份bat文件,在D盘下新建备份目录oraclebackup,将Oracle安装目录下的EXP.EXE复制到此目录下,再新建一个文本文件oraclebackup.txt,内容如下:
@echo off
@echo 删除10天前的备分文件和日志
forfiles /p "D:\oraclebackup" /m *.rar /d -10 /c "cmd /c del @path"
Set FileDir=E:\AppsData\Works\OrclBackUp\BTMS
Set SysDate=%date:~0,4%-%date:~5,2%-%date:~8,2%.%time:~0,2%%time:~3,2%
Set FileName=%ExpUser%~%OrclSid%_%SysDate%
@echo 正在备份 Oracle 数据库,请稍等……
expsystem/oracle@orclfile=D:/oraclebackup/mdb%FileName%.dmp log=D:/oraclebackup/mdb%FileName%.log full=y feedback=10000 buffer=65535
@echo 任务完成!
@echo 开始压缩数据库备份...
"D:\Apps\Tools\WinRAR\Rar.exe" a %FileName%.rar %FileName%.dmp
"D:\Apps\Tools\WinRAR\Rar.exe" a %FileName%.rar %FileName%.log
@echo 数据库备份压缩完成!
完成后,将该记事本的后缀txt改成bat即可。
双击oraclebackup.bat可以测试是否可以正常备份。
第二步:新建windows计划任务进入windows的控制面板,打开计划与任务,新建任务,点击浏览,选择刚才新建的d盘oraclebackup目录下的oraclebackup.bat文件。接着选择每天晚上22:00点执行,再输入本机的administrator密码即可。
备注:这里我记录下,我遇到的问题,主要是因为我一个用户里面有很多表,但是现在我不需要全部备份,只需要备份XXX打头的表,
OK,修改exp语句exp system/oracle@orcl tables=(system.XXX%%)file=D:/oraclebackup/mdb%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:/oraclebackup/mdb%date:~0,4%%date:~5,2%%date:~8,2%.log full=y buffer=65535 ,
注意:bat文件里面的%必须要是%%!
定时备份oracle(Windows)