使用批处理命令+windows计划任务实现oracle数据库自动备份

功能:
自动将Oracle DB 内的数据,按指定时间间隔,生成以备份时间命名的的dmp及log备份文件,甚至自动打包压缩成rar格式。

原理:
使用批处理命令生成自动备份文件名,该文件名根据备份时间生成,唯一,方便查找和恢复。
使用exp命令导出数据库数据。
使用rar dos压缩命令对备份文件压缩归档,并自动删除备份文件,以节约磁盘空间。
使用wiondow计划任务控制备份时间间隔。

适用范围:
windows各版本(Unix主机按此思路应该也能实现,只是批处理语法有区别)
oracle各版本

具体实现:

第一步:批处理文件autobackup.bat的建立
--------------------------------------------------------------------------------

if "%time:~0,1%"==" " (set backup_file=%date:~4,4%%date:~9,2%%date:~12,2%-0%time:~1,1%%time:~3,2%%time:~6,2%) else (set

backup_file=%date:~4,4%%date:~9,2%%date:~12,2%-%time:~0,2%%time:~3,2%%time:~6,2%)

exp your_usrename/your_password@your_sid owner=(your_users)  file=%backup_file%.dmp log=%backup_file%.log


以上批处理,第一句是按时间生成一个唯一的文件名。生成的文件名格式是:生成的文件名格式如:20060303-151656,表示这个备份是在2006年3月3号 15点16分56秒做的

第二句exp your_usrename/your_password@your_sid ... ,是按你的实际情况,填写用户名/口令@sid,实际上就是oracle的exp命令,你可以

根据自己需要添加参数,如owner、tables等。

 

--------------------------------------------------------------------------------
第二步:设置windows任务计划

-----------------------------------------------------------------------------------------------------------------
打开 开始 --> 程序 --> 附件 --> 系统工具 -->任务计划
按<添加任务计划向导>操作,很简单,即使以前从没用过也能看懂,在此不做详细说明。


以上步骤的设置,就可以让windows每隔一定时间(计划任务中设定,如每周、每天、登录时、启动时……)执行一次autobackup.bat.
--------------------------------------------------------------------------------

以上方法在windows2000测试通过。


以下为windows xp相关批处理命令(仅需要更改时间参数以生成文件名,其他部分相同)
if "%time:~0,1%"==" " (set backup_file=%date:~0,4%%date:~5,2%%date:~8,2%-0%time:~1,1%%time:~3,2%%time:~6,2%) else (set backup_file=%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%)

此外,你可以进一步将备份的数据库文件和log文件压缩以节省磁盘空间,方法如下:

在批处理文件结尾处追加以下语句:

rar a %backup_file%.rar *.dmp *.log
del *.dmp
del *.log

注意:使用rar  的DOS压缩指令。需将rar.exe 放在与autobackup.bat 同一目录下,而rar.exe文件在winrar目录下可以找到,各个版本差别不大(只需要这一个文件,无需整个winrar)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值