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

相关推荐
是小崔啊5 小时前
事务03之MVCC机制
数据库·mysql·事务·
LUCIAZZZ9 小时前
简单的SQL语句的快速复习
java·数据库·sql
Elastic 中国社区官方博客11 小时前
使用真实 Elasticsearch 进行高级集成测试
大数据·数据库·elasticsearch·搜索引擎·全文检索·jenkins·集成测试
@_@哆啦A梦11 小时前
Redis 基础命令
java·数据库·redis
fajianchen11 小时前
MySQL 索引存储结构
数据库·mysql
一张假钞11 小时前
Spark SQL读写Hive Table部署
hive·sql·spark
想做富婆11 小时前
oracle: 多表查询之联合查询[交集intersect, 并集union,差集minus]
数据库·oracle·联合查询
xianwu54313 小时前
反向代理模块jmh
开发语言·网络·数据库·c++·mysql
Leven19952713 小时前
Flink (十三) :Table API 与 DataStream API 的转换 (一)
数据库·sql·flink
geovindu13 小时前
neo4j-community-5.26.0 create new database
数据库·mysql·neo4j