日期:2014-05-16  浏览次数:20505 次

[转载] DB2备份恢复数据库步骤

转载自:?http://bbs.chinaunix.net/thread-946752-1-1.html


一、设置归档参数:

1、db2 update db cfg for <db_name> using mirrorlogpath /home/db2inst1/mirror_log/? ? ? ? ? ? ? ? //mirror log

2、db2 get db cfg for <db_name>? ? ? ? ? ? ? ? ? ? ? ? //确认是否成功

3、db2 update db cfg for <db_name> using userexit on? ? //启用用户出口

4、db2 update db cfg for <db_name> using logretain on? ? //启用归档日志

5、db2 update db cfg for <db_name> using trackmod on? ?//启用增量备份功能

6、db2stop force

7、db2start

8、db2 backup db <db_name> to /home/db2inst1/off_back? ? ? ? //开始上面参数后,数据库处于backup pending状态,要求做数据库的离线备份,否则会提示SQL1116N错误。

二、备份在线数据库

9、db2 backup db <db_name> online to /home/db2inst1/on_back/? ? ? ? //在线备份

10、db2 backup db <db_name> online incremental to /home/db2inst1/on_back/? ? ? ? ? ? ? ? //在线做增量备份

11、db2 list history backup all for <db_name>? ? ? ? //查看备份记录

12、db2 get db cfg for <db_name>? ? ? ? //查看log所在位置,cp到一个安全目录,供rollforward使用。

13、db2stop force;db2start;db2 drop db <db_name>? ? ? ? ? ? ? ? //手工drop数据库,模拟灾难恢复的情况

三、恢复在线数据库

14、db2ckrst -d <db_name> -t 20070608032820 -r database? ? ? ? //帮助工具提示恢复

15、db2 restore db <db_name> incremental from /home/db2inst1/on_back taken at 20070608032820? ? ? ? //恢复数据文件

先恢复完全备份,然后在恢复增量备份,不能自动寻找完全备份文件。

16、db2 rollforward database <db_name> to end of logs and complete overflow log path '(/home/db2inst1/log)'? ? ? ? //前滚日志

如果用import进行数据库恢复,有时还需要重设identity column name(如ID)起始值

alter table <table name> alter <identity column name> restart with <new value>

?