Oracle源端作业如何查看已消费位点?
通过查看作业日志确认已消费位点
- 通过查看作业日志确认已消费位点。
下载jobmanager日志,搜索关键字“Completed checkpoint”找到最新的一次已完成checkpoint,以下可以看到“checkpoint 6”为最新完成的检查点。
图1 下载jobmanager日志图2 搜索Completed checkpoint - 下载taskmanager日志,搜索关键字“Stream split offset on checkpoint 6”,获取当前已消费到的SCN号 scn =16647762,然后在数据库中通过SQL(SCN_TO_TIMESTAMP)查找SCN号对应的时间位点,请注意ORACLE数据库的时区与用户云账号所在Region的时区不一定一致,使用UDF SCN_TO_TIMESTAMP得到的时间请进一步转换为云账号所在Region时区的时间。
图3 下载taskmanager日志图4 搜索Stream split offset on checkpoint 6图5 时间转换
以上SCN转时间的SQL为:
SELECT SCN_TO_TIMESTAMP(16647762) timestamp FROM DUAL;
注意:
- 当作业存在多并发时会有多个taskmanager日志,只有其中的某一个taskmanager日志包含Stream split offset信息。
- 通过SCN_TO_TIMESTAMP转换得到的时间采用了ORACLE数据库的时区,请自行将其结果转换为用户华为云账号所在Region时区的时间。
根据作业WAL抽取时延估算已消费位点

如下图,2025-07-29 16:14:40的时候,时延处于毫秒级,可以认为作业没有时延,已消费位点可以粗略估计为“2025-07-29 16:10:00”,这里估测位点时往前回退几分钟更为安全,应尽量保证作业不丢数。
