OceanBase V4 中闪回查询如何工作?有哪些限制?
闪回查询允许用户查询历史版本数据,用于误操作恢复。
实现方式:
-
基于
undo_retention:设置租户级配置项undo_retention(默认 1800 秒),控制多版本数据保留时间窗口,查询T - undo_retention到当前时间T范围内的历史数据。 - 基于 Restore Point :创建快照点保存特定历史版本,通过 SCN 查询。
语法差异:
-
Oracle 模式 :支持
AS OF SCN和AS OF TIMESTAMP。 -
MySQL 模式 :支持
AS OF SNAPSHOT(微秒级时间戳)。
使用限制:
- 仅对
undo_retention设置时间点之后 的数据生效。 - 不支持
TRUNCATE操作恢复(DDL 导致表定义变更)。 - 表被 DROP 进回收站后,需先用
FLASHBACK TABLE TO BEFORE DROP恢复表结构。 - 时间窗口内发生 DDL(如加列),新列显示为 Default 值;删表/删列可能报错。
- 调大
undo_retention会导致存储空间放大。