---
title: "修改资源池 - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: 修改资源池 修改资源池属性，即是调整资源池配置的 UNIT 、 UNIT_NUM 、 ZONE_LIST 等参数信息。 使用限制 OceanBase 数据库 V4.0 版本后，系统不再支持租户多个资源池的 Unit 数目异构。当资源池分配给租户后，无法单独调整某个资源池的 UNIT_NUM ，只能同时调整该租户下所有…
---
切换语言

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

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

# 修改资源池

更新时间：2023-07-28 10:45:58

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/700.reference/200.administrator-guide/200.basic-database-management/300.manage-resources/500.manage-resource-pools/300.modifies-the-resource-pool.md)  

修改资源池属性，即是调整资源池配置的 `UNIT`、`UNIT_NUM`、`ZONE_LIST` 等参数信息。

## 使用限制

OceanBase 数据库 V4.0 版本后，系统不再支持租户多个资源池的 Unit 数目异构。当资源池分配给租户后，无法单独调整某个资源池的 `UNIT_NUM`，只能同时调整该租户下所有资源池的 `UNIT_NUM`，且当前仅支持调大租户下所有资源池的 `UNIT_NUM`。

## 操作步骤

1. 使用 `root` 用户登录集群的 `sys` 租户。
 2. 执行以下语句，修改资源池。

   语句如下：

   ```sql
   ALTER RESOURCE POOL pool_name
   UNIT [=] unit_name,
   UNIT_NUM [=] unit_num [DELETE UNIT = (unit_id_list)],
   ZONE_LIST [=] ('zone'[, 'zone' ...]);

   ```

   语句使用说明：

      - 修改资源池的命令每次仅支持修改一个参数。
      - `UNIT_NUM` 表示指定修改每个 Zone 下的资源单元个数，取值需要小于等于对应 Zone 中的 OBServer 节点的个数。

       当资源池未分配给租户时，可以使用 `ALTER RESOURCE POOL` 语句单独调大或调小资源池的 `UNIT_NUM`；当资源池分配给租户后，只能使用 `ALTER RESOURCE TENANT` 语句同时调整租户下所有资源池的 `UNIT_NUM`。

       资源池分配给租户后，调整租户下所有资源池的 `UNIT_NUM` 的语句如下：

       ```sql
       ALTER RESOURCE TENANT tenant_name UNIT_NUM [=] unit_num;

       ```
      - `ZONE_LIST` 表示指定资源池的使用范围。

   假设当前环境中存在如下所示的资源单元和资源池。

   ```shell
   obclient> CREATE RESOURCE UNIT unit1 MAX_CPU 6,MIN_CPU 6, MEMORY_SIZE '36G', MAX_IOPS 1024, MIN_IOPS 1024, IOPS_WEIGHT 0, LOG_DISK_SIZE '2G';

   obclient> CREATE RESOURCE POOL pool1 UNIT 'unit1', UNIT_NUM 2, ZONE_LIST ('z1','z2','z3');

   ```

   修改资源池的示例如下：

      - 修改资源池 `pool1` 的资源单元，修改后，`unit2` 替代 `unit1` 属于资源池`pool1`。

       ```shell
       obclient> CREATE RESOURCE UNIT unit2 MAX_CPU 8, MIN_CPU=8, MEMORY_SIZE '40G';

       obclient> ALTER RESOURCE POOL pool1 unit='unit2';

       ```
      - 资源池分配给租户后，将租户内所有资源池中每个 Zone 下的资源单元个数修改为 3 个。

       ```shell
       obclient> ALTER RESOURCE TENANT pool1 UNIT_NUM = 3;

       ```
      - 修改资源池 `pool1`， 使资源池 `pool1` 中 `ZONE_LIST` 的范围扩大到 `'z1','z2','z3','z4'`。

       ```sql
       obclient> ALTER RESOURCE POOL pool1 ZONE_LIST=('z1','z2','z3','z4');

       ```
      - 每次只能修改资源池的一个参数，同时修改资源池的两个参数时，系统会报错。

       ```sql
       obclient> ALTER RESOURCE POOL pool1 unit='unit1', zone_list=('HANGZHOU_1');
       ERROR 1235 (0A000): alter unit_num, resource_unit, zone_list in one cmd not supported

       ```

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