Oracle数据回滚的全过程


当前第2页 返回上一页

注意:需要通过唯一条件id 定位数据。

MERGE INTO 表名 a
USING (SELECT *
         FROM 表名 AS OF TIMESTAMP to_timestamp('2019-04-16 21:43:38', 'yyyy-mm-dd hh24:mi:ss')
       MINUS
       SELECT *
         FROM 表名) b
ON (a.id = b.id)
WHEN MATCHED THEN
  UPDATE
     SET a.col = b.col,
WHEN NOT MATCHED THEN
  INSERT
  VALUES
    (b.id,
     b.col);

查看 INSERT 操作修改的数据

SELECT *
FROM 表名
MINUS
SELECT *
FROM 表名 AS OF TIMESTAMP  to_timestamp('2019-04-16 21:45:38', 'yyyy-mm-dd hh24:mi:ss');

恢复 INSERT 操作修改的数据

其中将恢复 表至 2019-04-16 21:45:38 时点,恢复数据为因 INSERT 操作修改的数据。

注意:需要通过唯一条件 unique_id 定位数据。

DELETE FROM 表名 a
WHERE EXISTS (SELECT 1
          FROM (SELECT *
                  FROM 表名
                MINUS
                SELECT *
                  FROM 表名 AS OF TIMESTAMP to_timestamp('2019-04-16 21:45:38', 'yyyy-mm-dd hh24:mi:ss')) b
         WHERE a.id = b.id);

如果相隔时间过长的话,数据就回滚不了了,所以一旦数据出现问题,就要立即进行处理。

参考博客

https://www.cnblogs.com/autopenguin/p/5952671.html

http://1000zx.cn/article/147509.htm

到此这篇关于Oracle数据回滚的文章就介绍到这了,更多相关Oracle数据回滚内容请搜索


标签:Oracle

返回前面的内容

相关阅读 >>

oracle数据库丢失表排查思路实战记录

oracle分页存储过程 oracle存储过程实例

c#实现远程连接oracle数据库的方法

oracle应用经验(1)

orace查询数据出现乱码的问题解决思路

oracle查询慢怎么办?

oracle 数据库操作类

mysql与oracle 差异比较之七 其它

oracle存储过程与函数的详细使用教程

oracle 的入门心得 强烈推荐

更多相关阅读请进入《oracle》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...