暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OceanBase-Too many partitions (including subpartitions) were defined问题

原创 不想用随机名字 2023-05-25
2200

oceanbase在创建表的时候提示

ErrorCode=600,SQLState=HY000,Details=ORA-00600:interl error code,arguments:-5188,OceanBase-Too many partitions (including subpartitions) were defined

虽然是内部错误,但是错误信息是指:创建了太多了分区
以下是我的问题排查思路:

1、检查分区最大数量参数

select * from __all_virtual_sys_parameter_stat where name like '%partition%';

其中有一个隐藏参数_max_partition_cnt_per_server:表示么个observer上可以创建最大的分区数量当前是500000。
于是查询一下当前分区数量的和是80000多

select count(*) from v$partition;

并没有超过这个限制。
2、检查回收站

show recyclebin;

发现回收站是空的
3、检查租户内存
检查当前租户内存使用情况

SELECT tenant_id, sum(hold) FROM oceanbase.__all_virtual_tenant_ctx_memory_info WHERE svr_ip = 'xxx.xxx.xxx.xxx' AND svr_port=2882 GROUP BY tenant_id;

检查租户的资源规格

select * from __all_unit_config;

通过查询租户内存发现,租户内存已经快用完了。怀疑是内存的问题,于是调整资源规格重新尝试一下,问题解决
查询observer可用内存

select * from __all_virtual_server_stat;

调整租户的资源规格

obclient> ALTER RESOURCE UNIT unit1 MAX_CPU 8, MAX_MEMORY '32G', MAX_IOPS 128, MAX_DISK_SIZE '500G', MAX_SESSION_NUM 75, MIN_CPU=8, MIN_MEMORY='32G', MIN_IOPS=5000;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论