表被修改或删除后能够按照如下步骤恢复:
一、删除目标表(表被错位修改的状况,若是被删除就没有这步了);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)数据