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

相关推荐
IvorySQL28 分钟前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·38 分钟前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
野生技术架构师40 分钟前
SQL语句性能优化分析及解决方案
android·sql·性能优化
IT邦德41 分钟前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫1 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i1 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.1 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn2 小时前
【Redis】渐进式遍历
数据库·redis·缓存
橙露2 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot