当前位置: 首页 > 图文教程 > 数据库 > DB2 > 备份恢复DB2数据库步骤

DB2
IBM DB2 日常维护汇总(八)
IBM DB2 日常维护汇总(七)
IBM DB2 日常维护汇总(五)
IBM DB2 日常维护汇总(四)
IBM DB2 日常维护汇总(三)
IBM DB2 日常维护汇总(二)
IBM DB2 日常维护汇总(一)
DB2常用傻瓜问题1000问(六)
DB2常用傻瓜问题1000问(五)
MySQL数据库结构和数据的导出和导入
DB2编程序小小技巧
在DB2中提高INSERT性能的技巧(1)
db2v8的pdf文档资料
DB2 9数据服务器发展3部曲
对比DB2 9和DB2 V8.x中的XML功能
用shell抽取,更新db2的数据
IBM DB2 Connect简介(1)
使用XQuery查询DB2 XML数据
DB2 9产品说明书在线参考地址(http)
使用SQL查询DB2 9中的XML数据

备份恢复DB2数据库步骤


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 85 ::
收藏到网摘: n/a

  一、设置归档参数:

  1、db2 update db cfg for using mirrorlogpath /home/db2inst1/mirror_log/ //mirror log

  2、db2 get db cfg for //确认是否成功

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

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

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

  6、db2stop force

  7、db2start

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

  二、备份在线数据库

  9、db2 backup db online to /home/db2inst1/on_back/ //在线备份

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

  11、db2 list history backup all for //查看备份记录

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

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

  三、恢复在线数据库

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

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

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

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

  有一点不认同:“先恢复完全备份,然后在恢复增量备份”

  对于增量恢复,你的做法正好反了,你这样做的话,会收到SQL2574N的错误信息。

  在db2ckrst里面已经清楚的告诉你恢复的顺序。

  下面是测试备份镜像中包日志的备份和恢复的步骤:

  注:/home/db2inst1/on_back/ #为备份文件位置

  /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #为数据库的log位置,通过db2 get db cfg for 得到。

  10、 db2stop force;db2start;db2 drop db #模仿灾难发上,drop数据库。

  20、 db2 backup db online to /home/db2inst1/on_back/ include logs #备份带日志的镜像文件

  21、 db2 backup db online incremental to /home/db2inst1/on_back/ include logs #备份带日志的增量镜像文件

  30、 db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢复时间戳在20070612070526的数据镜像和日志文件

  40、 db2 rollforward database to end of logs and complete //回滚log日志

  在“10”中已把数据库drop了,“20”中如何做online backup呢?

  注:/home/db2inst1/on_back/ #为备份文件位置

  /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #为数据库的log位置,通过db2 get db cfg for 得到。

  10、 db2 backup db online to /home/db2inst1/on_back/ include logs #备份带日志的镜像文件

  20、 db2 backup db online incremental to /home/db2inst1/on_back/ include logs #备份带日志的增量镜像文件

  30、db2stop force;db2start;db2 drop db #模仿灾难发上,drop数据库。

  40、 db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢复时间戳在20070612070526的数据镜像和日志文件

  50、 db2 rollforward database to end of logs and complete //回滚log日志