a3470194
作者a3470194·2013-07-05 12:07
系统工程师·北京瑞银信

DB2在线增量备份和恢复-转载

字数 1367阅读 2909评论 1赞 0
DB2在线增量备份和恢复 

Ø 为什么要进行在线增量备份?

在线意味者备份的时候,允许其他的连接,而不用停掉数据库

增量意味着,不需要每次备份一个超大的数据库.

同时意味着你可以将数据库恢复到崩溃前的状态,而不是你最后一次备份时的状态,最大可能的减少数据损失.

Ø 设置数据库以支持在线增量备份

db2在线增量备份需要采用归档记录类型,而不是循环记录类型,db2创建的数据库缺省采用循环记录类型,要设置归档记录类型有两种方法:

更改logretainrecovery或者on,

改改userexiton

这样db2的日志将不会循环使用,而是不断增多,这样才有可能进行增量备份,并将数据库恢复到崩溃的时间点db2增量备份需要设置tracemodon,这样数据库将在物理页上记录更改的部分页,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 条评论

zhendazhenda数据库管理员昆仑银行
2013-11-12 15:52
tsm 中如何使用db2ckbkp 命令
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广