oracle操作回退SQL

对表数据进行操作后,提交了事务,发现数据更新或者删除错了,这时候还是有方法可以数据回退的

进行数据回退操作,将数据回退到xxxx分钟,也就是update操作之前:

在回退之前,先查询xx分钟的数据,是不是我们想要的数据,也就是进行数据确认:

sql 复制代码
SELECT  * FROM 表名  as of timestamp to_timestamp('2024-10-12 11:200:00','yyyy-MM-dd HH24:MI:SS');

查询结果没有问题,下面进行数据回退的执行操作:

sql 复制代码
 --闪回恢复数据
 flashback table 表名 to   timestamp to_timestamp('2024-10-12 11:20:00','yyyy-MM-dd HH24:MI:SS');

如果闪回恢复数据提示:因为未启用行移动功能,不能闪回表。 执行以下语句,允许行移动

sql 复制代码
alter table 表名 enable row movement;

再次执行闪回恢复数据的SQL。执行完毕后,再次查询表数据:

数据已经回退到update之前的内容了。

注意:使用 truncate table 命令删除的表数据,无法通过flashback的方式找回数据。

相关推荐
苦学编程的谢39 分钟前
Redis_8_List
数据库·redis·缓存
曹天骄1 小时前
阿里云 DCDN → CDN 无缝切换教程(以 example.com 为例)
数据库·阿里云·云计算
workflower2 小时前
软件工程-练习
数据库·需求分析·个人开发·极限编程·结对编程
扶尔魔ocy2 小时前
【QT自定义2D控件】QGraphics绘制仪表盘
数据库·qt·microsoft
yookay zhang3 小时前
达梦数据库监听进程
网络·数据库·oracle
Archy_Wang_13 小时前
centos7的mysql做定时任务备份所有数据库
数据库·mysql
Java 码农3 小时前
MySQL基础操作案例设计
数据库·mysql
友友马3 小时前
『 QT 』按钮类控件属性解析
开发语言·数据库·qt
vvw&4 小时前
如何在 Ubuntu 上安装 PostgreSQL
linux·运维·服务器·数据库·ubuntu·postgresql
qq_5470261794 小时前
Canal实时同步MySQL数据到Elasticsearch
数据库·mysql·elasticsearch