如何查看OceanBase的Compaction状态?

如何查看OceanBase的Compaction状态?

2 个赞

在 OceanBase V4 中,查看 Compaction(合并/转储)状态主要有两种方式:通过 OCP控制台 进行图形化查看,或通过 SQL 命令 查询系统视图。

2 个赞

@论坛小助手

2 个赞

要查看OceanBase的Compaction状态,可以使用视图 GV$OB_MERGE_INFO 或 V$OB_MERGE_INFO,这两个视图展示了OceanBase集群已经完成的Compaction相关的统计信息。

更多信息请查看:

  1. V$OB_MERGE_INFO
  2. GV$OB_MERGE_INFO
  3. 系统视图总览

在OceanBase中,查看Compaction(数据合并)的状态,主要依靠查询系统视图(sys 租户)来完成。你可以从租户、Zone和节点(Tablet) 三个层面来观察其进度。

1. 查看租户级合并状态

这个视图帮助你快速了解每个租户当前整体的合并进度和最终结果。

  • 使用视图CDB_OB_MAJOR_COMPACTION (在 sys 租户下查询)
  • 关键字段
    • TENANT_ID :租户ID。
    • STATUS :合并状态。IDLE 表示空闲,COMPACTING 表示正在进行中,VERIFYING 表示正在校验。
    • IS_ERROR :是否发生错误。
    • START_TIME / LAST_FINISH_TIME :本轮合并的开始时间和上一轮合并的结束时间。

2. 查看Zone级合并状态

如果整体合并卡住,这个视图能帮你快速定位到是哪个Zone(机房/区域)存在问题。

  • 使用视图CDB_OB_ZONE_MAJOR_COMPACTION (在 sys 租户下查询)
  • 关键字段
    • ZONE :Zone名称。
    • STATUS :该Zone的合并状态,含义与租户级一致。

3. 查看Tablet级合并进度

这是最细粒度的观察方式,能看到具体的合并任务还有多少数据未完成,以及预计的完成时间,是排查“合并卡住”问题的关键。

  • 使用视图GV$OB_TABLET_COMPACTION_PROGRESS (可在用户租户或sys 租户下查询)
  • 关键字段
    • TYPE :任务类型。查看合并时应关注MAJOR_MERGE
    • STATUS :任务状态。NODE_RUNNING 表示正在运行。
    • UNFINISHED_DATA_SIZE尚未处理的数据量 。如果这个值长时间不减少,可能是合并任务卡住了。
    • ESTIMATED_FINISH_TIME :预计完成时间。

学习了