更新时间:2025-08-27 GMT+08:00
分享

Oracle源端作业如何查看已消费位点?

通过查看作业日志确认已消费位点

  1. 通过查看作业日志确认已消费位点。

    下载jobmanager日志,搜索关键字“Completed checkpoint”找到最新的一次已完成checkpoint,以下可以看到“checkpoint 6”为最新完成的检查点。

    图1 下载jobmanager日志

    图2 搜索Completed checkpoint
  2. 下载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抽取时延估算已消费位点

运行中的作业,查看监控信息,然后跳转“查看监控指标”,查看最近的一次时延上报情况。
图6 查看监控指标

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

图7 查看作业时间

相关文档