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的方式找回数据。

相关推荐
XXYBMOOO40 分钟前
基于 Qt 的 BMP 图像数据存取至 SQLite 数据库的实现
数据库·c++·qt
Sunlight_7771 小时前
第五章 SQLite数据库:1、SQLite 基础语法及使用案例
java·linux·服务器·jvm·数据库·tcp/ip·sqlite
嘉嘉king1 小时前
Mysql联表查询
数据库
镜舟科技2 小时前
NoSQL 与 NewSQL 全面对比:如何选择适合你的数据库方案?
数据库·starrocks·nosql·newsql·技术架构·实时数据分析
TDengine (老段)2 小时前
TDengine 语言连接器(Node.js)
大数据·c语言·数据库·物联网·node.js·时序数据库·tdengine
Sunlight_7772 小时前
第五章 SQLite数据库:3、SQLite 常用语法及使用案例
jvm·数据库·sqlite
数据库砖家3 小时前
YashanDB|虚拟内存高出实际内存十几G?原因不只是“占用大”这么简单
数据库
郭源潮14 小时前
《MySQL:MySQL表结构的基本操作》
数据库·mysql
火龙谷4 小时前
【hive】Hive对数据库,对表的操作(一)
数据库·hive·hadoop