Oracle快速恢复表删除的某行数据

手册/FAQ (439) 2016-04-27 13:48:27

请问下,我删除表的某些数据,如何把它闪回来呀? 20分钟内不过对该表由插入了些数据
 
根据scn号来查询 
select a, b, c, versions_xid, versions_starttime, versions_endtime,
versions_startscn,versions_endscn,versions_operation
from test versions between scn 339493 and 339635
根据时间也可以 
from test versions between timestamp 
to_date('2008-09-23 16:09:00','yyyy-mm-dd hh24:mi:ss') 
and to_date('2008-09-23 16:45:00','yyyy-mm-dd hh24:mi:ss')
 
select a, b, c, versions_xid, versions_starttime, versions_endtime,
versions_startscn,versions_endscn,versions_operation
from test versions between timestamp minvalue and maxvalue 
这个记录闪回全部数据
 
Insert Into BA.T_WAP_FINANCE_ANALYZ
select *
  
from BA.T_WAP_FINANCE_ANALYZ versions between timestamp 
to_date('2009-12-21 9:00:00','yyyy-mm-dd hh24:mi:ss') 
and to_date('2009-12-21 11:00:00','yyyy-mm-dd hh24:mi:ss')  
Where f_yearweek ='200947'
 
它保留表的每行最后次更改前的记录确对吧?
db_recovery_file_dest
db_recovery_file_dest_size
 
上面的是 如果UNDO 无法闪回数据,而且你无法确定时间,那么恢复区看看可有你的数据在,有的话就根据时间标志插回原始表。

THE END