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...