最近一个同事修改 表结构的时候不当心删了几张表,虽然恢复部分数据,可是有个表的数据已经找不回了,数据库
由于以前数据库没有作备份,因此今天花了半天时间作了个逻辑备份,总体的思路以下:首先写好exp语句作成bat文件,而后用windows计划任务去执行windows
第一步:创建备份脚本oraclebackup.batoracle
首先创建一个备份bat文件,在D盘下新建备份目录oraclebackup,将oracle安装目录下的EXP.EXE复制到此目录下,再新建一个文本文件oraclebackup.txt,内容以下:测试
@echo off
echo 删除10天前的备分文件和日志spa
forfiles /p "D:\oraclebackup" /m *.dmp /d -10 /c "cmd /c del @path"
forfiles /p "D:\oraclebackup" /m *.log /d -10 /c "cmd /c del @path".net
echo 正在备份 Oracle 数据库,请稍等……
expsystem/oracle@orclfile=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
echo 任务完成!日志
完成后,将该记事本的后缀txt改为bat便可。orm
双击oraclebackup.bat能够测试是否能够正常备份。get
第二步:新建windows计划任务cmd
进入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 ,
注意,当时 我是这样加的tables=(system.XXX%),结果bat文件不能执行,原来bat'文件里面的%必需要是%%,这个问题我搞了好久才搞清楚~~~~~