oracle恢復刪除資料(誤刪)

2021-08-04 11:51:26 字數 1578 閱讀 3387

**

第一種:

1.開啟flash儲存的許可權

alter table tablename enable row movement ;

2.把錶還原到指定時間點

flashback table tablename to timestamp to_timestamp(」2011-02-28 10:40:00」,」yyyy-mm-dd hh24:mi:ss」);

後面的引數為要還原的時間點

第二種:利用oracle的快照進行查詢某個時間點的資料

select * from tablename as of timestamp (systimestamp - interval 『100』 minute)

或select * from tablename as of timestamp to_timestamp(『2011-05-21 11:40:00』,』yyyy-mm-dd hh24:mi:ss』);

這樣可以查詢到指定的時間段的資料,再把查詢到的資料複製到原來的表中。

第三種:其他(在別的地方找到的答案,但還沒有試過!)

刪除表後,可以採用如下操作:在 查詢表user_recyclebin最近操作過的表名稱,然後用閃回(只能用於10g及以上版本)。

select * from user_recyclebin;

flash back table table_name to before drop;

如果是刪了或修改裡面的資料,可以先建立乙個快表將刪除修改之前狀態的資料找回到這個表中:

create table quick_table as select * from table_name as of timestamp system-1/24 (一小時前的),減去的時間可以自己定。

第四:通過scn實現

scn(系統改變號),它的英文全拼為:system change number ,它是資料庫中非常重要的乙個資料結構。

scn提供了oracle的內部時鐘機制,可被看作邏輯時鐘,這對於恢復操作是至關重要的

注釋:oracle 僅根據 scn 執行恢復。

它定義了資料庫在某個確切時刻提交的版本。在事物提交時,它被賦予乙個唯一的標示事物的scn 。一些人認為 scn 是指, system commit number ,而通常 scn 在提交時才變化,所以很多情況下,這兩個名詞經常被交替使用。

究竟是哪個詞其實對我們來說並不是最重要的,重要的是我們知道 scn 是 oracle 內部的時鐘機制, oracle 通過 scn 來維護資料庫的一致性,並通過scn 實施 oracle 至關重要的恢復機制。

1:執行下面語句,將刪除時間轉換為scn

select timestamp_to_scn(to_timestamp(『2011-08-03 10:00:00』,』yyyy-mm-dd hh:mi:ss』)) from dual;

結果:11837812:在將table的scn點取出來。

select * from moas of scn 11837813;

最後把查出來得結果insert到原表中

insert into mo select * from mo as of scn 1183781

oracle誤刪除資料恢復

今天無意中在網上看到了關於oracle誤刪除資料恢復的一條資訊,發現的確很好使,下面就我的測試向大家匯報下。1.select from t viradsl2 t 查詢t viradsl2中所有的資料,可以看到三條資料 2.delete t viradsl2 刪除t viradsl2中所有的資料,三條...

oracle誤刪除資料恢復

1.select from your table t 查詢your table中所有的資料,可以看到三條資料 2.delete your table 刪除your table中所有的資料,三條資料消失 3.select from your table t 無資料。4.insert into your...

ORACLE 誤刪除資料恢復

首先通過如下sql語句找到執行刪除的last active time。即找到具體的刪除時間。select sql text,last active time from v sqlarea where last active time to date 刪除資料的大約時間 yyyymmdd hh24 m...