DB2学习之表误删除恢复

DB2 DROP表后恢复

数据库版本

数据库版本:DB2 9.7

目的:

由于经常操作不当,引起误删表和数据库,对数据恢复起来很困难,其实测试后也觉得没什么挺容易的,特此亲自测试,得出一恢复方法,总结如下文旦,如有不当还请及时提出;

注意:

      在恢复之前一定要备份数据库,在恢复中需要时间截点,不同版本数据库的时间轴不一样,所以需要注意;

第一:备份数据库,

做什么事情之前备份数据库,重要的事说三遍:备份!备份!备份!命令:db2 backup db dbname to ‘e:\xxxx’

第二:开启归档模式:

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

      dbname为数据库实例名;

      按照该命令直接修改为归档模式

第三:删除表以及数据:

     drop table  表

第四:

对要实施Drop Table Recovery的表空间(限regular tablespace),执行:

db2 "alter tablespace 表空间名称 dropped table recovery on"

第五:用 list history droppedtable all for dbname

得到删除表tableid(例如 0000000000006d0000020003)和表结构的生成语句(DDL),记录tableid和该语句以便恢复。之后,用drop命令删除的表中的数据可以在前滚恢复时导出。

命令为: db2  list history droppedtable all for dbname

 

第六:查看本机数据库的时间截点格式

命令为:select current timestam frompsysibm.sysdummy1

第七:根据时间截点,来使用recover恢复命令如下:

db2 recover database dbname  to 2016-08-29-10.16.25.000000(毫秒如果查询不到用0代替)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章