Oracle 資料誤刪的恢復措施

2021-09-07 19:51:42 字數 1300 閱讀 3835

oracle中,常見的資料刪除操作就三種,truncate,drop,delete,下面分類說一下如何恢復

truncate:

該操作執行後,保留表結構,清空表資料,不記錄日誌,雖然常規手段無法恢復,但是聯絡資料修復團隊還是可以做到的,網上也有自己恢復的教程,我個人試了幾次都沒有成功......

誤刪後停止對該錶的任何操作,避免後續的不當操作影響資料恢復的可能性。

drop:

通過檢視oracle的**站,可以查到被刪除的表、索引等,通過下列語句可以實現表資料恢復

oracle**站:select * from recyclebin;

還原指定表:flashback table recycle_tmp to before drop;

還原指定表:flashback table "bin$dtgnfyehxsvgu304aareyg==$0" to before drop;

清空**站:purge table  "bin$34btcie8ryspmhqilcgnvg==$0";

清空**站:purge table recycle_tmp;

delete:

------------恢復delete誤刪資料-1

--根據時間戳檢視表資料情況

select * from t1 as of timestamp to_timestamp('2018-09-17 09:50:11','yyyy-mm-dd hh24:mi:ss');

--設定允許錶行移動

alter table t1 enable row movement;

--將表資料恢復到某一時間點

flashback table t1 to timestamp to_timestamp('2018-09-17 09:50:11','yyyy-mm-dd hh24:mi:ss');

--或者直接插入丟失資料

insert into t1 select * from t1 as of timestamp to_timestamp('2018-09-17 09:50:11','yyyy-mm-dd hh24:mi:ss');

------------恢復delete誤刪資料-2

--檢視資料庫當前scn(system change number)

select current_scn from v$database;

--尋找誤刪前的表資料(縮小scn號查詢)

select * from t1 as of scn 38887000;

--將表資料恢復到指定scn

flashback table t1 to scn 38887000;

ORACLE誤刪資料恢復

有很多原因導致了資料記錄的誤刪,怎樣恢復誤刪的記錄呢?先來看看這個概念 scn 系統改變號 它的英文全拼為 system change number 它是資料庫中非常重要的乙個資料結構。scn提供了oracle的內部時鐘機制,可被看作邏輯時鐘,這對於恢復操作是至關重要的 注釋 oracle 僅根據 ...

oracle誤刪資料恢復

oracle誤刪資料恢復 scn 系統改變號 它的英文全拼為 system change number 它是資料庫中非常重要的乙個資料結構。scn提供了oracle的內部時鐘機制,可被看作邏輯時鐘,這對於恢復操作是至關重要的 注釋 oracle 僅根據 scn 執行恢復。它定義了資料庫在某個確切時刻...

oracle恢復誤刪資料

1.delete誤刪除的解決方法 原理 利用oracle提供的閃回方法,如果在刪除資料後還沒做大量的操作 只要保證被刪除資料的塊沒被覆寫 就可以利用閃回方式直接找回刪除的資料 具體步驟為 確定刪除資料的時間 在刪除資料之前的時間就行,不過最好是刪除資料的時間點 用以下語句找出刪除的資料 select...