共计 1211 个字符,预计需要花费 4 分钟才能阅读完成。
前言
数据库备份是生产环境 DB 服务器重要的工作之一,而定时的自动备份也有助于帮助我们快速的定位还原异常或问题数据,本篇文章就简单记录一下在 Windows Server 2008 中如何通过脚本和任务计划程序实现每日自动备份数据。
创建脚本
首先创建一个 windows 的批处理脚本,这里命名为 XNZZDB.bat:
@echo off
set adir=%DATE:~,4%%DATE:~5,2%%DATE:~8,2%
exp XNZZ/XNZZ@XNZZDB FILE=E:\DB_BACKUP\XNZZDB_%adir%.dmp
可以看到首先为 adir 变量赋值,其实这个表达式的就是截取和拼接指定格式日期,adir 变量的格式其实就是 yyyyMMdd 格式的日期。
其次是我们熟悉的 exp 命令,导出肯定还是要通过 exp 命令来实现,我们导出的文件路径就是 e 盘下的 DB_BACKUP 目录,而文件命就是 XNZZDB _串接当前日期(yyyyMMdd 格式),为了验证最好先用最高权限运行一下看是否能成功备份并导出文件到指定目录,可以看到我这里是可以成功导出的:
而接下来就是如何每日定时执行这个脚本文件的问题了,在 windows 中可以通过 任务计划程序 来实现。
创建任务
首先是创建一个任务,在附件–> 系统工具中可以看到任务计划程序:
点击打开后可以看到主界面:
点击右侧的创建基本任务,随便输入一个名称后点击【下一步】:
然后是选择执行频率,我这里选择每天,然后点击【下一步】:
接着是设置开始时间和具体几点执行,我这里选择每天 18 点执行,从今天开始,然后点击【下一步】:
由于我们执行的是批处理脚本,所以直接选择【启动程序】即可,然后点击【下一步】:
接着就是选择我们脚本的位置,如果有参数的话填上参数,点击【下一步】:
最后确认一下配置无误,点击【完成】:
由于我们勾选了当点击【完成】时打开任务属性对话框,所以接下来我们看到的就是任务属性对话框,我们在这里还要再做一些设置:
如上图所示,这个配置非常重要,即选中“不管用户是否登录都要运行”和“使用最高权限运行”,注意这一点尤为重要,如果不选中这两项那么批处理脚本就无法自动执行完毕。最后点击【确定】并输入密码即可:
最后在首页就可以看到刚才添加的任务了:
双击该任务即可进入任务详情页面,也就能看到上次和下次的执行时间以及上次的执行结果:
至此关于 Oracle 10g 在 Windows Server 上的自动备份配置就已全部结束,注销后每天 18:00 都会自动执行备份脚本同时在我们指定的目录会生成当天的 DMP 文件。
总结
简单记录一下这个问题,希望对遇到同样问题的同学有所帮助,The End。
更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/135547.htm