当前位置 博文首页 > iloki的博客:oracle 误删表数据,还原到某个时间点

    iloki的博客:oracle 误删表数据,还原到某个时间点

    作者:[db:作者] 时间:2021-08-25 12:42

    --1.查询之前时间点的表数据
    select * from mlkgl as of timestamp to_timestamp('2020-12-23 15:00:00', 'yyyy-mm-dd hh24:mi:ss');
    
    --2.闪回表恢复到插入数据之前的时间点
    flashback table mlkgl to timestamp to_timestamp('2020-12-23 15:00:00','yyyy-mm-dd hh24:mi:ss');
    
    --3.删除当前表数据
    delete from mlkgl;
    
    --4.插入之前时间点的数据
    insert into mlkgl select * from mlkgl as of timestamp to_timestamp('2020-12-23 15:00:00', 'yyyy-mm-dd hh24:mi:ss');
    
    
    select * from mlkgl;
    
    
    --FLASHBACK TABLE语句的用法主要分成两大类:从撤销数据中闪回和从回收站中闪回。其中从撤销数据中闪回必须要启用表的行移动,用户要有SELECT ANY FLASHBACK系统权限。为了查询闪回事务,用户要有SELECT ANY TRANSACTION系统对象权限。
    --使用DBA用户给scott用户权限
    
    GRANT FLASHBACK ANY TABLE TO SCOTT;
    
    GRANT SELECT ANY TRANSACTION TO SCOTT;
    
    
    
    cs