Windows系统下Oracle数据库每天⾃动备份
linux和unix下⾯使⽤shell可以很⽅便实现,如果windows环境下可以结合计划任务实现
1.创建备份⽬录d:\backup, 创建批处理命令Bak.bat,编写备份脚本
exp user/passwd@orcl DIRECT=Y BUFFER=100000 FILE=D:\backup\scdd%date:~0,10% OWNER=('scdd') LOG=D:\backup\data.log
forfiles /p "D:\backup" /s /m *.dmp /d -3 /c "cmd /c del @path"
说明:
exp命令是oracle提供的dump备份命令,其中的%date:~0,10%是DOS⾥取⽇期的命令,例如:C:\Users\qyy>echo
oracle数据库自动备份方法%date:~0,10%得到2016-11-30
forfiles是windows的⽂件查命令,查在backup,dmp后缀产⽣三天的⽂件,到后执⾏删除操作
2.Windows定时任务每⽇⾃动执⾏批处理⽂件
3.保留最近三天的⽂件,⾃动删除以前⽇期的备份⽂件
forfiles参数说明:
/P 可是搜索的路径。在我们这⾥就是要在哪个⽬录寻要删除的⽂件
/M 根据搜索掩码搜索⽂件。默认为*,如果要备份处dump⽂件,格式为*.dmp
/D ⽂件修改时间在某个时间之前或者之后。-3 表⽰3天之前的⽂件。
/s 包含⼦⽬录
/C 表⽰为每个⽂件执⾏的命令,如果要删除该⽂件可以为"cmd /c del /F /s /q @file"。其中变量@file表⽰该⽂件名 f s q表⽰强制静默删除可以不⽤;cmd /c表⽰执⾏字符串指定的命令然后终断
其中@file可以返还如下结果,我们这⾥⽤@path
@file - returns the name of the file.
@fname - returns the file name without extension.
@ext - returns only the extension of the file.
@path - returns the full path of the file.
@relpath - returns the relative path of the file.
@isdir - returns "TRUE" if a file type is a directory, and "FALSE" for files. @fsize - returns the size of the file in bytes.
@fdate - returns the last modified date of the file.
@ftime - returns the last modified time of the file
以上所述是⼩编给⼤家介绍的Windows系统下Oracle数据库每天⾃动备份,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。