db2备份还原[自动备份脚本]

昨天做了个实验,实验证明,不需要所有日志,只需要在线备份期间的活动日志即可恢复数据库,我的实验如下:
我在恢复数据库之后,把数据库日志和归档日志删除,然后在前滚,保证只有include logs里的日志

C:\Documents and Settings\db2admin>db2 create db tt on d:\
DB20000I CREATE DATABASE命令成功完成。


C:\Documents and Settings\db2admin>db2 connect to tt

  数据库连接信息

 数据库服务器 = DB2/NT 9.1.0
 SQL 授权标识 = DB2ADMIN
 本地数据库别名 = TT


C:\Documents and Settings\db2admin>db2 backup db tt online to d:\db2 compress in
clude logs

备份成功。此备份映像的时间戳记是:20100429104317


C:\Documents and Settings\db2admin>db2 restore db tt from d:\db2 taken at 201004
29104317 logtarget d:\db2
SQL2539W 警告!正在复原至与备份映像数据库相同的现有数据库。数据库文件将被删除。


要继续吗?(y/n) y
DB20000I RESTORE DATABASE命令成功完成。


C:\Documents and Settings\db2admin>db2 rollforward db tt to end of logs and stop
 overflow log path (d:\db2)

  前滚状态

 输入数据库别名 = tt
 节点数已返回状态 = 1

 节点号 = 0
 前滚状态 = 未暂挂
 下一个要读取的日志文件 =
 已处理的日志文件 = S0000003.LOG - S0000003.LOG
 上次落实的事务 = 2010-04-29-14.25.37.000000 Local

DB20000I ROLLFORWARD命令成功完成

 

注意:在还原的时候必须保证log path (d:\db2)下面没有任何TXT文件,因为日志会被解压到此目录,如果有还原就会失败。

自动备份脚本:

文件db2_backup.bat内容如下(2个脚本必须放在C盘根目录下,否则请修改cd c:\为你的位置):

cd c:\
@echo 连接待备份数据库db_test
db2 connect to db_test
@echo 开始备份数据库db_test到d:\dbbak
db2 backup db db_test online to d:\dbbak compress include logs
@echo 数据库db_test已经成功备份到d:\dbbak
@echo 连接待备份数据库NETDB
db2 connect to netdb
@echo 开始备份数据库NETDB到d:\dbbak
db2 backup db netdb online to d:\dbbak compress include logs
@echo 数据库NETDB已经成功备份到d:\dbbak
exit

 

文件db2_backup_main.bat内容如下:

db2cmd -i -w db2_backup.bat
exit

 

将脚本加入到WINDOWS的计划任务中去,可以设置执行时间等,从而达到自动备份目的。

脚本下载:http://files.cnblogs.com/zjoch/db2_bat.rar

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值