本文最后更新于2022年6月1日,已超过 1 年没更新!内容可能已失效,请自行测试。

1.恢复表

首先从RECYCLEBIN表中查询被删除的表

SELECT * FROM RECYCLEBIN;

若RECYCLEBIN表中有被误删的表则执行恢复

FLASHBACK TABLE table_name TO BEFORE DROP;--table_name为待恢复表的表名

2.恢复表数据

恢复XX时间点前的数据

ALTER TABLE table_name ENABLE ROW MOVEMENT;--允许oracle修改rowid
FLASHBACK TABLE table_name TO TIMESTAMP to_timestamp('2020-03-18 15:00:00','yyyy-mm-dd hh24:mi:ss');--恢复XX时间点的数据
ALTER TABLE table_name DISABLE ROW  MOVEMENT;--禁止修改rowid

查询导入恢复

SELECT * FROM table_name AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '15' MINUTE ) --查询出15分钟前的数据,然后导入表
SELECT * FROM table_name AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '2' DAY)--这里可以使用DAY、SECOND、MONTH替换minute,例如:

=

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。