记一次成功的Update(Oracle误Delete或Update数据还原)

1,054次阅读
没有评论

同事执行Update,结果忘了加限定条件。结果就是把2w+的数据某一字段更新成了同一个。 

转过头一想,Oracle肯定提供了一种恢复方法,来恢复这种误操作带来的数据损失。查了一下资料,果然可以,再都不用担心删库跑路啦。

1、首先你得记得是什么时候GG的,通过下面的SQL可以查询这个时间点之前的数据是否正确。

select * from table_name as of timestamp to_timestamp(‘2018-11-08 11:00:00’,’yyyy-mm-dd hh24:mi:ss’);

2、然后就是回退到这个时间点之前啦。

flashback table table_name to timestamp to_timestamp(‘2018-11-08 11:00:00’,’yyyy-mm-dd hh24:mi:ss’);

3、注:如果报错ORA-08189: cannot flashback the table because row movement is not enabled 就输入下面的一段,开启行迁移,就可以了。

alter table table_name enable row movement;

写在后面,还有一种方法是通过SCN( System Change Number )来恢复某个操作之前的数据,具体方法就不在此赘述了。

afirefish
版权声明:本站原创文章,由afirefish2018-11-09发表,共计547字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
载入中...