db2在线增量备份还原测试:
系统:window xp
数据库:testdb
数据库要能进行在线(logretain)、增量备份(trackmod),需要修改相应的参数,参数修改之后,与数据库相连的所有应用断开了,修改才会生效。此时,数据库处于暂挂状态,需要做一次离线备份。
1. --修改数据库参数,使之支持在线联机备份
db2 update db cfg for TestDB using logretain on trackmod on 或者 db2 update db cfg using logretain on trackmod on
2. --可以指定归档日志的存放路径,如将其存入d:\db2arch_log下,脚本如下:
db2 update db cfg using logarchmeth1 disk:d:\db2arch_log
3. 以上备份策略是在logretain、trackmod都为on的情况下,即采用归档日志的情况,还原时需要回滚日志。如果采用循环日志,即trackmod为on,logretain为off的情况
-
=---=-----
--数据库联机备份以及还原实验
--连接至数据库并插入测试数据
db2 connect to TestDB
--插入测试数据
INSERT INTO test(Message) VALUES(''开始联机数据库备份测试--完全备份'');
--修改数据库参数,使之支持在线联机备份
db2 update db cfg for TestDB using logretain on trackmod on
--执行增量、在线备份之前必须执行离线全备份一次,否则数据库将处于备份暂挂的不可用状态
--(联机完全备份,时间戳记:20071121160548)
db2 backup db TestDB online to d:\backup
--连接至数据库并插入测试数据
db2 connect to TestDB
--插入测试数据
INSERT INTO test(Message) VALUES(''开始联机数据库备份测试--增量备份'');
--执行联机备份,备份同时再打开一个会话,模拟应用在线(联机增量备份,时间戳记:20071121152922)
db2 backup db TestDB online incremental to D:\backup
--模拟灾难,删除数据库!
----------重要,此前一定要将活动日志文件备份至另一个路径,保存好,本例中,活动日志保存在 C:\db2admin 下。
百度数据恢复--db2 get db cfg for testdb 可到日志存放路径,将其下所有日志文件备份至另一个路径保存
db2 drop db TestDB
--根据在线完全备份恢复数据库
db2 restore db TestDB from D:\backup taken at 20071121160548
--根据在线增量备份恢复数据库
db2 restore db TestDB incremental automatic from D:\backup taken at 20071121152922
--恢复后的数据库处于前滚暂挂的不可用状态
db2 connect to TestDB
--前滚数据库,并指定归档日志位置,重要!
db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE OVERFLOW LOG PATH ("C:\db2admin")
注意:
1. 联机备份数据库可以使数据库在备份的同时仍然保持在可用状态.要让数据库支持联机备份,必须更改数据库的日志归档方式。在脱机备份模式
下,数据库 采用循环日志方式记录数据库日志,在联机备份模式下,数据库则采用归档日志的方式备份数据库日志
1. 对于联机备份的数据库来说,活动日志和归档日志就 很重要了,一定要经常备份、保存。
说明:
默认情况下只能对数据库进行离线(脱机)备份,备份时需要断开与备份数据库相连接的进程
我们一次性修改logretain 、trackmod、userexit 为 on 状态,因为实际应用中多以在线完全备份、在线增量备份为主,此时可以进行任何一种备份。需要强调的是,只要启用了归档日志(logretain=on),就可以进行在线备份,而此时不论是在线备份还是离线备份,还原数据库时都需要回滚日志,才能恢复正常,为此对日志(特别是活动日志)的保存值至关重要的。只要启用了trackmod=on,就可以进行增量备份(累计增量备份和delta增量备份)。如果采用delta增量备份,还原时还要注意还原的顺序(使用automatic让系统自动检索还原顺序自动还原数据库)。
备份还原测试得到的结论:
备份:
1. 第一次全量备份编号为1,多次增量备份编号分别为2,3,4,5,6,7,8
2. 将编号为2,3,4,5,6,7的增量备份删除
3. copy数据库日志文件至另一个目录,再drop数据库
还原:
1. 首先,还原编号为1的全量备份
2. 然后,还原编号为8的增量备份(还原增量备份时,若删除了某些增量备份,则需要要使用关键字automatic,否则在执行回滚操作时,会失败,并提示
SQL1119N 因为先前复原不完整或者仍在进行,所以不能连接或激活数据库 "TESTDB"。
SQLSTATE=57019)
3. 执行rollforward操作
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论