写程序的时候,一不小心,写错了sql语句,update的时候没加条件,全部更新了 。惨了。求各位大侠,怎么恢复下,没有备份

解决方案 »

  1.   

    使用oracle中的闪回查询可以找回修改之前的所有数据。
    例:
    先授权:
    grant execute on dbms_flashback to 用户;
    在执行:
    execute dbms_flashback.enable_at_time(to_date('修改之前的时间'));
      

  2.   

    试试LOG吧,都更新完了,看用日志能恢复不
      

  3.   


    同意如果 undo_retention足够的话,可以flashback tablehttp://blog.csdn.net/inthirties/archive/2009/07/02/4314640.aspxhttp://blog.csdn.net/inthirties/archive/2009/11/04/4759863.aspx
      

  4.   

    这么久了,估计是不恢复不回来 了,Flashback也只能恢复短时间的啊。
      

  5.   

    呵呵 如果你的UNDO空间足够大 也可以不是短时间吧
      

  6.   

    oracle10g以上版本好像有 select * from t of timestamp if to_data();找到某一时间前的状态,类似于Flashback table
      

  7.   

    oracle10g以上版本好像有 select * from t of timestamp on to_data();找到某一时间前的状态,类似于Flashback table
      

  8.   

    建议更新表数据之前,都用select 来选择查看一下!等确认后数据,在改为UPDATE