请教一下OceanBase数据库集群合并耗时超过24小时了,如何进行问题排查呢?文档里面没找到
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
当OceanBase数据库集群合并耗时超过24小时,问题排查可以从以下几个方面进行:
首先,需要确定当前集群中的合并配置项和当前的合并状态。这可以通过查询相关的系统视图或者日志文件来获取。然后,根据得到的情况,对不同的合并问题类型进行分析后再寻找根因。
对于写入放大问题,可以查询gv$memstore视图查看内存使用情况,其中ACTIVE列表示可用的内存,TOTAL列表示总内存。如果发现有限的空闲MemStore在写入量大的场景被写满,可以考虑通过配置freeze_trigger_percentage降低触发内存清空百分比。
如果发现RootService未发起相关Zone的合并,可以按照以下步骤进行排查:首先,检查RootService合并调度线程是否有报错;其次,确认集群是否正在补副本;最后,查询meta表查看data_version不等于目标版本的副本以缩小排查范围。
另外,可以通过执行特定的SQL语句来确定未完成合并的Zone以及其对应的OBServer的合并进度。如果发现某个Zone的merge_status不为IDLE,那么该Zone就尚未完成合并。
在确定了具体的问题后,还可以登录到相应的OBServer上查看是否存在磁盘I/O瓶颈。