天地不仁,以万物为刍狗!

db2 多节点备份和恢复过程

上一篇 / 下一篇  2008-04-24 11:29:06 / 个人分类:db2

提要 通过举例详细说明了恢复 DB2 分区数据库增量备份映象文件的具体实现步骤。
fagJvg0正文 对于 DB2 分区数据库来说,其非增量备份映象的恢复操作是可以通过仅发出两条恢复命令来完成的,即先恢复编目分区的备份,再恢复其它分区的备份。但如果要恢复分区数据库的增量备份映象,由于要对恢复的增量备份映象的时间戳记使用 db2ckrst 这一检测增量备份映象恢复顺序的实用程序进行检测,以获取恢复操作的命令序列,而各分区的增量备份映象的时间戳记又不可能完全相同,因此对于编目分区外的其它分区,不可能再通过一条命令来恢复这些分区的增量备份映象了,而必须针对每个分区,分别使用 db2ckrst 获取恢复命令的操作序列,并根据所取得的命令分分区进行恢复操作。ITPUB个人空间.b+N'cU4cNw

{i7z+y h"Y)J0这里就以一个具有 4 个节点的分区数据库 SAMPLE 为例,说明对于 DB2 分区数据库增量备份进行恢复操作的具体步骤。ITPUB个人空间nI_'dz)q,I3W

0Q[7shzB/w:XN0一. DB2 分区数据库的增量备份操作:
0jU[-`/CI u`$X%U\0ITPUB个人空间j [f4Ub
1. 检查并修改数据库参数设置:ITPUB个人空间5Cr%\ l6d d;P L

p(R AG]#f X9`,TJ0数据库可进行增量备份的一个必要条件是要启用 TRACKMOD 这一数据库参数。仅当 TRACKMOD 被设为 ON 时才可执行对数据库进行增量备份的操作。为检测该参数当前的状态,可使用:ITPUB个人空间v J~T}3n
ITPUB个人空间_}B3G'za jJm%}n
db2_all "db2 get db cfg for sample" |grep "TRACKMOD" --(Unix 平台)
x x d I{0hv0db2_all "db2 get db cfg for sample" |find /i "TRACKMOD" --(Windows 平台)ITPUB个人空间Ztk"z%fB
ITPUB个人空间h| z \p
该命令将返回所有分区上 TRACKMOD 的设置。如果输出显示不是所有分区上的设置都为 ON 这一打开状态,可用下述命令修改此设置为打开状态(假设要修改的分区号为 3):
'R}'cH7X2A0
C3y'Q`!~8@(R#SF0db2_all "<<+3< db2 update db cfg for sample using trackmod on"ITPUB个人空间 L"p2w&|U\
ITPUB个人空间K5k%AN#_$I
如果整个数据库的 TRACKMODE 参数均未打开,可使用如下命令对所有分区进行修改:ITPUB个人空间/XIp`yG;U
ITPUB个人空间,c0Y@1p [ xE@
db2_all "db2 update db cfg for sample using trackmod on"ITPUB个人空间'j N)B~g0A5U__
ITPUB个人空间y;gQV?G

p5Np2q} ~,~g02. 对分区数据库的脱机全备份操作:
!{(W$v!IZ]Prng0ITPUB个人空间z#U9?/L Hy)_p
当修改了参数的设置后,首先需要对分区数据库进行一次完整的脱机全备份操作,后续的增量备份映象都是建立在这一备份映象的基础之上的。备份的命令为(这里未使用分区并行操作的备份方式):
_;A8@%gb%PK|6c-j0
W.b/{UG} xK0db2_all "db2 backup db sample"
m#` F.HC!B4H0
+mw0bL:H-X5i N0备份操作将在各个分区上被执行,备份结束后,在放置备份映象的路径下(此处为当前路径)使用命令 ls,可查看到上述命令产生的,分别对应于四个分区的备份映象文件,如:ITPUB个人空间.g,QQoE;Gk.P

,d$A|D4_ X7?F^0SAMPLE.0.db2v8eee.NODE0000.CATN0000.20040429142824.001ITPUB个人空间'mS/Qo I1ov t
SAMPLE.0.db2v8eee.NODE0001.CATN0000.20040429142843.001ITPUB个人空间n2K8H NJK6L
SAMPLE.0.db2v8eee.NODE0002.CATN0000.20040429142857.001ITPUB个人空间M%B1qR d T ^W7L
SAMPLE.0.db2v8eee.NODE0003.CATN0000.20040429142912.001ITPUB个人空间k^i#^UJ
ITPUB个人空间X_ai*suQ
从上述文件名中包含的时间戳记可以看到,各分区上完成备份操作的时间是不同的。
nX4[Pmef/]*?`0ITPUB个人空间c:f8V"b-m H2Zu#b?5z8a
3. 对分区数据库的增量备份操作:ITPUB个人空间a1_lK1wJ
ITPUB个人空间fl+Epev0L1JA1x dG
在完成了分区数据库的一次全备份操作的前提下,用户可根据数据库的使用情况,考虑对分区数据库进行多次增量备份操作(这里仅以一次非并行方式的增量备份为例进行说明),其命令为:ITPUB个人空间#p_?ZM
ITPUB个人空间R#sN9Iro@
db2_all "db2 backup db sample incremental"
m.Rv@Z,t0ITPUB个人空间c4i0?Kw'`~y
命令执行完成后可得到类似如下的,相应于各个分区的四个增量备份映象文件:
Nvel8Ui^,P0ITPUB个人空间Y,z&{a5L [!G4P8cd7r
SAMPLE.0.db2v8eee.NODE0000.CATN0000.20040429143406.001ITPUB个人空间``hE$t:QLc(h/Uh
SAMPLE.0.db2v8eee.NODE0001.CATN0000.20040429143419.001ITPUB个人空间6sFH P5l
SAMPLE.0.db2v8eee.NODE0002.CATN0000.20040429143433.001ITPUB个人空间x0@ o Fi&x x }{!H
SAMPLE.0.db2v8eee.NODE0003.CATN0000.20040429143447.001ITPUB个人空间L$SM6s u*_3b G$F

Z'PMYg@AH0到此步骤为止,就完成了对 DB2 分区数据库的增量备份操作,下面将介绍如何在必要时恢复这些增量备份映象。ITPUB个人空间?OeT ^*Z
ITPUB个人空间,W(Dtu8c

%v'jc"G;Qy#ev/J0二. DB2 分区数据库增量备份的恢复操作:ITPUB个人空间7D&\|4?*cxfq

v0u j{K(Qs'{0用户创建的增量备份映象,会因备份操作的时间点的不同,而产生多套备份映象。为了恢复某个时间点的分区数据库增量备份映象,用户必须保证在一次恢复操作中使用的各分区的增量备份映象均为同一次备份操作所产生的。
F6zL?1~*o?_#GQ4g0
7p4}0JtL,tZ`c5?/J0由于分区数据库的所有编目表都放置在编目分区中,DB2 在备份或恢复时要求独占该分区,因此在对其它分区进行恢复操作之前,应首先完成该分区的增量备份的恢复操作,然后再依次对其它节点进行恢复。这里假设我们要恢复上述步骤 3. 中产生的一套增量备份映象文件。ITPUB个人空间7Mo.mc}2J,R

)R*x2ja6l4t01. 在编目分区上进行增量备份的恢复步骤:
zN,B |XB0
(U3Mq+ac9`,JS01)获取编目分区号:ITPUB个人空间7O pL^h
ITPUB个人空间N]Bxo4n.o/Z1B!X
用户可利用如下命令确定分区数据库中哪个分区为编目分区,以便首先完成该分区的恢复操作:ITPUB个人空间$]+B?"C"^L
ITPUB个人空间GG_4S I[7d#S
db2 list db directory
Un jv6\$c0
R*K A t#ZLu'I~DhkV0Database 7 entry:ITPUB个人空间&} J'z|U^`

9W&Mrmz-} S#Ej0Database alias = SAMPLE
Va ida'f${0Database name = SAMPLEITPUB个人空间 Y c*b#{0HK+i"J#U
Local database directory = /home/public/db2v8eee
1e H,h%sB$ys6^UK0Comment =ITPUB个人空间 y.h`d&w/H1y
Directory entry type = Indirect
B[n%Qb n(e+A,T#H0Catalog database partition number = 0
ky9NB6EL0
[N'`vf {$X0从命令输出的最后一行“ Catalog database partition number(目录数据库分区号)”中可知编目分区号为 0。ITPUB个人空间}&c?Kh/@ \z9O2l

:s X Rb&\ w02)获取恢复操作的命令序列:
y x(a2mY3P_P0
M _sw+|zsl0_0与单分区增量备份的恢复步骤相同,用户首先需要使用 db2ckrst 检测增量备份映象恢复操作的命令序列。从步骤 3 中的增量备份文件的文件名:
!dNX`@k:go0ITPUB个人空间.G9{@\;N,o^gu r
SAMPLE.0.db2v8eee.NODE0000.CATN0000.20040429143406.001ITPUB个人空间7@1O{7`8s A8_

%j1[|\av#b2u5N!x0
,}U]3_4Ok0中可知,编目分区为 0 的增量备份的时间戳为:20040429143406,则使用 db2ckrst 的命令为:ITPUB个人空间!e3}2r$~`K

y`2Z Y9ZOU5a0db2_all "<<+0< db2ckrst -d sample -t 20040429143406"
#Tz%o!rPdx0
)QGH+?Q'Vn5t0命令执行后,在屏幕上会有类似的如下输出:ITPUB个人空间-^u#N7b xi'z J3b
ITPUB个人空间 C\%whB
Suggested restore order of images using timestamp 20040429143406 for
4J Z3Z |)`\!S~0database sample.ITPUB个人空间 o&O"w{lf
====================================================ITPUB个人空间 `mF1apR J]^
restore db sample incremental taken at 20040429143406
6c~8iwZ _M0restore db sample incremental taken at 20040429142824ITPUB个人空间:E,C7^:e?2j
restore db sample incremental taken at 20040429143406ITPUB个人空间OB K,M~;fbI
====================================================ITPUB个人空间6~:~0CU"[;S"Cu6k
ITPUB个人空间b^(Z2c OM%l
3)恢复增量备份映象:
erb&Y|RQGGic0ITPUB个人空间K"Y_#X@yBG
按照上述给出的命令完成 0 号编目分区的增量备份映象的恢复操作:ITPUB个人空间;]} Q-zc@v*~

vhe]_H.Vnm0db2_all "<<+0< db2 restore db sample incremental taken at 20040429143406"ITPUB个人空间#B}Fq*o n$Vr
db2_all "<<+0< db2 restore db sample incremental taken at 20040429142824"
w|"EH,j B%d0z7_1y.R0db2_all "<<+0< db2 restore db sample incremental taken at 20040429143406"ITPUB个人空间,WRo6|m [1] e
ITPUB个人空间j[&m4{.Xvup
2. 在除编目分区外的其它分区上进行增量备份的恢复步骤:
!x+}H;N3z j7o0
[PU5R6}`/wYp.]0在完成了编目分区的恢复操作后,便可以类似编目分区恢复操作的顺序对其它分区依次进行增量备份的恢复操作了,需要注意的是,如上面已经提到的,由于是对增量备份进行恢复,所有无法对其它分区进行并行的恢复操作。这里以分区 3 为例加以说明:ITPUB个人空间qjJ~9j
ITPUB个人空间 e,\;Mz^&Oh$wa
1)获取恢复操作的命令序列:ITPUB个人空间E?'m:fS#m

D1I7BvQ*R$\n1q03 号分区的增量备份映象文件名为:ITPUB个人空间$uU'i}%Pv

s4M Ylu4L0SAMPLE.0.db2v8eee.NODE0003.CATN0000.20040429143447.001
}_z#VF*LB-NY0gi M0ITPUB个人空间4ET*y'Yr \OF
利用 db2ckrst 取得恢复操作的命令序列的命令为:ITPUB个人空间U L5W&Q'X^/s y
ITPUB个人空间zb6t@ Q(W
db2_all "<<+3< db2ckrst -d sample -t 20040429143447"
q_Ig iZm*\e1f;b0
/DPD0m1z;Y/gn+k0其输出为:
P6l8WCc0
r!D}o!P3KA v0Suggested restore order of images using timestamp 20040429143447 for
N{!y+l K)b$pa0database sample.ITPUB个人空间9T:]${8M:g:f*[/q9Ei
=====================================================ITPUB个人空间Zn+G*kq U
restore db sample incremental taken at 20040429143447
9e&D4Z(W$`(V0restore db sample incremental taken at 20040429142912ITPUB个人空间(t3Y&[n:n\
restore db sample incremental taken at 20040429143447ITPUB个人空间.kz)tQYGp*C)x
=====================================================ITPUB个人空间 _^0x5L#c
ITPUB个人空间:S Qv/K'y9?ua
2)恢复增量备份映象:ITPUB个人空间 DO6C7Vj m W*@"Vs

'o F%v)@!]2T(b!j8D0依次执行上述输出中步骤中所取得的输出序列,便可完成该分区的恢复操作:
)U?(u&f.Ch0
a1W&w?F!M/`@0db2_all "<<+3< restore db sample incremental taken at 20040429143447"
LPnlR"y6}{/k0db2_all "<<+3< restore db sample incremental taken at 20040429142912"ITPUB个人空间\W+V7|2?u2P%c9~K:@
db2_all "<<+3< restore db sample incremental taken at 20040429143447"ITPUB个人空间-`5Y}*}\(mAq
ITPUB个人空间DHU#UfQoJ(H
对于其它分区增量备份的恢复,只需依次重复上述步骤进行恢复即可,当最终完成了该分区数据库的增量备份的恢复操作后,分区数据库中的数据将重新处于完整的,保证了一致点的正常状态,以供用户连接使用。

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-26  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 4857
  • 日志数: 257
  • 文件数: 2
  • 建立时间: 2007-12-01
  • 更新时间: 2008-07-25

RSS订阅

Open Toolbar