db2 误用drop删除表和数据恢复方法

原创 2016年08月31日 08:52:09

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代替)


     

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

D_db2重定向恢复+日志前滚,恢复误删除的数据

重定向恢复+日志前滚,恢复误删除的数据 转自:
  • g18560
  • g18560
  • 2014年06月19日 23:34
  • 1771

DB2误删表,本地恢复过程

情况描述:DB2如果drop table T_M_COOP_TASK;删了一个表,是没办法恢复的,需要还原备份文件,从备份文件中拿出一份相对较新的文件在本地创建后,导出,再导入生产库...

DB2 删除某用户下的所有表

DB2数据库删除某schema下的 所有表 select 'DROP TABLE ' || tabname ||' ;' from syscat.tables where tabschema='...

如何实施已删除表的恢复(Dropped Table Recovery)

1. 首先数据库要可以前滚恢复(数据库配置参数logretain或userexit打开)。  2. 对要实施Drop Table Recovery的表空间(限regular tablespace),...

DB2 drop指定schema的所有表

db2 -x "select 'drop table '||tabschema||'.'||tabname||';'from syscat.tables where tabschema ='ZHX'"...

db2 数据恢复-快速

1、Load 方法装入数据:   export to tempfile of del select * from TABLENAME where not 清理条件;   load from tem...
  • zwhfyy
  • zwhfyy
  • 2014年08月04日 17:38
  • 1912

如何恢复DB2中的删除表

[导读]在使用DB2数据库的过程中,如果想要恢复删除表。应该如何操作呢?本文将为您介绍恢复DB2中的删除表的方法步骤,供您参考,希望对您有所帮助。 原文出自【比特网】,转载请保留原文链接:http...
  • DB2zone
  • DB2zone
  • 2012年07月03日 16:52
  • 1513

java调用tuxdeo--jolt篇

接前面的>需要调用的tuxdeo://10.1.22.80:1999服务名-YSK_LIST_FEE入参-YSK_VAR_LIST(String)出参1-RESULT(String,0为正确,其他错误...

调用TUXEDO服务概览

对于BEA的中间价产品TUXEDO,常采用C/C++语言编写后台服务程序,广泛应用于电信、金融等领域,因项目的需要,我们经常面临调TUXEDO服务的需求!       对于JAVA调TUXEDO...

DB2中select查询某表期间无法drop删除该表;Oracle不然

在session1中执行: db2 => select * from db2admin.t_da_jkda_rkxzl    --会执行很长时间 在session2中执行: db2 => drop ...
  • lk_db
  • lk_db
  • 2017年10月19日 09:32
  • 160
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:db2 误用drop删除表和数据恢复方法
举报原因:
原因补充:

(最多只允许输入30个字)