将数据表返回到之前的版本-oracle

#开启行移动功能(不开启无法执行flashback)
alter table 表名 enable row movement;

#查看表存在那些版本时间点
select systimestamp from 表名

#将数据表回闪到某个大致的版本
flashback table 表名 to timestamp to_date('2024-01-18 13:30:44','YYYY-MM-DD HH24:MI:SS')

另:如果上述方法失败还可以查询某个数据表在某个时间段的数据

#查询一个小时前某表的数据
SELECT * FROM 表名 AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' HOUR);

#查询2小时以前某表的版本
SELECT * FROM 表名 VERSIONS BETWEEN TIMESTAMP (SYSTIMESTAMP - INTERVAL '2' HOUR) AND TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' HOUR);
posted @ 2024-01-19 16:45  山茶花llia  阅读(3)  评论(0编辑  收藏  举报