oracle提供了一种闪回的方法,可以将某个时间的数据给还原回来,方法如下:
1、查询误操作表正确的时间点
select * from table_name as of timestamp to_timestamp('2018-12-14 11:08:00', 'yyyy-mm-dd hh24:mi:ss');
说明:table_name是误操作需要闪回的表,2018-12-14 11:08:00 这个时间点是误操作的大概时间点
之前正确的数据,之后就是误操作后的数据
2、闪回操作前启用行移动功能:打开Flash存储的权限
alter table table_name enable row movement;
3、执行闪回操作
flashback table TABLE_NAME to timestamp to_timestamp('2018-12-14 11:50:00','yyyy-mm-dd hh24:mi:ss');
恢复回收站的表(没彻底删除 !=purge,则进回收站,否则需要归档恢复)
flashback table RXW_11 to before drop;
查询回收站的表
select * from SYS.USER_RECYCLEBIN t where t.type='TABLE'
或者
select * from user_recyclebin where original_name='TABLE_NAME';
--TABLE_NAME 大写
注:存在对象里面的数据表命等均为大写