基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
闪回查询
更新时间:2026-07-29 10:39:50
UNDO_RETENTION
undo retention 字面意思是 Undo 的保留位点,即从当前时间回溯多长时间的 Undo 日志是保留下来的。对于 OceanBase 数据库来说,是将该段时间的所有数据多版本保留下来。可以通过租户级配置项 undo_retention 进行设置,默认单位为秒。
Flashback Query
闪回查询(Flashback Query)允许用户查询某个历史版本的数据。OceanBase 数据库提供了如下语法进行查询:
Oracle 模式:
AS OF SCN和AS OF TIMESTAMP。MySQL 模式:
AS OF SNAPSHOT。
用户配置租户级配置项 undo_retention 后,可以使用 Flashback Query 查询 T - undo_retention 到当前时间 T 时间范围内的任意多版本。
查询副本选择
当用户指定查询某个历史版本数据时,并不会像普通查询一样总去查 Leader,而是优先查本地机器的副本,如果本地副本不存在,则优先查本 Zone 其他机器上的副本,最后再去查 Leader。
注意事项
如果在 T - undo_retention 时间段内有 DDL 操作,则:
对于添加列操作,闪回查询操作发生前的数据时,所有新添加的列均为 Default 值。
对于创建表、删除表或删除列等操作,闪回查询操作发生前的数据时,系统会报错。
相关文档
有关闪回查询的详细操作及示例,参见 闪回查询。