问题描述
在 OceanBase 数据库 V1.4.7x 版本对集群中的分区表进行 truncate 操作后,集群分区数会快速增涨(增长量级相当于被truncate的表分区总数),甚至达到单机分区上限。
适用版本
OceanBase 数据库 V1.4.7x 版本。
问题原因
由于 truncate table 内部实现为 drop table 后 create table,其中 drop 后的 partition 会留存在集群中,无法自动 GC 清理掉。
解决方法
等待集群自动触发合并或手工合并,若尽快恢复集群正常运行可发起手工合并,如下操作。
使用 root 用户登录到数据库的 sys 租户。
发起集群合并。发起集群的合并 SQL 语句如下。
obclient> ALTER SYSTEM MAJOR FREEZE;