开发者社区 问答 正文

请教一下OceanBase数据库集群合并耗时超过24小时了,如何进行问题排查呢?

请教一下OceanBase数据库集群合并耗时超过24小时了,如何进行问题排查呢?文档里面没找到

展开
收起
真的很搞笑 2023-12-12 19:09:41 128 分享 版权
来自: OceanBase
1 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    当OceanBase数据库集群合并耗时超过24小时,问题排查可以从以下几个方面进行:

    1. 首先,需要确定当前集群中的合并配置项和当前的合并状态。这可以通过查询相关的系统视图或者日志文件来获取。然后,根据得到的情况,对不同的合并问题类型进行分析后再寻找根因。

    2. 对于写入放大问题,可以查询gv$memstore视图查看内存使用情况,其中ACTIVE列表示可用的内存,TOTAL列表示总内存。如果发现有限的空闲MemStore在写入量大的场景被写满,可以考虑通过配置freeze_trigger_percentage降低触发内存清空百分比。

    3. 如果发现RootService未发起相关Zone的合并,可以按照以下步骤进行排查:首先,检查RootService合并调度线程是否有报错;其次,确认集群是否正在补副本;最后,查询meta表查看data_version不等于目标版本的副本以缩小排查范围。

    4. 另外,可以通过执行特定的SQL语句来确定未完成合并的Zone以及其对应的OBServer的合并进度。如果发现某个Zone的merge_status不为IDLE,那么该Zone就尚未完成合并。

    5. 在确定了具体的问题后,还可以登录到相应的OBServer上查看是否存在磁盘I/O瓶颈。

    2023-12-13 14:00:38
    赞同 展开评论