一个租户最多可以建多少个分区,

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】 3.2.3.3 bp8
【问题描述】 之前遇到租户下某个数据库要建表,发现建不出来,提示太多分区数了 无法建,这个和单表最多建8192个分区应该没关系吧,是不是租户层也有分区限制。
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

用户问题实际上涉及的是 OceanBase 中关于分区数量的限制问题,具体是针对租户级别的分区数量限制。但是,从提供的 obdiag 使用指南来看,该工具主要用于收集与诊断系统运行中的各类异常问题,如性能问题、连接问题、事务处理问题等,而不是用于查询数据库设计或配置上的限制。

不过,根据您提到的问题背景,我可以尝试解答:

  1. 在 OceanBase 中,单表的分区数确实有限制,默认最大值是 8192 个分区。
  2. 对于整个租户而言,分区数量也存在限制,但具体的限制值取决于您的集群配置及版本。在较新的版本中,每个租户的最大分区数可能会有所不同。在您的版本(OceanBase 3.2.3.3 bp8)中,建议查阅官方文档或联系技术支持以获取确切的数值。
  3. 您提到的建表失败情况可能确实是由于达到了租户级别或单表级别的分区数量上限所导致。

虽然 obdiag 不适合解决此类配置限制问题,但如果您希望了解当时系统状态的具体细节,例如在建表失败时系统的行为,可以考虑使用以下日志采集命令来获取相关信息:

日志采集场景: SQL 执行出错
日志采集命令: obdiag gather scene run --scene=observer.sql_err --env “{db_connect=’-h<数据库地址> -P<端口号> -u<用户名>@<租户名> -p<密码> -D<数据库名>’, trace_id=’<事务跟踪ID>’}”

请您提供一些信息以便我们更好地帮助您:

  1. 您当前使用的 OceanBase 精确版本号是什么?
  2. 您尝试创建的表具体有多少个分区?
  3. 创建表失败时是否有特定的错误代码或消息?
  4. 能否分享一下您的租户配置详情,特别是与分区相关的设置?
  5. 当前集群中有多少个租户,每个租户的大致规模如何?

通过上述信息,我们可以更准确地判断问题的原因并提供解决方案。

附上敏捷诊断工具 obdiag 使用帮助链接

1 个赞

头一回见这个问题,通常都是问一个表创建分区的上限,涨知识了

你好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:

  1. 如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;

  2. 如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。

另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。