首批通过分布式安全可靠测评,为关键业务系统打造
SHARDING 为 PARTITION 属性的一级分区随机分布,RS 日志报错 tablegroup has tables that have different primary_zone/locality/part_option
更新时间:2026-07-02 15:41
问题现象
在表组的 SHARDING 为 PARTITION 的情况下,不符合一个表一级分区应该在一个 SERVER 上的情况。且 OCP 报错 tablegroup has tables that have different primary_zone/locality/part_option。

关键日志信息如下。
[2024-11-08 16:46:36.859501] EDIAG [RS] process (ob_root_inspection.cpp:466) [3726688][RSInspectTask][T0][xxxxx-xxxxx-xxxxx-xxxxx] [lt=15][errcode=0] tablegroup has tables that have different primary_zone/locality/part_option BACKTRACE:0x1380ea05 0x58b7ec5 0x5ab928a 0x7c764ff 0x59eb6b6 0x5aa7312 0x8d458a6 0x8d439e7 0x5a76ee6 0x5a76a74 0x13ac2fdc 0x13ace491 0x13aca89d 0x7f5ac33f7d0b 0x7f5ac3339b00
问题原因
表组里有几张表后加了一级分区,打破了表组的 SHARDING 为 PARTITION 的情况下分区数要相同的必要条件,导致一级分区汇聚于一个 server 下的规则被打破。
问题的风险及影响
打破了表组的 SHARDING 为 PARTITION 的分区规则。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
适用版本
OceanBase 数据库 V4.x 版本。
解决方法
删除分区不一致的表或者删除多余分区,保持分区数一致。
规避方式
不添加分区。