oms全量校验报错

【 使用环境 】生产环境
【 OB or 其他组件 】OMS
【 使用版本 】4.2.8_CE
【问题描述】
全量校验,校验不通过。如图。

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

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

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

根据您提供的信息和文档库中的内容,以下是对 OMS 全量校验报错问题的分析与解决建议:

1. 问题分析

从您上传的图片和 OCR 提取的内容来看,OMS 在执行全量校验时出现了不通过的情况。具体表现为某些表的数据差异较大(如 mitatortable.diffmax),并且可能存在数据行数或值的不一致。

结合文档片段 3 和文档片段 7 的内容,OMS 社区版在发生报错时,需要按照以下步骤进行排查:

  • 确认是否存在因官网文档中提到的使用限制导致的异常。
  • 检查源端和目标端的基本信息及用户权限是否正确。
  • 查看任务配置是否有误。

此外,文档片段 2 提到,对于处于已进入全量校验阶段但未执行成功的任务,可以尝试 批量跳过全量校验 操作。但这仅适用于部分场景,且需要谨慎操作。


2. 解决步骤

步骤 1:检查任务配置

  • 登录 OMS 社区版控制台,进入 迁移任务列表 页面。
  • 找到报错的任务,检查其配置是否正确,包括:
    • 源端和目标端的连接信息(IP、端口、用户名、密码等)。
    • 数据库和表的映射关系。
    • 用户权限是否足够(例如,是否具有 SELECT、INSERT、UPDATE 等权限)。

步骤 2:查看日志

  • 使用 OceanBase 的诊断工具 obdiag 收集诊断信息,具体命令如下:
    obdiag collect log --start-time "YYYY-MM-DD HH:MM:SS" --end-time "YYYY-MM-DD HH:MM:SS" -o /path/to/output
    
    替换 YYYY-MM-DD HH:MM:SS 为任务运行的时间范围,并将输出路径替换为实际路径。
  • 分析日志文件,查找具体的错误原因。重点关注以下关键词:
    • datacore
    • mitatortable.diffmax
    • diff max

步骤 3:排查数据差异

根据 OCR 提取的内容,mitatortable 表存在较大的数据差异。可以通过以下 SQL 查询进一步确认:

-- 比较源端和目标端的数据行数
SELECT COUNT(*) FROM source_database.mitatortable;
SELECT COUNT(*) FROM target_database.mitatortable;

-- 比较关键字段的值
SELECT column_name, COUNT(*)
FROM source_database.mitatortable
GROUP BY column_name
ORDER BY COUNT(*) DESC;

SELECT column_name, COUNT(*)
FROM target_database.mitatortable
GROUP BY column_name
ORDER BY COUNT(*) DESC;

如果发现数据确实不一致,可能的原因包括:

  • 源端和目标端的数据同步中断。
  • 数据类型或格式不匹配。

步骤 4:尝试跳过全量校验

如果确认数据差异不影响业务逻辑,可以尝试跳过全量校验:

  1. 迁移任务列表 页面,选择需要跳过的任务。
  2. 单击页面下方的 更多批量操作 > 批量跳过全量校验
  3. 在弹出对话框中,单击 确定
  4. 等待操作完成,并检查任务状态。

注意:跳过全量校验可能会导致数据一致性问题,请务必确认差异对业务无影响后再执行此操作。


3. 后续建议

  • 如果问题仍未解决,建议联系 OceanBase 的技术支持团队,提供以下信息:
    • OMS 版本(当前为 4.2.8_CE)。
    • 迁移任务的详细配置。
    • 使用 obdiag 收集的日志文件。
  • 定期检查 OMS 的更新版本,确保使用的是最新稳定版本。

4. 总结

根据文档库中的信息,OMS 全量校验报错通常由任务配置错误、数据差异或权限问题引起。建议按照上述步骤逐一排查,并根据实际情况决定是否跳过全量校验。如果仍有疑问,请提供更多详细信息以便进一步分析。

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

  1. 如何处理 Failed to fetch 报错
  2. 批量操作数据迁移任务
  3. OMS 社区版问题排查手册
  4. 更新 Full-Verification 组件
  5. 更新 Full-Import 组件
  6. OMS 社区版错误码
  7. 如何处理用户密码被锁定的问题
  8. JDBC-Sink

可以检查一下 看看那些数据不一致

你那是不一致的太多了,超过参数设置的不一致的值了
解决办法,更改OMS的参数,改大,太多不一样的话,还是处理数据吧