Oracle:误删除数据回退

     Oracle数据库在开启归档模式下,如何回退由delete、update等误操作导致的数据逻辑删除、修改,以下闪回方式可进行单张数据库表指定时间点批量回滚,具体步骤如下:

(1)查询SQL执行记录

        select * from v$sqlarea a where a.SQL_TEXT like '%表名%';

(2)启用行移动功能

       alter table 表名 enable row movement;

(3)查询操作前数据

       select count(*) from 表名 as of timestamp to_timestamp('2022-01-01 09:28:00','yyyy-mm-dd hh24:mi:ss') ;

(4)执行闪回,恢复数据:

      flashback table 表名 to timestamp to_timestamp('2022-01-01 09:28:00','yyyy-mm-dd hh24:mi:ss');

(5)关闭行移动功能

      alter table 表名 disable row movement;

(6)解除主表约束,以执行回退:

       A、主键失效:alter table table_name disable primary key cascade;

      B、主键生效:alter table table_name enable primary key;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容