我爱编程

Oracle update误操作单表回滚

2018-04-05  本文已影响0人  ThinkinMew

        在修改数据库总有智障的时刻,笔者使用的Navicat每次新建查询自动commit,方便之余也会因此碰到麻烦。


1.查询误操作之前的表

select * from table_name

as of timestamp to_timestamp('2018-04-05 12:00:00', 'yyyy-mm-dd hh24:mi:ss');

属性说明:table_name(表名),'2018-04-05 12:00:00'(误操作之前的时间点,不用太精确,只要在这刻是正确数据即可)。用于验证这个时间段数据是否正确。

2.开启闪回功能

alter table table_name enable row movement;

3.回滚表

flashback table_name account to timestamp TO_TIMESTAMP('20180405 12:00:00','YYYYMMDD HH24:MI:SS');

此时便如你所愿表回滚带指定时刻的状态了,一般误操作在数小时内可以进行回滚,如果在时间太长此方法无效。

上一篇下一篇

猜你喜欢

热点阅读