如题,怎么才能用最快的速度恢复不小心delete掉的信息。

解决方案 »

  1.   

    1, 如果误删除了数据,且已经提交,需要回复的话,要先考虑是否有falshback(数据闪回)。如果没有就只能使用之前的exp逻辑备份或者其他的完整备份到测试库中执行不完全恢复后再导入生产库中。
    2,falshback的使用步骤如下(参考盖国强的DBA手册)
       A,先通过v$archived_log视图来确认数据库的SCN变化
          select name,first_change# fscn,next_change# nscn,first_time from v$archived_log;
       B,使用用户登录并尝试闪回
        SQL> connect username/password
       C,根据步骤A中返回的SCN和执行时间,大致确认一个SCN编号,并执行下面的操作。
        select count(*) from tablename as of scn 123456789;
       D,重复步骤C,尝试多个SCN,获得最佳值并恢复数据到一个新表中
        create table tablename_rec 
        as
        select * from tablename as of scn '234234';
      

  2.   

    使用闪回查询。前提是删除数据的undo记录,还在undo表空间里。
    10g里也可以flashback table to timestamp