gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:1967回复:0

DB2的备份和恢复的测试

楼主#
更多 发布于:2005-01-20 13:56
<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>
喜欢0 评分0
游客

返回顶部