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

DB2数据库离线、在线全备、增量备份及恢复

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

DB2数据库离线和在线全备、增量备份及恢复的具体操作步骤:ITPUB个人空间A%N(dy T5X
  1、离线全备份
-TOxC~V0
!FS ~$A8m4^1X,b0  (1)、首先确保没有用户使用DB2:
;Uzi{B gau'u,p'P0ITPUB个人空间gU/_5[RQ%a
$db2 list applications for db sample
&gd Lk B1]AlgA0ITPUB个人空间YwSW8Z{2~u%~T WG9k
  (2)、停掉数据库并重新启动,以便断掉所有连接:
o.` t+| W0
N"A(XE7s ET0db2stop force
.^*y o EL_!r0ITPUB个人空间U"|)mJ'k
db2start
S4fvBH0
'wB1Z#[ i#A&k$K#C QW0  (3)、执行备份命令:(使用TSM作为备份的介质)
N8[GdpDx wN0
p8Cf!`%i;Cr0db2 backup db sample use tsm
B/s%yP(G|0
S Y2WJ1V0  备份成功,将会返回一个时间戳。
{ a:~ya!u4X1s;^0ITPUB个人空间b;_&i5ZB ~
  (4)、检查备份成功:
3q;Ez5X+ju M c0
].WR-sb6f0Db2 list history backup all for sample ,可以看到多了这个备份的纪录。ITPUB个人空间A!G)^8R&Vl;y

s?0Uu'`/eHS k1v0Db2adutl query命令也可以看到返回值。
,h!u_"cr&Q2v.c0  (5)、备注:ITPUB个人空间Z2G^/U;z
ITPUB个人空间0RMr2y"i)ycR
  首先对主节点(catalog表空间在的节点)执行备份命令,再对另外的节点也做这个操作。ITPUB个人空间+U!dkN[Cd

;jz uh!o%Nz,h(X0  2、 在线备份:ITPUB个人空间 ^y0K/@/HP*A%M7i#X
ITPUB个人空间2N"|)XSzN m3`Q} T
  (1)、首先打开一下支持在线备份的数据库配置参数:ITPUB个人空间#[#f8h?$o6n

o*p,CqL'I]4G$S0db2 update db cfg for sample using userexit on 启用用户出口
,d.Lk9ngee0ITPUB个人空间 MDL U:G(h2S+b~:N
db2 update db cfg for sample using logretain on 启用归档日志
kJ~0|.qz'~5h0
Kk$|7V_wf0db2 update db cfg for sample using trackmod on 启用增量备份功能ITPUB个人空间 g5L/v4p[S

y6d6_{*?0  (需要各个Node都分别做设置)
G^R;R,Bf0ITPUB个人空间6t8B)M#Y0w
  开启这些参数后,数据库处于backup pending状态,要求做数据库的离线全备份。做一下离线全备份,参考上面的命令。
f0QE3\N0  (2)、在线备份命令如下:ITPUB个人空间9{s5ZGZC'`6A:Ho

;P,m3S0}1|K$M wNQ0db2 backup db sample online use tsmITPUB个人空间R4q+O7MxV4T-W H

#I:kw K)H&jTv|0  备份成功,返回一个时间戳。ITPUB个人空间~zmd:s2AMf5T7eq
ITPUB个人空间%?|9?i,T4?%M
  (3)、同样可以用db2adutl 和db2 list history察看备份纪录。
,mT%I i,I I0ITPUB个人空间{5O!O D&pZ!W2M
  3、 在线增量备份ITPUB个人空间1s H"L&EB,k;BCXxV

uX `8uS0  (1)、在开启了必须的三个参数的情况下,做增量备份:
%hs\vH0
l4\)i1c f$M0db2 backup db sample online incremental use tsmITPUB个人空间e*H_L8jsAn5J
  备份成功,返回一个时间戳。
/]*x\ Z:h0ITPUB个人空间JO~~ iuftr-b
  (2)、同样可以用db2adutl 和db2 list history察看备份纪录。ITPUB个人空间aU$q)Mk
ITPUB个人空间W9pges%[3R8~f
  (3)、还有一种delta的备份:ITPUB个人空间]3a(pX#Uz6G

w evd |z Q-V0db2 backup db sample online
1b1j1kG$[4o7{]0incremental delta use tsmITPUB个人空间*z4TCzljqg

om7Ot [7g-P;D0  这两种备份的区别,类似Oracle Exports的Incremental和Cumulative方式,db2的incremental对应oracle的cumulative方式,而db2的delta方式则对应oracle的incremental方式。
6rlz4N;KL,tf2j0
"Zn%wHG5HO0  (4)、备注:同样,对每个节点都做这个操作。ITPUB个人空间5m;a:e$oDi i I!IR0Q

gjyg,b+v0  4、 恢复数据库
|!Sxxx D/cc0
&]P;w9^5F0  (1)、手工drop数据库,模拟灾难恢复的情况,执行如下操作:
[d(yHa[3Z0G4f b/L0ITPUB个人空间3kDW{TA
db2 drop db sample
(sR J Q*Y0ITPUB个人空间 {u-Y]6E` I)~0T
  (2)、恢复备份历史纪录(每次backup,不论类型,都会备份历史纪录文件)。这里的时间戳应该是最新的:
uk} hQw+\c4F0
@ O8o6}b i2J HE0db2 restore db sample history file use tsmITPUB个人空间i wE xH)I
taken at 20030102223107 buffer 100
q!FF5~[!i(tYP?0  (3)、使用db2的恢复帮助工具:
0E4k&Sw8jv0ITPUB个人空间7Um'I4H)qc%s.C@
db2ckrst -d sample -t 20030101224424 -r databaseITPUB个人空间m~{/M6@d*Z
ITPUB个人空间+?*g$I0uZ9UBEu
  命令返回建议的必需的恢复操作命令。ITPUB个人空间?%x*q*VU Gs

V(h$W4c8R(HC0  (4)、按照帮助工具的提示,先做版本恢复,恢复命令如下:
o u0^V([c$?-M:C0ITPUB个人空间2G1L5K_i+qV&Q-f N
db2 restore db sample incremental use tsm taken at 20030101224424 buffer 100
[R0F@6oMNz0
i;bKfu7t)~0  同样先做主节点的恢复,再做其他节点的恢复操作。ITPUB个人空间)L O%h qH3i7u

'DJ@X$d.A4?W0  (5)、这时数据库处于rollforward-pending state的状态,需要做roll forward 操作:
:w%G~4N$k$z!U1m0
a9En6O7C|pY-C0db2 rollforward db sample to 2003-01-12-13.27.25.000000 on all nodes and stop
~|T$k0P3\b:z)J0
,Ye'~([N2kj[0  前滚到同一个时间点。这个操作要在主节点来做。
}V{,`-w5`S0
a;Va;E+F2y I7N05、说明:
2HTOhv M9q7V0ITPUB个人空间yqP1nX z
ITPUB个人空间;u"u*MzaJY
  (1)、恢复操作也有online和offline的,区别等同backup的操作。
"sE PH.I ad#j0
'}#_3{+NP#c;cJ0  (2)、按照表空间的备份和恢复类似,加子句TABLESPACE ( tablespace-name 即可。表空间级别的备份/恢复操作要求数据库处于归档日志和启用增量备份模式下。
2q ?LYN0RS0ITPUB个人空间/YxY0jn4yv*x7LB
  (3)、恢复的例子中只做了版本恢复。若还有更新的全备份和增量备份的image,可以依次做恢复(请注意使用db2ckrst的建议恢复次序和次数)之后,最后做roll forward.
?J4YEz!I)`)W0ITPUB个人空间 E3s JY"gqS0l"C6x%`3R
  (4)、备注:
x*v4bP0yWw0
I,@t$@dd0  同样,对每个节点都做这个操作。

TAG:

 

评分:0

我来说两句

显示全部

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

Open Toolbar