Oracle闪回功能之数据恢复
一、闪回
1.启用行移动功能
alter table table_name enable row movement ;
2.查询指定时间快照(默认是1440分钟,即24小时内的数据)
select * from table_name as of timestamp to_timestamp('2021-07-01 12:00:00','yyyy-mm-dd hh24:mi:ss') ;
3.闪回指定时间的快照
flashback table table_name to timestamp to_timestamp('2021-07-01 12:00:00','yyyy-mm-dd hh24:mi:ss') ;
4.关闭行移动功能
alter table table_name disable row movement ;
5.闪回表
flashback table table_name to before drop;
二、数据快照
1、查询执行过SQL语句,确定快照的时间
select
r.first_load_time,
r.sql_text,
r.sql_fulltext
from v$sqlarea r
where r.sql_text like '%about your sql%'
order by r.first_load_time desc
2、查询基于指定时间的数据快照
select * from table_name as of timestamp to_timestamp('2020-07-29 20:00:00', 'yyyy-mm-dd hh24:mi:ss') ;
3、以当前时间为准,125分钟之前的数据快照
select * from table_name as of timestamp sysdate - 125 / 1440