DB2数据库离线和在线全备、增量
备份及恢复的具体操作步骤:
w+z/m8r]2r#rs^0 1、离线全备份
ITPUB个人空间R'Y
e/V&Zt^^ITPUB个人空间;o%xR9|O]H8K (1)、首先确保没有用户使用DB2:
0a*})s7F4Q$~4y[*\0ITPUB个人空间Fp^\ hMd.F\$db2 list applications for db sample
2ZMi:M(s0Ygm)h"_g0 (2)、停掉
数据库并重新启动,以便断掉所有连接:
W:Kq7ymo0M1d'hW \.L0ITPUB个人空间"a+Tx&qNh0J%pydb2stop force
ITPUB个人空间:j-b aMz-I/GS
f-Hc
_pb5H.j0db2start
ITPUB个人空间V&D"@i&h+g$@;v#~4wa"c\&qqT0 (3)、执行备份命令:(使用TSM作为备份的介质)
^6D F5z u[j4p0ITPUB个人空间d(eM3l!dg%Qdb2 backup db sample use tsm
ITPUB个人空间6E9a+K*v/pITPUB个人空间|
Q0f3hW\,AmV 备份成功,将会返回一个时间戳。
ITPUB个人空间d
fs&SCE9h3tITPUB个人空间S3^O Ypj3a H (4)、检查备份成功:
ITPUB个人空间9VMy:~)`kD
W)Z1[+B5VNo-m!LX0Db2 list history backup all for sample ,可以看到多了这个备份的纪录。
t^{-L(`0ITPUB个人空间 {,E9Nf)H~Db2adutl query命令也可以看到返回值。
ITPUB个人空间4O?~+Vm6^+K.Q (5)、备注:
ITPUB个人空间'Lm
e|Usf5}ITPUB个人空间]I8B&h
D 首先对主节点(catalog表空间在的节点)执行备份命令,再对另外的节点也做这个操作。
ITPUB个人空间0tk#L]5]4\i9xGs5STh&A4V%T:L0 2、 在线备份:
o#FMFAq*L0 ?;WGt)`9s0|P1II0 (1)、首先打开一下支持在线备份的数据库配置参数:
o GS)R4P b0+Ij$y1zEV0db2 update db cfg for sample using userexit on 启用用户出口
ITPUB个人空间i2hiGhL M0L,DqpITPUB个人空间7Q
J\{X f ?2@db2 update db cfg for sample using logretain on 启用归档日志
.QoS1N/{s2@-h
Q9^Q0\!|I{GJ
n0db2 update db cfg for sample using trackmod on 启用增量备份功能
ITPUB个人空间i4^Fsj3[
U:YqITPUB个人空间?xV2M.C
rk+K (需要各个Node都分别做设置)
ITPUB个人空间qFnl5kQ0aSITPUB个人空间#HX3a6rED?~ HU 开启这些参数后,数据库处于backup pending状态,要求做数据库的离线全备份。做一下离线全备份,参考上面的命令。
ITPUB个人空间(s-^q"d/}@ (2)、在线备份命令如下:
ITPUB个人空间w+V X;~%_K eXITPUB个人空间)MU.a(JIkdb2 backup db sample online use tsm
ITPUB个人空间`T4w` D:W1X
ToLcB!|DT$|q0 备份成功,返回一个时间戳。
ITPUB个人空间 ~c;}4?AeITPUB个人空间#x_;we}[V5G.YC
u (3)、同样可以用db2adutl 和db2 list history察看备份纪录。
ITPUB个人空间v%QIl4XnLbObZq/G,oK5o2z)H0 3、 在线增量备份
ITPUB个人空间$F_|kYzE4m_ITPUB个人空间'g7P6]+bF*e}h
x (1)、在开启了必须的三个参数的情况下,做增量备份:
ITPUB个人空间5@s
uW#cUeITPUB个人空间;Z(JVW$e]'\db2 backup db sample online incremental use tsm
ITPUB个人空间c,kG*f4p/bx 备份成功,返回一个时间戳。
ITPUB个人空间jE7w0pjVf y,MITPUB个人空间mO NO LL+D"] (2)、同样可以用db2adutl 和db2 list history察看备份纪录。
ITPUB个人空间_0Hai(P3lMQb
o&bF!c6e'~ vb0 (3)、还有一种delta的备份:
,`+NRH9Tvu{0ITPUB个人空间[Kw#{hg_
r-rdb2 backup db sample online
ITPUB个人空间*~'X wr0JlO(cincremental delta use tsm
(VkT h7d i}0mE0ITPUB个人空间4f#dye \5CUN)[D 这两种备份的区别,类似
Oracle Exports的Incremental和Cumulative方式,db2的incremental对应oracle的cumulative方式,而db2的delta方式则对应oracle的incremental方式。
eh3} S4zXl7j0ITPUB个人空间,z+N6_*T;r (4)、备注:同样,对每个节点都做这个操作。
ITPUB个人空间&o!U'S0^:C3?6\3jT7g"p O/h1c,QU X0 4、 恢复数据库
W&t~ ?+x]@(d0ITPUB个人空间+w*l(id
o|o c4z[ (1)、手工drop数据库,模拟灾难恢复的情况,执行如下操作:
v0PM3fqW%](C5J0!e
E|u\] w@0db2 drop db sample
ITPUB个人空间WZz%M-KASJITPUB个人空间I0[^2J9p (2)、恢复备份历史纪录(每次backup,不论类型,都会备份历史纪录文件)。这里的时间戳应该是最新的:
ITPUB个人空间4W7}Us*L O.z\2zg;lx#O0a x
q?0db2 restore db sample history file use tsm
6_ew`S0taken at 20030102223107 buffer 100
ITPUB个人空间VR \
i:d6P vd (3)、使用db2的恢复帮助工具:
z2pfoU
`01Y:Q^}iP-S0db2ckrst -d sample -t 20030101224424 -r database
4Rf6czdWG;Xo0G0^Z@ A6hE0 命令返回建议的必需的恢复操作命令。
ITPUB个人空间Ba1? W{\}$W2h)D L0 (4)、按照帮助工具的提示,先做版本恢复,恢复命令如下:
ITPUB个人空间 ?"WB6hQ-Q)~[?3QVFsw1B_+]0db2 restore db sample incremental use tsm taken at 20030101224424 buffer 100
1O0q6H-LH
h4G0ITPUB个人空间
b
X8{}s]K%N 同样先做主节点的恢复,再做其他节点的恢复操作。
q~.o]7t!w&R0W0s|hF0 (5)、这时数据库处于rollforward-pending state的状态,需要做roll forward 操作:
ITPUB个人空间
a~)v4B,f:la0Pq9?7lF0db2 rollforward db sample to 2003-01-12-13.27.25.000000 on all nodes and stop
EOW;v*E?Q;s-B0d'?d0R pd0 前滚到同一个时间点。这个操作要在主节点来做。
ITPUB个人空间;@&p'gg#nJDzb#qITPUB个人空间1Q6]"\"IF9fq,o5、说明:
Uw.E$s+H2{4x\3h JG0
o8h8]G#Qs,t!t0$i!J9i2PM*_0 (1)、恢复操作也有online和offline的,区别等同backup的操作。
J7bb(o%v0j'yO%p b:s9@0 (2)、按照表空间的备份和恢复类似,加子句TABLESPACE ( tablespace-name 即可。表空间级别的备份/恢复操作要求数据库处于归档日志和启用增量备份模式下。
%l9T+n&]6P0ITPUB个人空间 lC4_&HJ;i8m%d.e (3)、恢复的例子中只做了版本恢复。若还有更新的全备份和增量备份的image,可以依次做恢复(请注意使用db2ckrst的建议恢复次序和次数)之后,最后做roll forward.
ITPUB个人空间p(K1Z)d[ITPUB个人空间Lgo*| D3u_g(hj (4)、备注:
pL|
{:Fu(RD0ITPUB个人空间7akoe?C2n j 同样,对每个节点都做这个操作。