表被修改或刪除後能夠按照如下步驟恢復:
一、刪除目標表(表被錯位修改的狀況,若是被刪除就沒有這步了);spa
二、刪除表後,能夠採用以下操做:
在user_recyclebin中找到最近操做過的表名稱,而後用閃回(只能用於10G及以上版本)。
FLASHBACK TABLE TABLE_NAME TO BEFORE DROP;orm
三、若是是刪了或修改裏面的數據,能夠先創建一個快表將刪除修改以前狀態的數據找回到這個表中:
CREATE TABLE QUICK_TABLE AS
SELECT * FROM TABLE_NAME AS OF TIMESTAMP SYSDATE-1/24 (一小時前的),減去的時間能夠本身定 如:select * from TABLE_NAME AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' MINUTE)索引
4.恢復後的TABLE_NAME是回收站的表不能夠用,最後能夠直接把QUICK_TABLE改爲須要的TABLE_NAMEit
注意:這個恢復的QUICK_TABLE表好像不能恢復主鍵和外鍵,全部在刪除表以前最好把源表的主鍵、外鍵和索引的語句拷貝下來select
樣例(好比表AAA內數據被錯位修改):
select * from user_recyclebin;
能夠查詢到全部被刪除的記錄,從記錄中能夠找到AAA,找到表名後,做以下操做
FLASHBACK TABLE AAA TO BEFORE DROP;
恢復到5個小時前
CREATE TABLE QUICK_TABLE AS SELECT * FROM AAA AS OF TIMESTAMP SYSDATE-5/24
恢復到10分鐘以前
CREATE TABLE QUICK_TABLE AS SELECT * FROM AAA AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE)數據