OMS数据同步为什么要开启归档

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】OB4.2 OMS4.2.6
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

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

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
OMS数据同步从OB mysql模式到kafka,预检查的时候有个源端-OceanBase 数据库 4.x 版本日志归档开关检查。为什么要开启归档?是不是clog被覆盖以后,从归档日志里面接续同步呢?@论坛小助手

根据文档库中的信息,OMS 数据同步需要开启归档的原因如下:

  1. 日志归档的作用
    日志归档是 OceanBase 数据库中用于保存已提交事务的 Commit Log(clog)的一种机制。当 clog 被覆盖或复用时,归档日志可以作为备份,确保在数据同步过程中不会因为 clog 的丢失而导致数据不完整或无法接续同步。

  2. 为什么需要开启归档?
    根据文档片段 4 的信息:

    • 如果日志归档不是 DOING 状态,则不能开启数据备份。这表明归档日志对于数据同步任务的完整性和一致性至关重要。
    • 在 OMS 数据同步场景中,如果 clog 被复用或覆盖,而此时归档未开启,可能会导致同步链路中断或数据丢失。因此,开启归档可以保证即使 clog 被复用,也可以通过归档日志接续同步。
  3. clog 被覆盖后的处理
    是的,当 clog 被覆盖后,OMS 可以从归档日志中接续同步。这是因为归档日志保存了已经提交事务的完整记录,即使 clog 被复用,归档日志仍然可以提供必要的增量数据。

  4. 相关配置检查
    在预检查环节,OMS 会验证源端 OceanBase 数据库的日志归档开关是否开启。如果未开启,可能会导致同步任务失败或数据不一致。因此,建议在同步任务开始前确保日志归档处于 DOING 状态。

总结

  • 开启归档是为了避免 clog 被复用或覆盖后导致的数据丢失或同步中断。
  • 当 clog 被覆盖时,OMS 可以通过归档日志接续同步,确保数据的一致性和完整性。
  • 预检查环节要求日志归档处于 DOING 状态,否则可能会影响同步任务的正常运行。

参考文档:

  • 文档标题: 通过 OMS 进行数据迁移和同步 → 使用 OMS 进行数据同步 → 数据同步概述
  • 文档标题: 错误原因:日志归档不是 DOING 状态,不能开启数据备份

如果您还有其他疑问,请进一步提供详细信息,我们将尽力为您解答!

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

  1. 日志同步问题
  2. 通过 OMS 进行数据迁移和同步
  3. OceanBase Store RPC 访问 OceanBase 集群失败
  4. 9000 ~ 9499
  5. Redo 日志
  6. 内存和磁盘要求
  7. OceanBase 社区版之间的同步 DDL
  8. 为 MySQL 数据库开启 Binlog