Oracle10g中FLASHBACK TABLE語句恢復DML誤操作

mengzhaoliang發表於2008-03-17

   在Oracle10g中,當不慎執行了DML操作是,可以用flashback table來恢復,不過需要看引數db_flashback_retention_target所設定的時間,該單位分鐘,資料庫預設為1440分鐘,也就是一天的時間有效.

 

如下操作

SQL> select empno,sal from emp where empno=7934;

     EMPNO        SAL
---------- ----------
      7934       1300

SQL> update emp set sal=sal*1.3 where empno=7934;

已更新 1 行。

SQL> commit;

提交完成。

SQL> l
  1* commit


SQL> select empno,sal from emp where empno=7934;

     EMPNO        SAL
---------- ----------
      7934       1690

 

SQL> flashback table emp to timestamp to_timestamp
  2  ('2008-03-17 17:12:00','YYYY-MM-DD HH24:MI:SS');
        (該時間在DML操作之前)

閃回完成。

SQL> select empno,sal from emp where empno=7934;

     EMPNO        SAL
---------- ----------
      7934       1300

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-208531/,如需轉載,請註明出處,否則將追究法律責任。

相關文章