首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 数据库集群执行 SQL 出现卡住情况,OceanBase 数据库日志内出现 -6231 重拾行为的原因和解决方法
更新时间:2026-07-02 15:41
问题现象
OceanBase 数据库集群执行简单 SQL 产生如下超时。
ORA-00600: internal error code, arguments: -6212, Statement is timeout
同时日志出现如下情况且持续循环出现。
[2024-09-19 15:22:51.335167] WARN [STORAGE] get_read_tables (ob_multi_version_table_store.cpp:496) [3613945][0][YB420A015CDF-00061CB731DF4369-0-0] [lt=8] [dc=0] failed to get read tables(ret=-6231)
[2024-09-19 15:22:51.335171] WARN [STORAGE] get_read_tables (ob_partition_store.cpp:1075) [3613945][0][YB420A015CDF-00061CB731DF4369-0-0] [lt=3] [dc=0] failed to get read tables(ret=-6231, handle={table_count:0, []}, table_store=0x7f8118d83a80)
问题原因
OceanBase 数据库集群在执行 SQL 时,将 SQL 路由到了副本的 Leader 节点,但是因 Leader 节点缺少基线数据,从而导致副本不可读,OceanBase 数据库内部持续不断重试该 SQL,从而导致超时出现,该问题一般发生在局部索引上。
问题的风险及影响
SQL 执行卡住,业务响应慢。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
适用版本
OceanBase 数据库 V2.x、V3.x 版本。
解决方法及规避方式
解决方法:
删除异常的局部索引,重新创建。
升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库 V3.2.4 BP8(oceanbase-3.2.4.8-108000142024041520)版本(可缓解该问题)。
规避方式: 无。