OMS数据无法同步

【 使用环境 】生产环境
【 OB or 其他组件 】OMS 4.2.7
【 使用版本 】4.2.7
【问题描述】OMS,store组件数据拉起失败
【复现路径】问题出现前后相关操作
1、OMS 组件store,无法正常拉取

2、相关日志如下:
libobcdc_store7107.log (3.1 MB)

【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

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

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

1 个赞

根据您提供的信息,OMS 组件 store 在生产环境中遇到了数据拉取失败的问题。为了更好地帮助您解决问题,请参考以下步骤进行排查和处理:

  1. 检查日志文件

    • 您已经提供了部分日志文件 libobcdc_store7107.log,但其中没有明显的错误信息。建议您继续查看日志文件中是否有更详细的错误提示或异常信息。特别是关注日志中的警告(WARN)和错误(ERROR)级别的记录。
  2. 确认组件状态

    • 根据您提供的图片,Store 组件的最早拉取位点和当前拉取位点均为 1970-01-01 08:00:00,这表明组件可能从未成功拉取过数据。请确保 Store 组件配置正确,并且能够正常连接到源端数据库。
    • 同时,Incr-Sync 组件显示有较大的延迟时间(55年),这显然是不正常的。请检查 Incr-Sync 组件的配置和网络连接情况,确保其能够正常工作。
  3. 验证网络连接

    • 确认 StoreIncr-Sync 组件与源端和目标端之间的网络连接是否正常。可以尝试使用 pingtelnet 命令测试网络连通性。
    • 检查防火墙设置,确保没有阻止必要的端口通信。
  4. 检查 OMS 配置

  5. 重启组件

    • 尝试重启 StoreIncr-Sync 组件,观察是否能恢复正常工作。有时简单的重启可以解决一些临时性的问题。
  6. 收集更多信息

    • 如果问题仍然存在,建议使用 OceanBase 敏捷诊断工具 obdiag 收集更多的诊断信息。具体操作可以参考链接:OceanBase 敏捷诊断工具 obdiag
  7. 联系技术支持

    • 如果经过上述步骤仍然无法解决问题,建议您联系 OceanBase 的官方技术支持团队获取进一步的帮助。提供详细的日志文件和配置信息将有助于更快地定位问题。

希望以上建议能帮助您解决问题。如果需要更多帮助,请随时告知。

检索到的文档如下:

  1. 通过 OMS 进行数据迁移和同步
  2. 遇到问题如何向技术支持同学提问
  3. 0001 ~ 3999
  4. 4500 ~ 4999
1 个赞


clog被清理了报错是errcode=-4016 所以拉取不到clog日志

但是,我是最新的时间点。

感谢您的补充信息。既然您提到当前已经是最新时间点,但仍然遇到 OMS 组件 Store 数据拉取失败的问题,我们可以进一步深入排查。以下是更详细的建议和步骤:

1. 检查日志中的错误信息

尽管您提到日志中没有明显的错误信息,但仍需仔细检查日志文件 libobcdc_store7107.log 中是否有任何警告(WARN)或错误(ERROR)级别的记录。特别是关注以下几点:

  • 是否有连接超时、认证失败等网络或权限相关的问题。
  • 是否有数据格式不匹配或解析错误的提示。

2. 确认组件状态和配置

根据您提供的图片和日志,Store 组件的状态显示为:

  • 最早拉取位点:1970-01-01 08:00:00
  • 当前拉取位点:1970-01-01 08:00:00

这表明 Store 组件从未成功拉取过数据。请确保以下配置项正确无误:

  • 集群名称 (cluster_db_name) 和 集群 URL (cluster_url) 是否正确。
  • 用户名 (cluster_user) 和 密码 是否正确,并且该用户具有足够的权限。
  • 实例索引 (instance_index) 和 实例数量 (instance_num) 是否与实际环境匹配。

3. 验证源端和目标端的时间同步

由于 Store 组件的拉取位点是基于时间戳的,确保源端和目标端的时间同步非常重要。可以使用以下命令检查系统时间:

date

如果时间不同步,可能会导致数据拉取失败。您可以使用 NTP 或其他时间同步工具来确保两端的时间一致。

4. 检查增量同步组件的状态

Incr-Sync 组件显示有较大的延迟时间(55年),这显然是不正常的。请检查 Incr-Sync 组件的日志文件,确保其能够正常工作。具体操作如下:

  • 查看 Incr-Sync 组件的日志文件,寻找任何异常信息。
  • 确认 Incr-Sync 组件的配置是否正确,特别是关于数据源和目标端的配置。

5. 检查 OMS 版本兼容性

您提到使用的 OMS 版本为 4.2.7,请确保该版本与您的 OceanBase 数据库版本兼容。参考 OceanBase 迁移服务 (OMS) 文档,确认是否有已知的版本兼容性问题或补丁更新。

6. 重启并监控组件

尝试重启 StoreIncr-Sync 组件,并在重启后密切监控其状态。可以通过 OMS 的管理界面或命令行工具查看组件的运行状态和日志输出。

7. 使用 obdiag 收集诊断信息

如果问题仍然存在,建议使用 obdiag 工具收集更多的诊断信息。具体操作可以参考链接:OceanBase 敏捷诊断工具 obdiag。收集的信息包括但不限于:

  • 日志文件
  • 配置文件
  • 系统状态

8. 联系技术支持

如果经过上述步骤仍然无法解决问题,建议您联系 OceanBase 的官方技术支持团队获取进一步的帮助。提供详细的日志文件和配置信息将有助于更快地定位问题。

9. 检查数据库表结构和数据

有时,Store 组件无法拉取数据可能是由于源端数据库表结构或数据存在问题。请检查源端数据库的表结构和数据完整性,确保没有损坏或不一致的情况。

10. 验证网络和防火墙设置

再次确认 StoreIncr-Sync 组件与源端和目标端之间的网络连接是否正常。可以尝试使用 pingtelnet 命令测试网络连通性。同时,检查防火墙设置,确保没有阻止必要的端口通信。

总结

根据您提供的信息,Store 组件的数据拉取失败可能由多种因素引起,包括配置错误、网络问题、时间不同步等。建议您按照上述步骤逐一排查,以确定具体原因并采取相应的解决措施。如果需要更多帮助,请随时告知。

希望以上建议能帮助您解决问题。

具体信息可参考以下文档:

  1. GET_STATS_HISTORY_AVAILABILITY
  2. mysql.time_zone
  3. OceanBase 术语
  4. mysql.time_zone_transition
  5. oceanbase.CDB_OB_LS
  6. time_zone
  7. timestamp
  8. 获取所有资源规格信息
  9. 查询指定的资源规格信息
  10. 管理历史统计信息

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

位点是在这个时间内么?

是的,好奇怪,我升级为 4.2.5.bp2,恢复了。

oceanbase,从4.2.5.bp1 升级为4.2.5.bp2,中午重启都不好使。

你在持续观察观察 按正常的流程不会呀 我也反馈一下 看看是否问题

老师,归档日志在,理论上是不是“2025-02-10 17:38:26.451286”这个时间点之后都能获取呢?

正常情况下 是可以的 排查一下刚才的问题 通过 配置文件obcdc.conf 或日志grep meta_data_refresh_mode libobcdc.log*