当前位置: 首页 > news >正文

数据库误更新操作 如何回滚

1.未提交 直接 rollback

2.已提交

步骤 查询指定时间内修改前数据库数据:


-- 查询误操作前的数据(例如 10 分钟前)
SELECT * FROM 表名 
  AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE)
WHERE 条件;

-- 将数据恢复(需确保有足够权限)
FLASHBACK TABLE 表名 
  TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE);



但是如果出现问题请 直接允许行移动


-- 启用表的行移动功能(需有 ALTER TABLE 权限)
ALTER TABLE 表名 ENABLE ROW MOVEMENT;

-- 闪回到指定时间点(例如 10 分钟前)
FLASHBACK TABLE 表名 
  TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE);

-- 或闪回到特定 SCN(系统变更号)
FLASHBACK TABLE 表名 TO SCN <scn_number>;

完整示例:

-- 1. 检查当前行移动状态
SELECT table_name, row_movement 
FROM user_tables 
WHERE table_name = 'YOUR_TABLE';

-- 2. 启用行移动
ALTER TABLE your_table ENABLE ROW MOVEMENT;

-- 3. 执行闪回(例如恢复到 15 分钟前)
FLASHBACK TABLE your_table 
  TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '15' MINUTE);

-- 4. 验证数据是否恢复
SELECT * FROM your_table WHERE ...;

-- 5. 可选:禁用行移动
ALTER TABLE your_table DISABLE ROW MOVEMENT;

相关文章:

  • VMware安装ubuntu22.04.5 server
  • Java并发编程面试汇总
  • Python学习第二十三天
  • 全面了解 Cookies、Session 和 Token
  • 【Java语言】学习笔记-08面向对象【中级】包、访问修饰符、封装、继承、多态、Super、Override(重写)、Object、断点调试等细节详解(上)
  • 6.1、认证技术基础与原理
  • [unity 点击事件] 区域响应点击事件,排除子节点区域,Raycast Target 应用
  • 埋点数据采集方案
  • 14、Python 枚举与类型注解进阶
  • 蓝桥云客 数字接龙
  • JAVA 单调栈习题解析
  • 入剖析 Android Compose 框架的关键帧动画(keyframes、Animatable)(二十三)
  • 蓝耘云平台免费 Token 获取攻略:让创作成本直线下降 - 极致优化版
  • Maven 构建配置文件
  • 工作效率upup
  • Ubuntu20.04.6系统根目录扩容
  • JWT 鉴权常见知识点及参考答案
  • nginx代理前端请求
  • 试试智能体工作流,自动化搞定运维故障排查
  • 地平线AlphaDrive:首个基于GRPO的自动驾驶大模型,仅用20%数据,性能超越SFT 35%!
  • 俄罗斯期望乌克兰在停火期间采取行动缓和局势
  • 商务部:外贸优品中华行活动采购意向超167亿元
  • 加拿大总理将赴美同特朗普会晤,重点谈贸易压力
  • 美国防部监察机构扩大“群聊门”事件调查范围
  • 阿根廷发生5.6级地震,震源深度30公里
  • 巴菲特股东大会前瞻:执掌伯克希尔60年,巨轮将驶向何方