解决方法
如果启用了row movement,
ALTER TABLE table ENABLE ROW MOVEMENT;
则可以用
flashback table table_name to timestamp to_timestamp(...);
如果没有,则用
select * from table_name as of timestamp
to_timestamp(...);把删除的row查询出来再insert。
第一步:找到删除数据的操作时间从( v$sql 或者 v$sqlarea 视图里面查询 )
select
r.FIRST_LOAD_TIME,r.SQL_TEXT,r.optimizer_mode,r.module,r.action,r.LAST_ACTIVE_TIME
from v$sqlarea r
order by r.FIRST_LOAD_TIME desc ;
第二步:
create table t_table_recove
as
select * from t_table
as of timestamp to_timestamp('2010-06-02 11:36:53','yyyy-mm-dd
hh24:mi:ss');
to_timestamp('2010-06-02 11:36:53.000000','yyyy-mm-dd hh24:mi:ss.ff')
再将恢复后的数据放到原来表就可以了.