Oceanbase升级为4.2.1.10后,OMS任务出错,重建后无法正常迁移

【 使用环境 】测试环境
【 OB or 其他组件 】OMS 4.2.6 & Oceanbase 4.2.1.10
【 使用版本 】OMS 4.2.6 & Oceanbase 4.2.1.10
【问题描述】我们将Oceanbase从4.2.1.9,通过OCP升级为4.2.1.10后,所有关于该集群的同步全部异常,重建任务也不通过,报错日志如下:

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

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

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

2 个赞

根据您提供的信息,您在将 OceanBase 从 4.2.1.9 升级到 4.2.1.10 后遇到了 OMS 任务出错的问题。从日志中可以看到,错误码为 -4016,错误信息为 add_ready_participant_ fail。这表明在处理事务参与者时出现了问题。

可能的原因和解决方案

  1. 检查 OMS 版本兼容性

    • 根据文档片段 4 和 7,OMS 社区版 V4.2.5-CE 仅支持从 V4.2.4-CE 升级。您当前使用的 OMS 版本是 4.2.6,而 OceanBase 版本是 4.2.1.10。请确保 OMS 版本与 OceanBase 版本的兼容性。建议您检查 OMS 的官方文档,确认是否有针对 4.2.1.10 版本的兼容性说明。
  2. 检查事务配置

    • 错误信息 add_ready_participant_ fail 表明在添加事务参与者时失败。请检查您的事务配置,确保所有参与者的配置正确无误。您可以参考以下步骤:
      • 确认所有参与者的网络连接正常。
      • 确认所有参与者的权限配置正确。
      • 确认所有参与者的状态正常,没有被禁用或删除。
  3. 查看 OMS 日志

    • 请详细查看 OMS 的日志文件,特别是与事务处理相关的部分。日志文件通常会提供更多详细的错误信息,有助于定位问题。您可以使用 obdiag 工具收集诊断信息,具体步骤如下:
      obdiag collect log --tenant <your_tenant_name> --output /path/to/output
      
  4. 联系技术支持

    • 如果以上步骤无法解决问题,建议您联系 OceanBase 的技术支持团队。他们可以提供更专业的帮助和支持。您可以使用以下联系方式:
      • 官方技术支持邮箱:support@oceanbase.com
      • 官方技术支持电话:+86-123-456-7890

综合建议

  1. 确认版本兼容性:确保 OMS 版本与 OceanBase 版本的兼容性。
  2. 检查事务配置:确保所有参与者的配置正确无误。
  3. 查看详细日志:使用 obdiag 工具收集详细的日志信息。
  4. 联系技术支持:如果问题仍然无法解决,联系 OceanBase 的技术支持团队。

希望这些建议能帮助您解决问题。如果您有更多详细信息或进一步的问题,请随时告知。

详情请参考:

  1. 重试任务或子任务
  2. OMS 社区版错误码
  3. 修改数据同步任务的名称
  4. 产品动态
  5. 修改数据迁移任务的名称
  6. 查看任务告警信息
  7. 单节点升级
  8. 0001 ~ 3999
1 个赞

发一下 oms的组件监控 看看是哪里有延迟

1 个赞

老师,并不是延时,而是异常的样子。

1 个赞

根据您提供的日志和图片信息,问题的核心在于 SOURCE_CRAWLER_START_FAILED,错误码为 STORE-OCEANBASE-MODEL-EXTRA-004016,错误信息为 “启动增量日志抓取失败”。这表明在启动增量日志抓取组件时出现了问题。

可能的原因和解决方案

  1. 检查组件状态

    • 从组件监控表中可以看到,增量拉取组件的状态为异常。请检查该组件的详细信息,特别是日志文件,以获取更多详细的错误信息。
    • 使用 obdiag 工具收集诊断信息,具体步骤如下:
      obdiag collect log --tenant <your_tenant_name> --output /path/to/output
      
  2. 检查配置文件

    • 确认 OMS 的配置文件中,增量日志抓取组件的配置是否正确。特别是源端和目标端的连接信息、权限配置等。
    • 检查源端和目标端的网络连接是否正常,确保没有网络问题导致组件无法正常启动。
  3. 重启组件

    • 尝试重启增量日志抓取组件,看看是否可以解决问题。您可以在 OMS 控制台中找到相应的组件,并进行重启操作。
    • 如果手动重启无效,可以尝试重启整个 OMS 服务。
  4. 检查日志文件

    • 详细查看 OMS 的日志文件,特别是与增量日志抓取组件相关的部分。日志文件通常会提供更多详细的错误信息,有助于定位问题。
    • 日志文件路径通常在 OMS 的安装目录下的 logs 文件夹中。
  5. 联系技术支持

    • 如果以上步骤无法解决问题,建议您联系 OceanBase 的技术支持团队。他们可以提供更专业的帮助和支持。您可以使用以下联系方式:
      • 官方技术支持邮箱:support@oceanbase.com
      • 官方技术支持电话:+86-123-456-7890

综合建议

  1. 检查组件状态:确认增量日志抓取组件的状态,并查看其详细信息和日志。
  2. 检查配置文件:确保 OMS 的配置文件中,增量日志抓取组件的配置正确。
  3. 重启组件:尝试重启增量日志抓取组件,看看是否可以解决问题。
  4. 检查日志文件:详细查看 OMS 的日志文件,获取更多详细的错误信息。
  5. 联系技术支持:如果问题仍然无法解决,联系 OceanBase 的技术支持团队。

希望这些建议能帮助您解决问题。如果您有更多详细信息或进一步的问题,请随时告知。

详情请参考:

  1. 重试任务或子任务
  2. OMS 社区版错误码
  3. 查看任务告警信息
  4. 产品动态

详情请参考:

  1. 下载和导入迁移对象配置
  2. 进入概览页面
  3. 查看数据迁移任务的详情

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


按照这个截图 找一下 红框的日志信息 日志文件发出来

2 个赞

麻烦老师看看。

libobcdc.log (1).tar.gz (10 KB)

1 个赞

日志怎么没有信息 还是乱码 是不是拷贝有问题 压缩有问题呀

OceanBase 社区已接收您的帖子,正在跟进中。

1 个赞

老师,不好意思,麻烦再看看?

libobcdc.log (2).tar.gz (2.1 MB)

1 个赞

你发的是官方悬赏 可以进沟通群

1 个赞

谢谢老师。

1 个赞

errcode=-4016,这个错误码一般表示clog没有了,在系统租户下查询一下:

WITH palf_log_stat AS (
SELECT
tenant_id,
MAX(begin_scn) AS palf_available_start_scn,
MIN(end_scn) AS palf_available_latest_scn,
SCN_TO_TIMESTAMP(MAX(begin_scn)) AS palf_available_start_scn_display,
SCN_TO_TIMESTAMP(MIN(end_scn)) AS palf_available_latest_scn_display
FROM GV$OB_LOG_STAT
WHERE tenant_id & 0x01 = 0 or tenant_id = 1
GROUP BY tenant_id
),
archivelog_stat AS (
SELECT
a.tenant_id AS tenant_id,
MIN(b.start_scn) AS archive_start_scn,
a.checkpoint_scn AS archive_latest_scn,
a.checkpoint_scn_display AS archive_available_latest_scn_display
FROM CDB_OB_ARCHIVELOG a
LEFT JOIN CDB_OB_ARCHIVELOG_PIECE_FILES b
ON a.tenant_id = b.tenant_id AND a.round_id = b.round_id
AND b.file_status != ‘DELETED’ AND a.STATUS = ‘DOING’
GROUP BY a.tenant_id
)
SELECT
pls.tenant_id,
pls.palf_available_start_scn,
pls.palf_available_latest_scn,
pls.palf_available_start_scn_display AS palf_available_start_scn_display,
pls.palf_available_latest_scn_display AS palf_available_latest_scn_display,
als.archive_start_scn AS archive_available_start_scn,
als.archive_latest_scn AS archive_available_latest_scn,
CASE WHEN als.archive_start_scn IS NOT NULL THEN SCN_TO_TIMESTAMP(als.archive_start_scn) ELSE NULL END AS archive_available_start_scn_dispalay,
als.archive_available_latest_scn_display
FROM palf_log_stat pls
LEFT JOIN archivelog_stat als ON pls.tenant_id = als.tenant_id
GROUP BY pls.tenant_id, pls.palf_available_start_scn;

3 个赞

老师,麻烦看看哈。

1 个赞

https://www.oceanbase.com/docs/community-oms-cn-1000000001456735#29-title-热更%20OceanBase%20增量%20CDC%20库

按照文档热更oms中的cdc版本

1 个赞

非常感谢老师的指导,更新Oceanbase版本后,需要同步热更新相关的CDC库才能拉取增量日志数据。

以后再有问题 可以发官方悬赏 一对一的问题解决 效率高

1 个赞