首批通过分布式安全可靠测评,为关键业务系统打造
资源池错误,错误代码 4656
更新时间:2026-06-10 01:56
本文介绍使用 SQL 语句创建资源池时提示 4656 错误的问题排查方法和处理方法。
适用版本
OceanBase 数据库所有版本。
问题现象
使用 SQL 语句创建资源池时,提示错误,信息如下。
obclient> CREATE RESOURCE POOL test unit='test', unit_num=2, zone_list=('Z1','Z2','Z3');
ERROR 4656 (HY000): resource pool unit num is bigger than zone server count
问题原因
根据错误信息可知,资源池单元数超过了任意 Zone 中服务器数量。
一个租户的资源池(Resource Pool)可以包含多个资源单元(Resource Unit)。每个 Unit 会根据集群配置,自动在每个 Zone 中选择一个 OBServer 负载,但同一个资源池中的多个单元不能分配到同一个 OBServer,即一个资源池包含的单元个数不能超过单 Zone 内的状态为 ACTIVE 的 OBServer 个数。这也是错误信息 resource pool unit num is bigger than zone server count 所表达的含义。
因此,您遇到的情况包括但不限于:
集群中存在单点故障。
创建资源池的语句存在问题,例如在 2-2-1 集群中执行以下 SQL。
obclient> CREATE RESOURCE POOL test unit='test', unit_num=3, zone_list=('Z1','Z2','Z3'); ERROR 4656 (HY000): resource pool unit num is bigger than zone server count
解决方法
对于集群中存在 OBServer 故障的问题,请您查看其它知识库文档排查错误原因,或者联系 OceanBase 技术支持。
对于创建资源池语句的问题,请修改 SQL 语句后重新执行。例如对于 2-2-1 集群,您可以使用以下创建资源池的语句。
obclient> CREATE RESOURCE POOL test unit='test', unit_num=1, zone_list=('Z1','Z2','Z3');或者
obclient> CREATE RESOURCE POOL test unit='test', unit_num=2, zone_list=('Z1','Z2');