---
title: 将已有的表添加到 tablegroup 后没有均衡的原因和解决方法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 将已有的表添加到 tablegroup 后没有均衡的原因和解决方法相关的常见问题和使用技巧，帮助您快速解决 将已有的表添加到 tablegroup 后没有均衡的原因和解决方法的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# 将已有的表添加到 tablegroup 后没有均衡的原因和解决方法

更新时间：2024-07-25 09:46

适用版本： V4.2.x 内容类型：Troubleshoot  

## 问题描述

未创建 tablegroup 前通过视图 `dba_ob_table_locations` 查看表组中对应表 leader 的分布情况。

```sql
select table_name,svr_ip from oceanbase.dba_ob_table_locations where table_name in ('xxx','yyy') and role='leader';

```

![image01.png](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20240723tablegroup001.png)

创建 tablegroup 并把已有的表添加到同一个 tablegroup 中。

```sql
CREATE TABLEGROUP test_tg1 SHARDING = 'NONE';
alter table xxx tablegroup='test_tg1';
alter table yyy tablegroup='test_tg1';

```

![image002](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20240723tablegroup002.png)

多次确认后对应的表的 leader 还是在不同的节点上。

![image03.png](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20240723tablegroup003.png)

## 适用版本

OceanBase 数据库 V4.2.0 及之后版本。

## 问题原因

确认一下对应的用户租户的 `partition_balance_schedule_interval` 参数，默认为 2h，需要等这个时间到了后才会均衡，可以调小对应的值让早点触发均衡。

## 解决方法

1. 确认对应租户的 `partition_balance_schedule_interval` 当前值。

   ```sql
   select * from gv$ob_parameters where name='partition_balance_schedule_interval' and tenant_id=xxx;

   ```
 2. 调小对应租户的 `partition_balance_schedule_interval` 当前值。

   ```sql
   ## 在 sys 租户中执行

   alter system set partition_balance_schedule_interval='2m' tenant='xxx';

   ## 或者用户自己的租户中执行

   alter system set partition_balance_schedule_interval='2m';

   ## 或者 OCP 白屏在对应用户租户下修改。

   ```
 3. 调整 `partition_balance_schedule_interval` 当前值之后，通过视图 `dba_ob_table_locations` 查看表组中对应表 leader 的分布情况。

   ![image04](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20240723tablegroup004.png)

   如上所示 2 张表的 leader 在同一个节点上了。

   #### 注意

   在 OceanBase 数据库 V4.2.4 及之后版本中使用手动触发命令。详细介绍，参见 [手动触发分区均衡](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001033890)。

上一篇

[系统表 __all_virtual_table_mgr 中 table_type 的含义](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000207746)

下一篇

[系统表 __all_virtual_table 中 table_type 等字段的含义](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000207747) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
