**
第一種:
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...