oracle toad 导表的时候,弹出来一个对话框,也没仔细看,第一回选的是 Reuse storage 模式导了一回,导完后发现数据都没了只有我导的那些,然后就回滚了几下,又按Drop storage模式又导了一遍,然后又点了回滚,请问我这个表里的数据怎么才能找回来呢?

解决方案 »

  1.   

    begin 
    SYS.DBMS_LOGMNR.ADD_LOGFILE('C:\oracle\oradata\jhoracle\REDO01.LOG', sys.dbms_logmnr.New); 
    end; select min(low_time),  max(high_time), 
          min(low_scn),  max(next_scn) -1 
    from V$logmnr_logs; begin 
    SYS.DBMS_LOGMNR.START_LOGMNR(Options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG); 
    end; Select 
    SCN, 
    timestamp, 
    sql_redo, 
    session# session_num, 
    username, 
    session_info 
    From V$LOGMNR_CONTENTS where sql_redo like '%update%'
    Order by 1; 
    begin 
    SYS.DBMS_LOGMNR.END_LOGMNR(); 
    end;通过日志去试试.在上面的语句中,替换这三个你自己的文件.
    'C:\oracle\oradata\jhoracle\REDO01.LOG'
    'C:\oracle\oradata\jhoracle\REDO02.LOG'
    'C:\oracle\oradata\jhoracle\REDO03.LOG'
      

  2.   


    flashback table table_name to timestamp 时间点;
      

  3.   


    能用flashback 还是比较简单,如果flashback 搞不定就只能通过日志挖掘了。Oracle Flashback 技术 总结
    http://blog.csdn.net/tianlesoftware/article/details/4677378Oracle Logminer 说明
    http://blog.csdn.net/tianlesoftware/article/details/5604497Oracle Logminer 做数据恢复 说明示例
    http://blog.csdn.net/tianlesoftware/article/details/6554674
      

  4.   

    rollback达不到撤销的效果估计toad里的这些动作都包含有ddl的动作。看来在不了解客户端工具的前,还是要慎用这些功能,最好使用前,查查工具的help文档。现在只能是基于oracle本身的恢复方式来恢复了。