---
title: "清除分区权重 - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: 清除分区权重 设置分区权重后，因业务需要，可以清除原来设置的分区权重。 使用限制 仅用户租户支持手动清除分区权重，系统租户不支持手动清除分区权重。 清除表级分区权重是将所有分区上设置的表级权重删除。如果该表设置过分区级权重，则系统会保留分区级权重。 MySQL 模式下清除分区权重 用户登录集群的 MySQL 租户。 …
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.5.0

# 清除分区权重

更新时间：2026-04-09 10:49:26

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/600.manage/350.load-balancing-manage/450.balance-weight-management/300.clear-the-balance-weight.md)  

设置分区权重后，因业务需要，可以清除原来设置的分区权重。

## 使用限制

- 仅用户租户支持手动清除分区权重，系统租户不支持手动清除分区权重。
 - 清除表级分区权重是将所有分区上设置的表级权重删除。如果该表设置过分区级权重，则系统会保留分区级权重。

## MySQL 模式下清除分区权重

1. 用户登录集群的 MySQL 租户。

   连接示例如下，连接数据库时请以实际环境为准。

   ```shell
   obclient -h10.xx.xx.xx -P2883 -uroot@mysql001#obdemo -p***** -A

   ```
 2. 获取表的分区权重信息。

   ```shell
   obclient(root@mysql001)[oceanbase]> SELECT * FROM oceanbase.DBA_OB_OBJECT_BALANCE_WEIGHT;

   ```

   查询结果如下：

   ```shell
   +----------+--------------+-----------------+--------+---------------+------------+----------------+-------------------+-----------------+-------------+---------------+-----------+
   | TABLE_ID | PARTITION_ID | SUBPARTITION_ID | WEIGHT | DATABASE_NAME | TABLE_NAME | PARTITION_NAME | SUBPARTITION_NAME | TABLEGROUP_NAME | DATABASE_ID | TABLEGROUP_ID | OBJECT_ID |
   +----------+--------------+-----------------+--------+---------------+------------+----------------+-------------------+-----------------+-------------+---------------+-----------+
   |   500002 |         NULL |            NULL |      1 | test          | tbl1_h     | NULL           | NULL              | NULL            |      500001 |          NULL |    500002 |
   |   500002 |       500003 |            NULL |      2 | test          | tbl1_h     | p0             | NULL              | NULL            |      500001 |          NULL |    500003 |
   +----------+--------------+-----------------+--------+---------------+------------+----------------+-------------------+-----------------+-------------+---------------+-----------+
   2 rows in set

   ```
 3. 清除表的分区权重。

      - 清除表级权重

       清除表 `tbl1_h` 的分区权重，语句如下。

       ```shell
       obclient(root@mysql001)[test]> CALL DBMS_BALANCE.CLEAR_BALANCE_WEIGHT('test','tbl1_h');

       ```
      - 清除一级分区级权重

       清除表 `tbl1_h` 中一级分区 `p0` 的分区权重，语句如下。

       ```shell
       obclient(root@mysql001)[test]> CALL DBMS_BALANCE.CLEAR_BALANCE_WEIGHT('test','tbl1_h','p0');

       ```

## Oracle 模式下清除分区权重

1. 用户登录集群的 Oracle 租户。

   ```shell
   obclient -h10.xx.xx.xx -P2883 -usys@oracle001#obdemo -p***** -A

   ```shell
   obclient(SYS@oracle001)[SYS]> SELECT * FROM SYS.DBA_OB_OBJECT_BALANCE_WEIGHT;

   ```

   查询结果的示例如下：

   ```shell
   +----------+--------------+-----------------+--------+---------------+------------+----------------+-------------------+-----------------+-------------+---------------+-----------+
   | TABLE_ID | PARTITION_ID | SUBPARTITION_ID | WEIGHT | DATABASE_NAME | TABLE_NAME | PARTITION_NAME | SUBPARTITION_NAME | TABLEGROUP_NAME | DATABASE_ID | TABLEGROUP_ID | OBJECT_ID |
   +----------+--------------+-----------------+--------+---------------+------------+----------------+-------------------+-----------------+-------------+---------------+-----------+
   |   500002 |         NULL |            NULL |      1 | SYS           | TBL1_H     | NULL           | NULL              | NULL            |      201006 |          NULL |    500002 |
   |   500002 |       500003 |            NULL |      2 | SYS           | TBL1_H     | P0             | NULL              | NULL            |      201006 |          NULL |    500003 |
   +----------+--------------+-----------------+--------+---------------+------------+----------------+-------------------+-----------------+-------------+---------------+-----------+
   2 rows in set

      - 清除表级权重

       ```shell
       obclient(SYS@oracle001)[SYS]> delimiter //

       ```

       ```shell
       obclient(SYS@oracle001)[SYS]> BEGIN
             DBMS_BALANCE.CLEAR_BALANCE_WEIGHT('SYS','TBL1_H');
             END;//

       ```

       ```shell
       obclient(SYS@oracle001)[SYS]> delimiter ;

       ```

       ```shell
       obclient(SYS@oracle001)[SYS]> BEGIN
           DBMS_BALANCE.CLEAR_BALANCE_WEIGHT('SYS','TBL1_H','P0');
           END;//

       ```

       ```

## 后续操作

清除分区权重后，表上的分区分布可能会不均衡，如果期望尽快达到分区均衡，可以调用 `DBMS_BALANCE.TRIGGER_PARTITION_BALANCE` 子程序，手动触发一次分区均衡，有关手动触发分区均衡的详细操作，参见[手动触发分区均衡](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476016)。

或者，也可以等待定时分区均衡任务的触发。有关定时分区均衡任务的相关信息，参见 [配置定时分区均衡任务](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476019)。

 上一篇 下一篇 ![有帮助](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) 咨询热线
