Windows系统下Oracle数据库每天自动备份

所属分类: 数据库 / oracle 阅读数: 1348
收藏 0 赞 0 分享

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 %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数据库每天自动备份,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Oracle轻松取得建表和索引的DDL语句

Oracle轻松取得建表和索引的DDL语句
收藏 0 赞 0 分享

重新编译PLSQL中的无效对象或者指定的对象 的方法

重新编译PLSQL中的无效对象或者指定的对象 的方法
收藏 0 赞 0 分享

在OracleE数据库的字段上建立索引的方法

在OracleE数据库的字段上建立索引的方法
收藏 0 赞 0 分享

oracle下加密存储过程的方法

oracle下加密存储过程的方法
收藏 0 赞 0 分享

浅谈LogMiner的使用方法

浅谈LogMiner的使用方法
收藏 0 赞 0 分享

oracle 下WITH CHECK OPTION用法

oracle 下WITH CHECK OPTION用法
收藏 0 赞 0 分享

在Oracle中向视图中插入数据的方法

在Oracle中向视图中插入数据的方法
收藏 0 赞 0 分享

DBA_2PC_PENDING 介绍

DBA_2PC_PENDING 介绍
收藏 0 赞 0 分享

在Oracle PL/SQL中游标声明中表名动态变化的方法

在Oracle PL/SQL中游标声明中表名动态变化的方法
收藏 0 赞 0 分享

DB2和 Oracle的并发控制(锁)的比较

DB2和 Oracle的并发控制(锁)的比较
收藏 0 赞 0 分享
查看更多