Oracle update误操作单表回滚

        在修改数据库总有智障的时刻,笔者使用的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');

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year:...
    雨一流阅读 690评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,087评论 19 139
  • 一、源题QUESTION 36Your database is open and the LISTENER lis...
    猫猫_tomluo阅读 1,303评论 0 2
  • 四川九寨沟发生7级地震、新疆精河县发生6.6级地震,对于地震的发生我们往往是无能为力,但对于震后的生活安排我们可以...
    保满易阅读 287评论 0 0
  • 阆州人莫徭以采樵为生.常至江边割芦草,有一日,忽然有一头大象来到他面前,卷其上背,行百余里,入沼泽中。泽中有一老象...
    L非淡泊无以明志阅读 377评论 0 2