恢复(RESTORE)数据库

1、新建数据库

在一般管理工具, 创建数据库(别名要和原来的数据库别名一致)。

2、恢复数据库

1):断开连接:将网络断开,切断所有的客户连接,如果不行,先重启。(如果有客户端连接到DB2服务器,恢复不行的,包括控制中心)
2):恢复离线备份:
   设:
   你的备份那个DB2文件在:C:Temp
   你的数据库名称:DBName
   那么对应DB2的备份/恢复文件的格式是这样的:
   C:TempDBName.0DB2CTLSVNODE0000CATN000020090706HHMMSS.001
备份时你只是指定了一个C:Temp目录,后面那么目录为DB2备份时生成。
   然后是它的文件名,一般格式是:HHMMSS.001,即:小时分钟秒数.001,也就是说后面那个20020828是备份日期,文件名是备份时间。
  
   好,清楚后,你就可以写SQL命令进行恢复了
   运行: Start->Program->IBM DB2->Command Center
   然后:不要登陆,直接输入下列命令:
  
以下为引用的内容:
RESTORE DATABASE NewDBName FROM C:\Temp\ TAKEN AT
20020919094932
TO D: INTO OldDBName WITH 2 BUFFERS BUFFER 1024
WITHOUT PROMPTING  
  你要改
  NewDBName ==》你的新建数据库名称
  C:\TEMP\ ==> 你备份DB2的目录,像上面所说
  20020919094932 ==> 一看你DB2的目录和文件组合成这东东
  D: ==> 新建的数据库放在哪个盘上
  OldDBName ==> 备份前那个数据库叫什么
  
  好了,CTRL+ENTER, 如果不行请检查,如果再不行,请重启,如果再不行,。。。阿门,上帝保佑你
3):实例
  备份文件路径:C:Tempipmdemo.0DB2CTLSVNODE0000CATN000020090622164642.001
       其中,备份日期:20090622       备份文件:164642.001
  新建数据库名:ipmdemo
  数据库文件时间戳: 20090622164642
     恢复命令为:db2 restore database ipmdemo from C:Temp taken at 20090622164642

3、恢复在线备份

   1)、恢复。恢复命令为:db2 restore database DBName from C:Temp taken at 20090622164642
2)、前滚。前滚命令为:db2 rollforward db DBName to end of logs(或者:控制中心->所有数据库->dbname ->右键->前滚)
   3)、停止前滚。停止前滚命令为:db2 rollforward db DBName stop(或者:控制中心->所有数据库->dbname ->右键->停止前滚)

有关说明

1、恢复操作也有online和offline的,区别如同backup的操作。
2、按照表空间的备份和恢复类似,加子句TABLESPACE ( tablespace-name )即可。表空间级别的备份/恢复操作要求数据库处于归档日志和启用增量备份模式下。
3、恢复的例子中只做了版本恢复。若还有更新的全备份和增量备份的image,可以依次做恢复(注意使用db2ckrst的建议恢复次序和次数)后,再做roll forward。
参与0

0同行回答

“答”则兼济天下,请您为题主分忧!

提问者

牡丹江
擅长领域: 数据库

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2009-12-17
  • 关注会员:0 人
  • 问题浏览:3805
  • X社区推广