阅读:2097回复:0
DB2的备份和恢复的测试
<P><FONT face="verdana, arial, helvetica" size=2>用online backup 一个database , 然后再把这个database 删除.之后在restore 回去, 然后应该怎么回滚呢? 我试了好几种方法,都不行"
我用我本本上面的db2 8.2做了一个测试,发现db2的online backup没有问题,db2 8.2引进了recover database命令可以让我们做基于时间的恢复,好像oracle的rman一样:) 我的测试如下: 1. 设置两个参数,以便进行在线备份: db2 update db cfg for sample using userexit on db2 update db cfg for sample using logretain on 2. force application all 3. 注意此时要做全备否则会提示SQL1116N backup db sample to c:backupdb 4. connect to sample 5.db2 "create table t1(c1 bigint, c2 char(20))" 6.进行在线全备: backup db sample online to g<IMG src="http://www.itpub.net/images/smilies/33.gif" border=0>nlineBk 7.db2 get db cfg for sample 9.找到日志文件,把所有的日志文件拷贝出来(因为Drop数据库时,日志文件一起被删除),放到另一个文件夹下面 10.执行rollforward db sample to end of logs and stop overflow log path('G:SQLOGDIR') 11.db2 connect to sample(此时数据库已经恢复成功) 12.db2 list history backup all for db sample 列示 sample 的历史文件 匹配的文件条目数 = 6 Op 对象 时间戳记+序列 类型 设备 最早日志 当前日志 备份标识 -- --- ------------------ ---- --- ------------ ------------ -------------- B D 20041222143210000 F S0000000.LOG ---------------------------------------------------------------------------- 包含 2 表空间: 00001 SYSCATSPACE 00002 USERSPACE1 ---------------------------------------------------------------------------- 注释:DB2 BACKUP SAMPLE OFFLINE 开始时间:20041222143210 结束时间:20041222143211 状态:A ---------------------------------------------------------------------------- EID:1 位置: SQLCA 信息 sqlcaid : SQLCA sqlcabc: 136 sqlcode: -2036 sqlerrml: 11 sqlerrmc: g:backupdb sqlerrp : sqlubMWR sqlerrd : (1) 0 (2) 0 (3) 0 (4) 0 (5) 0 (6) 0 sqlwarn : (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) sqlstate: Op 对象 时间戳记+序列 类型 设备 最早日志 当前日志 备份标识 -- --- ------------------ ---- --- ------------ ------------ -------------- B D 20041222143239001 F D S0000000.LOG S0000000.LOG ---------------------------------------------------------------------------- 包含 2 表空间: 00001 SYSCATSPACE 00002 USERSPACE1 ---------------------------------------------------------------------------- 注释:DB2 BACKUP SAMPLE OFFLINE 开始时间:20041222143239 结束时间:20041222143307 状态:A ---------------------------------------------------------------------------- EID:2 位置:g:backupdbSAMPLE.0DB2NODE0000CATN000020041222 Op 对象 时间戳记+序列 类型 设备 最早日志 当前日志 备份标识 -- --- ------------------ ---- --- ------------ ------------ -------------- B D 20041222143603001 N D S0000001.LOG S0000001.LOG ---------------------------------------------------------------------------- 包含 2 表空间: 00001 SYSCATSPACE 00002 USERSPACE1 ---------------------------------------------------------------------------- 注释:DB2 BACKUP SAMPLE ONLINE 开始时间:20041222143603 结束时间:20041222143615 状态:A ---------------------------------------------------------------------------- EID:4 位置:g<IMG src="http://www.itpub.net/images/smilies/33.gif" border=0>nlinebkSAMPLE.0DB2NODE0000CATN000020041222 Op 对象 时间戳记+序列 类型 设备 最早日志 当前日志 备份标识 -- --- ------------------ ---- --- ------------ ------------ -------------- R D 20041222143844001 F 20041222143603 ---------------------------------------------------------------------------- 包含 2 表空间: 00001 SYSCATSPACE 00002 USERSPACE1 ---------------------------------------------------------------------------- 注释:RESTORE SAMPLE WITH RF 开始时间:20041222143844 结束时间:20041222143855 状态:A ---------------------------------------------------------------------------- EID:5 位置: Op 对象 时间戳记+序列 类型 设备 最早日志 当前日志 备份标识 -- --- ------------------ ---- --- ------------ ------------ -------------- B D 20041222145120000 N S0000003.LOG ---------------------------------------------------------------------------- 包含 2 表空间: 00001 SYSCATSPACE 00002 USERSPACE1 ---------------------------------------------------------------------------- 注释:DB2 BACKUP SAMPLE ONLINE 开始时间:20041222145120 结束时间:20041222145121 状态:A ---------------------------------------------------------------------------- EID:8 位置: SQLCA 信息 sqlcaid : SQLCA sqlcabc: 136 sqlcode: -2036 sqlerrml: 11 sqlerrmc: e<IMG src="http://www.itpub.net/images/smilies/33.gif" border=0>nlineBk sqlerrp : sqlubMWR sqlerrd : (1) 0 (2) 0 (3) 0 (4) 0 (5) 0 (6) 0 sqlwarn : (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) sqlstate: Op 对象 时间戳记+序列 类型 设备 最早日志 当前日志 备份标识 -- --- ------------------ ---- --- ------------ ------------ -------------- B D 20041222145139001 N D S0000003.LOG S0000003.LOG ---------------------------------------------------------------------------- 包含 2 表空间: 00001 SYSCATSPACE 00002 USERSPACE1 ---------------------------------------------------------------------------- 注释:DB2 BACKUP SAMPLE ONLINE 开始时间:20041222145139 结束时间:20041222145202 状态:A ---------------------------------------------------------------------------- EID:10 位置:g<IMG src="http://www.itpub.net/images/smilies/33.gif" border=0>nlineBkSAMPLE.0DB2NODE0000CATN000020041222 如果DB2前滚出错时,此时数据库是PENDING的,我们需要手工终止 连接报错 "C:>db2 connect to sample SQL1117N 由于 ROLL-FORWARD PENDING,不能连接或激活数据库 "SAMPLE"。 SQLSTATE=57019" 对DB2做ONLINE备份,也不能消除PENDING状态 "C:>db2 backup db sample online to g<IMG src="http://www.itpub.net/images/smilies/33.gif" border=0>nlinEBk SQL2406N 因为必须前滚数据库,所以不能执行 BACKUP。 SQLSTATE=57019 此时需要我们做: db2 rollforward db sample stop</FONT></P> |
|
|