backup

来源:互联网 发布:咸阳三原县广电网络 编辑:程序博客网 时间:2024/06/05 16:32

功能:
自动将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. 
--------------------------------------------------------------------------------