Chinaunix首页 | 论坛 | 博客
  • 博客访问: 542493
  • 博文数量: 92
  • 博客积分: 980
  • 博客等级: 准尉
  • 技术积分: 1426
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-25 20:34
文章分类

全部博文(92)

文章存档

2015年(3)

2014年(15)

2013年(27)

2012年(38)

2011年(9)

分类: DB2/Informix

2012-12-20 22:02:54

首先,建立测试数据:

原有备份中,test表中只有一条数据;然后插入几条数据后,进行备份:

离线备份:


DB2在进行恢复时,如果是使用归档日志模式,如果要恢复到曾经的一个脱机离线备份版本, 必须在restore之后,使用前滚操作,使用已有的日志进行前滚,否则,数据库将处于DB pending的状态,例如:

只有经过前滚后,才能继续联机数据库:

查看数据,发现数据已经根据日志进行了补齐:

但是,如果,就是不要某个版本之后的数据,单纯的恢复到某个版本呢?这个时候,需要加入参数 [WITHOUT ROLLING FORWARD]

例如:

查看数据库状态和数据:

数据库并没有处于前滚暂挂的状态,而数据也少了此备份版本之后新增的数据。


结论:这样的版本恢复,对于根据生产备份迅速建立测试环境是可行的,但是,如果是用于生产环境的恢复,必然导致数据的丢失,因此,生产环境的备份恢复,需要增加前滚到日志最后的操作。

2013年6月修订:
之前的调查不够全面。其实,还可以在rollforward 使用end of backup选项,然后stop,就可以直接前滚到备份的结束;当然,也可以使用前滚到指定时间点的方式,将数据库前滚到某一个时间点。对于之前的不全面结论,表示愧疚。

阅读(4034) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~