Ø 为什么要进行在线增量备份?
在线意味者备份的时候,允许其他的连接,而不用停掉数据库
增量意味着,不需要每次备份一个超大的数据库.
同时意味着你可以将数据库恢复到崩溃前的状态,而不是你最后一次备份时的状态,最大可能的减少数据损失.
Ø 设置数据库以支持在线增量备份
db2在线增量备份需要采用归档记录类型,而不是循环记录类型,而db2创建的数据库缺省采用循环记录类型,要设置归档记录类型有两种方法:
l 更改logretain为recovery或者on,
l 改改userexit为on
这样db2的日志将不会循环使用,而是不断增多,这样才有可能进行增量备份,并将数据库恢复到崩溃的时间点db2增量备份需要设置tracemod为on,这样数据库将在物理页上记录更改的部分页,做dirty标记
下面是一个脚本可以设置这些:
connect to testdb;
update db cfg using logretain on;
update db cfg using trackmod on;
db2stop force;
db2start;
通常应该再设置mirrorlogpath以备份db2日志,
update db cfg using mirrologpath 你认为安全的路径
Ø 如何进行在线备份?
backup db testdb online to 备份路径(全备份)
backup db testdb online incremental to 备份路径(增量备份)
backup db testdb online incremental delta to 备份路径(delta备份)
Ø 如何使用备份文件进行恢复?
1.查看备份文件的时间点,并验证是否可用
db2ckbkp -h d:/db2bak/TEST.0/DB2/NODE0000/CATN0000/20050523/225141.001
2.让db2告诉你进行恢复的命令序列
db2ckrst -d test2 -r database -t 20050529210521
3.执行上个命令给出的命令序列
将会将数据库还原到备份的时刻,之后应该执行日志前滚(此时数据库处于前滚暂挂状态,将无法使用)
rollforward db testdb to end of logs and complete
当然如果你认为不需要前滚(这样将丢失最后一次备份之后的更改),也可以
rollforward db testdb stop
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论1 条评论
2013-11-12 15:52