暂无图片
OceanBase执行truncate table导致分区数突增
最近更新:2024-04-19 11:43:49

适用范围

本文适用于 OceanBase V3 版本。

问题概述

对于 OceanBase V3 版本,最佳实践不建议分区数过多,单OBSERVER分区个数上限50000。OceanBase 的回收站会保留被删除的表和索引,包括被truncate的表及其表上带的索引,当回收站的对象多了以后,就会导致 OceanBase 的分区数增加。 下面是一个在 Oracle 模式下分区数突增的案例: ca471eabb33a1cbaae0238c64184c39.png 可以看出在 08:02 时分区数突增。

问题分析

  1. 通过 dba_objects 视图查询哪个用户的分区多
select OWNER,count(*) from DBA_OBJECTS where object_type not like 'INDEX%' group by OWNER order by 2 desc;

查询得知 OWNER __recyclebin 分区数最多。

  1. 查询回收站的 dba_recyclebin 视图,在分区突增时间段是哪个表在操作
select *  from dba_recyclebin;

image.png

......