日期:2014-05-16  浏览次数:20413 次

DB2的备份和恢复的测试

"用online backup 一个database , 然后再把这个database 删除.之后在restore 回去, 然后应该怎么回滚呢? 我试了好几种方法,都不行"

我用我本本上面的db2 8.2做了一个测试,发现db2的online backup没有问题,db2 8.2引进了recover database命令可以让我们做基于时间的恢复,好像oracle的rman一样:)

?

我的测试如下:

1. 设置两个参数,以便进行在线备份:
db2 update db cfg for sem???using userexit on
db2 update db cfg for sem???using logretain on
?
2. force application all
3.?注意此时要做全备否则会提示SQL1116N
backup db?sem? ?to c:backupdb

4. connect to sem???

5.db2 "create table t1(c1 bigint, c2 char(20))"

6.进行在线全备:
backup db sem???online to g:onlineBk

7.db2 get db cfg for sem???

9.找到日志文件,把所有的日志文件拷贝出来(因为Drop数据库时,日志文件一起被删除),放到另一个文件夹下面


10.执行rollforward db sem???to end of logs and stop overflow log path(G:SQLOGDIR)

11.db2 connect to sem???(此时数据库已经恢复成功)

12.db2 list history backup all for db sem???

?

?

?

注意:

也可以直接使用

1.db2 restore db yjb_gov from E:\back taken at 20130605091119;

?

2.先备份restore db sem from c:\wyf

?备份完之后,使用rollforward db sem???to end of logs and stop overflow log path(G:SQLOGDIR)

db2 get db cfg for sem?找到日志路径。

G:SQLOGDIR是日志路径.

?