使用obdumper 无法通过--flashback-timestamp 获取表历史版本数据

【 使用环境 测试环境
【 OB 】
【 使用版本 】4.3.5.3
【问题描述】
我发现使用obdumper 导出数据时通过 --flashback-timestamp= 参数 无法获取历史快照数据,obdumper看文档好像支持–flashback-timestamp历史快照数据导出的吧
,但是通过select AS OF SNAPSHOT TIMESTAMP_TO_SCN方法可以获取历史快照数据
具体验证方法如下:

obdumper 版本
Version: 4.3.4-RELEASE

查看租户undo 1800s
show parameters like ‘%undo_retention%’ \G;;
*************************** 1. row ***************************
zone: zone1
svr_type: observer
svr_ip: 11.21.77.206
svr_port: 2882
name: undo_retention
data_type: INT
value: 1800
info: the low threshold value of undo retention. The system retains undo for at least the time specified in this config when active txn protection is banned. Range: [0, 4294967295]
section: TENANT
scope: TENANT
source: DEFAULT
edit_level: DYNAMIC_EFFECTIVE
default_value: 1800

测试表机构如下,表数据一直在更新id=10的update_time时间字段
CREATE TABLE t1
(
id int auto_increment NOT NULL,
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE current_timestamp,
PRIMARY KEY (id)
) ;

使用obdumper导出历史快照信息发现只有1条数据,时间是最新的

obdumper -hxxxx-P 2883 -u root -t test -c oxxxxxx–flashback-timestamp=‘2026-05-08 16:22:5’ -pxxxxx --sys-password xxxxxx -D test --table t1 --sql -f /tmp/zhao

[root@test TABLE]# more t1.sql
INSERT INTO t1 (id,create_time,update_time) VALUES (10,‘2026-05-08 15:27:04’,‘2026-05-08 16:47:05’);

使用sql语句查询可以获取历史快照数据
obclient [test]> select now();
±--------------------+
| now() |
±--------------------+
| 2026-05-08 16:46:29 |
±--------------------+
1 row in set (0.002 sec)

obclient [test]> SELECT count() FROM t1 AS OF SNAPSHOT TIMESTAMP_TO_SCN(‘2026-05-08 16:22:55’);
±---------+
| count(
) |
±---------+
| 1005 |
±---------+
1 row in set (0.003 s
obclient [test]> SELECT * FROM t1 AS OF SNAPSHOT TIMESTAMP_TO_SCN(‘2026-05-08 16:22:55’) where id=10 ;
±-----±--------------------±--------------------+
| id | create_time | update_time |
±-----±--------------------±--------------------+
| 10 | 2026-05-08 15:27:04 | 2026-05-08 16:22:53 |

【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

3 个赞

时间戳格式

  • –flashback-timestamp 'timestamp_string’用于导出闪回时间点的数据。该选项仅与任意一种数据格式选项搭配使用,不可与 --query-sql 选项搭配使用。仅适用于 OceanBase 数据库 Oracle 兼容模式。
1 个赞

帮顶

1 个赞

学了