我误操作用alter table test_table drop column 之后,这一列的数据和字段DROP了,
如何恢复ORACLE中被DROP的列和里面的数据?

解决方案 »

  1.   

    10g的话尝试一下闪存;
    9i或者以下版本的话只能使用rman的时间点恢复了.
    有点麻烦.
      

  2.   

    下这个logexplore日志恢复软件,
    操作很简单.
      

  3.   


    先闪回看看
    Flashback Table也是使用UNDO tablespace的内容来实现对数据的回退。该命令相对简单,输入:flashback table table_name to scn(to timestamp) 即可。注意:如果想要对表进行flashback,必须允许表的row movement.
    Alter table table_name row movement;
    要查看某表是否启用row movement,可以到user_tables 中查询(或all_tables,dba_tables),
    Oracle Flashback 技术 总结
    http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4677378.aspx
    ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716 
      

  4.   

    ORACLE能用logexplore吗。他不是MS sqlserver的吗
      

  5.   

    你也可以这样闪回表:
    flashback table tname to before drop;
      

  6.   

    lz看看这个帖子:http://topic.csdn.net/u/20081005/13/96946758-5d75-4b5b-8f08-7513c510933d.html如果你事先没开flashback database,那只能做数据库的不完全恢复了。
      

  7.   

     可以使用Oracle中的闪回技术恢复!
      

  8.   

    SQL> select flashback_on from v$database;FLASHBACK_ON
    ------------------
    YES查看一下你的数据库启用闪回没有
      

  9.   

    我的闪回没启动 照样能恢复  跟这个好像没关系吧?
    [SYS@kokooa]>select flashback_on from v$database;FLA
    ---
    NO[TEST1@kokooa]>drop table t1;Table dropped.[TEST1@kokooa]>flashback table t1 to before drop;Flashback complete.
    [TEST1@kokooa]>select * from t1;        ID
    ----------
             1
      

  10.   

    开了归档的话可以回滚,要是是flash_back也开了的话flash back table就可以
      

  11.   

    只是DROP 字段,没有DROP表哦。
    flashback table tname to before drop;肯定行不通的