oracle_自动备份用户数据,删除N天前的旧数据(非rman,bat+vbs)
有时数据没有实时备份恢复那么高的安全性需求,但每天 ,或者定期备份表结构
和数据依旧是很有必要的,介绍一种方法 在归档和非归档模式均可使用的自动备份方法。
预期效果是备份用户下的数据含表结构,备份文件在dmp文件下,每天晚上1点备份,
为了防止占用物理磁盘过大,自动删除两周前的旧数据,建议养成定时做备份数据有效性
检查(用导出的文件,导入空库测试)。 log文件夹下存放日志
1 、制作 备份bat
@echo off
echo 正在备份pyc_ORACLE 数据库 ,请稍等……
exp userid=user/pass owner=user file=D:\bak\dmp\user_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:\bak\log\user%date:~0,4%%date:~5,2%%date:~8,2%.log buffer=67108864 statistics=none grants=n consistent=y
保存txt,重命名为bat文件
补充: 备份单表 exp pyc/pyc123456@orcl file=d:\tab_pageinfo.dmp tables=(tab_pageinfo) system是用户名,manager 是密码,myoracle 是数据库名。
2 、制作 删除旧备份数据脚本
删除14天前的数据备份.VBS
set fso=CreateObject("Scripting.FileSystemObject")
set ws=CreateObject("wscript.shell")
set fd=fso.getfolder("D:\bak\dmp")
for each f in fd.files
if datediff("d",f.Datecreated,date)>14 then
f.delete(true)
end if
next
'Coded By cphmvp create date 20130711
保存txt,重命名为vbs文件
3、订制任务计划(windows平台)