ORACLE刪錯表恢復語句,表恢復

2021-08-20 09:44:51 字數 1171 閱讀 1235

一:表的恢復

對誤刪的表,只要沒有使用purge永久刪除選項,那麼從flash back區恢復回來希望是挺大的。一般步驟有:

1、從flash back裡查詢被刪除的表

select * from recyclebin

2.執行表的恢復

flashback table tb to before drop,這裡的tb代表你要恢復的表的名稱。

二:表資料恢復

對誤刪的表記錄,只要沒有truncate語句,就可以根據事務的提交時間進行選擇恢復,一般步驟有:

1、先從flashback_transaction_query檢視裡查詢,檢視提供了供查詢用的表名稱、事務提交時間、undo_sql等字段。

如:select * from flashback_transaction_query where

table_name='test';

2、執行表記錄恢復

一般先根據時間進行查詢,查詢語句模式為select * from tb as of timestamp

to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); tb指表名稱,time指某個時間點

如select * from scott.test as of timestamp to_timestamp('2009-12-11

20:53:57','yyyy-mm-dd hh24:mi:ss');

若有資料,恢復極為簡單了,語句為flashback table tb to timestamp

to_timestamp(time,'yyyy-mm-dd hh24:mi:ss');

如flashback table scott.test to timestamp to_timestamp('2009-12-11

20:47:30','yyyy-mm-dd hh24:mi:ss');

注意:alter table testvarchar enable row movement;

這個命令的作用是,允許oracle 修改分配給行的rowid。在oracle

中,插入一行時就會為它分配乙個rowid,而且這一行永遠擁有這個rowid。閃回表處理會對emp

完成delete,並且重新插入行,這樣就會為這些行分配乙個新的rowid。要支援閃回就必須允許oracle 執行這個操作

刪庫不跑路 Oracl刪表資料恢復之快照恢復

1 需求任務 批量處理運維 因業務上的需求,需要去對幾個表進行批量資料維護 此處就不吐槽業務設計 2 操作 刪除表資料 單身練就的手速,執行刪除語句時沒有選擇where條件內容,由於對自己過於自信,沒有將表資料備份,結果完蛋!事實證明,自信過頭 自負,自負的人往往沒有好下場。3 恢復資料 臨危不亂的...

oracle錯刪資料後如何恢復

先查詢某個節點的資料 select from 表名 as of timestamp to timestamp 2013 05 29 15 29 00 yyyy mm dd hh24 mi ss 進行恢復 flashback table 表名 to timestamp to timestamp 201...

Oracle 閃回機制(恢復錯刪的資料)

一 恢復誤刪表 1.執行以下sql語句,找到被自己誤刪的資料表對應的object name select from user recyclebin t 檢視被刪掉的表 2.根據得到的object name恢復資料表 flashback table bin 045mlx94so24hz4 tlwdgg...