方法一、
参考https://blog.csdn.net/ITdada/article/details/52746392
为了方便大家自己的解决办法:
1、select * from V$SQL where SQL_TEXT like '%update MAP_OPTCBL_POINT_70 set shape%'--查出你需要恢复的时间点
2、create table t_table_recove --新的表
as select * from MAP_OPTCBL_POINT_70 --你误操作的表
as of timestamp to_timestamp('2013-09-23 11:38:46','yyyy-mm-dd hh24:mi:ss');--时间点
--得到你想要的数据
3、delete MAP_OPTCBL_POINT_70;--将原表的数据全部删除
4、insert into MAP_OPTCBL_POINT_70 select * from t_table_recove;--恢复数据
方法二、
方法如下:
1.select * from table as of timestamp to_timestamp('2014-10-16 16:24:00', 'yyyy-mm-dd hh24:mi:ss');
說明:table是誤操作,需要閃回的表,2014-10-16 16:24:00 這個時間點是誤操作的那個時間點,是個大概的時間,不用精確,在這個時間之前就是之前正確的資料,之後就是誤操作後的資料
2.alter table table enable row movement;
閃回操作前啟用行移動功能
說明:table是誤操作,需要閃回的表
3.flashback table account to timestamp TO_TIMESTAMP('20140422 15:10:00','YYYYMMDD HH24:MI:SS');
說明:table是誤操作,需要閃回的表,20140422 15:10:00時間點與步驟1的時間點相同。
网友评论