1. 程式人生 > >ORACLE 誤刪表、誤刪表資料後恢復

ORACLE 誤刪表、誤刪表資料後恢復

最近在工作中使用ORACLE,一個失誤刪錯了表,當時心急如焚,因為接觸ORACLE時間不長,也不清楚ORACLE的功能,

同事就去找了下恢復的解決辦法,發現ORACLE刪除表後,是換了個名字,躺到了ORALCE的回收站中。

        記錄一下使用的語句,以便以後遇到。

        關於ORALCE誤刪表後恢復

        查看回收站的表:

        select object_name,original_name,type,createtime,droptime from recyclebin;

        recyclebin   回收站表名

        object_name 刪除後名稱

        original_name  刪除前名稱 

        type   刪除的型別(如index、table等)

        createtime 建立表的時間

        droptime  刪除表的時間

       根據回收站中的資訊,找到刪除的表(original_name)對應的回收站中的名稱(object_name)

       執行恢復語句:

       flashback table "object_name" to before drop;

      執行語句成功後,表恢復到刪除之前的狀態。

      關於ORALCE誤刪表資料後恢復

      恢復語句:

      alter table table_name enable row movement;            

      flashback table table_name to timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); 

      執行完成後,會把表中的資料恢復到time這個時間點。