OceanBase数据库登录租户一直卡着,要从哪方面排查原因?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
当 OceanBase 数据库登录租户卡住时,可以从以下方面进行排查:
oceanbase.__ALL_TENANT
表,对比主备集群的租户列表,查看是否有部分租户缺失。V$OB_STANDBY_STATUS
视图的 SYNCHRONIZATION_STATUS
列,如果该列的值为 SYS SCHEMA NOT SYNC
,则可能表示系统租户的 Schema 不同步,可能出现了备集群创建租户时卡住的现象。V$OB_CLUSTER_STATS
视图的命令,比较系统租户的 Schema 版本。如果在使用OceanBase数据库时,登录租户一直卡着,可能的原因和排查方法如下:
检查网络连接:请确保您的网络连接正常,没有出现断开或者延迟的情况。网络问题可能会导致登录过程中出现问题。
系统租户选择:在OceanBase数据库中,有系统租户、用户租户以及每个用户租户对应的Meta租户。需要确保您正在使用正确的租户进行登录操作。系统租户是OceanBase数据库内部用来处理集群公共任务的数据库实例。主备集群之间的系统租户是相互独立的,不会物理同步数据,但是备集群会感知主集群普通租户的变化,保证同步所有普通租户的数据。
查看转储进度:登录sys租户,观察仍然处在冻结状态的MEMtable数量,如果存在记录则认为转储还未结束,长时间未结束即可能发生了阻塞。从OB 3.2版本开始,可以查看sys租户下面内部表观察转储进度,长时间没有推进说明有卡转储现象。
诊断工具的使用: OceanBase 运维平台 OCP 提供了丰富的性能展示功能方便对 OceanBase 进行诊断。可以通过这些工具来查看会话和SQL的等待事件,分析SQL以解决大部分性能问题。