"用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是日志路径.