---
title: "ALTER TENANT - OceanBase 数据库 V4.3.0 | OceanBase 文档中心"
description: ALTER TENANT 描述 ALTER TENANT 语句用来修改用户租户的属性，包括修改 Locality、主 Zone、资源池列表以及系统变量值等。 如果需要修改用户租户的名称，可以使用 ALTER TENANT ... RENAME 语句。 如果需要锁定或解锁用户租户，可以使用 ALTER TENANT .…
---
切换语言

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

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

# ALTER TENANT

更新时间：2026-04-10 11:58:35

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/100.system-tenants/500.alter-tenant.md)  

## 描述

`ALTER TENANT` 语句用来修改用户租户的属性，包括修改 Locality、主 Zone、资源池列表以及系统变量值等。

如果需要修改用户租户的名称，可以使用 `ALTER TENANT ... RENAME` 语句。

如果需要锁定或解锁用户租户，可以使用 `ALTER TENANT ... LOCK / UNLOCK` 语句，使用 `ALTER TENANT ... LOCK` 语句执行锁定操作后，系统将不允许用户再在被锁定的租户上创建新的连接，已存在的连接不受影响。

## 权限要求

仅 `sys` 租户的 `root` 用户（`root@sys`）可以修改租户，其他租户不支持修改租户。

## 语法

### ALTER TENANT

```sql
ALTER TENANT tenant_name
    [SET] [tenant_option_list] [set_sys_var];

tenant_option_list:
    tenant_option [, tenant_option ...]

tenant_option:
      LOCALITY [=] 'locality_description'
    | PRIMARY_ZONE [=] zone
    | RESOURCE_POOL_LIST [=](pool_name [, pool_name...])
    | ENABLE_ARBITRATION_SERVICE [=] {True | False}
    | [DEFAULT] TABLEGROUP [=] {NULL | tablegroup_name}
    | ENABLE_EXTENDED_ROWID [=] {true | false}  
    | COMMENT [=]'string'

set_sys_var:
    VARIABLES var_name {TO | =} var_value [,var_name {TO | =} var_value...]

```

### ALTER TENANT ... RENAME

```sql
ALTER TENANT tenant_name RENAME GLOBAL_NAME TO new_tenant_name;

```

### ALTER TENANT ... LOCK / UNLOCK

```sql
ALTER TENANT tenant_name LOCK | UNLOCK;

```

## 参数说明

| **参数** | **描述** |
| --- | --- |
| tenant_name | 指定要修改的租户名。 |
| LOCALITY | 修改租户的 Locality。Locality 描述副本在 Zone 间的分布情况，如：`F@z1,F@z2,F@z3` 表示 `z1`、`z2` 和 `z3` 为全功能副本。   修改该参数时，如果需要增加 Zone，则需要租户资源池的 `ZONE_LIST` 中包含该 Zone。 |
| PRIMARY_ZONE | 修改租户的 Primary Zone。主要支持以下取值：   - `RANDOM`：指定租户的 Primary Zone 为租户所在的所有 Zone，表示租户所在的所有 Zone 具有相同的优先级。 - zone_name：指定租户的 Primary Zone 为具体的某个 Zone。     如果创建租户时未指定 Primary Zone，则默认取值为 `RANDOM`。 |
| RESOURCE_POOL_LIST | 修改租户的资源池列表。   如果有多个资源池，要求多个资源池的 `UNIT_NUM` 个数一致。   #### 注意    - 同一个租户的多个资源池，其对应的 `ZONE_LIST` 相互之间不允许有交集。 - 修改资源池列表时，每次仅支持增加或减少一个资源池。 |
| ENABLE_ARBITRATION_SERVICE | 部署了仲裁服务的场景下，修改租户仲裁服务的开启状态。 |
| [DEFAULT] TABLEGROUP | 修改租户的默认表组信息。 `NULL` 表示取消默认表组。 |
| ENABLE_EXTENDED_ROWID | 指定是否为租户内所有表开启 Extended ROWID 模式。该参数一旦设置为开启后不允许关闭。但是您可以通过租户级配置项 `default_enable_extended_rowid` 为后续新建表设置是否开启 Extended ROWID 模式。有关租户级配置项 `default_enable_extended_rowid` 的更多介绍，请参见 [default_enable_extended_rowid](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000642065)。 |
| system_var_name | 修改租户的系统变量值。 |
| RENAME GLOBAL_NAME TO | 修改租户名称。 |
| COMMENT | 修改注释。 |

## 示例

- 修改租户 `tenant1` 的 Primary Zone 为 `zone2`。

  ```sql
  obclient [oceanbase]> ALTER TENANT tenant1 primary_zone='zone2';

  ```
 - 修改资源池通常用于租户副本数升级和降级的场景中，并且修改资源池时，每次只能添加或删除一个资源池，不能执行以下语句直接将租户的资源池 `pool1` 替换为 `pool2`，否则将出现以下错误。

  ```sql
  obclient [oceanbase]> ALTER TENANT tenant1 resource_pool_list=('pool2');

  ```

  报错信息如下：

  ```shell
  ERROR 1210 (HY000): Incorrect arguments to resource pool list

  ```

  如果您是希望调整租户的可用资源，例如，需要对租户进行扩容，可以调大资源单元的规格。

  ```sql
  obclient [oceanbase]> ALTER RESOURCE UNIT unit1 MAX_CPU 15, MEMORY_SIZE '20G', MAX_IOPS 1280, MIN_CPU=10, MIN_IOPS=1024;

  ```
 - 修改租户 `tenant1` 的 Locality，增加副本数。其中 `F` 表示副本类型为全功能型副本，`B_4` 为新增的 Zone 名称。

     1. 创建资源单元 `unit2`。

       ```sql
       obclient [oceanbase]> CREATE RESOURCE UNIT unit2, MAX_CPU=5, MIN_CPU=2.5, MEMORY_SIZE= '32G', MAX_IOPS=10000, MIN_IOPS=5000, LOG_DISK_SIZE=5301023539200;

       ```
     2. 创建资源池 `pool2`。

       ```sql
       obclient [oceanbase]> CREATE RESOURCE POOL pool2 unit='unit2',unit_num=1,zone_list=('B_4');

       ```
     3. 为租户添加资源池 `pool2`。

       ```sql
       obclient [oceanbase]> ALTER TENANT tenant1 resource_pool_list=('pool1','pool2');

       ```
     4. 修改租户的 Locality。

       ```sql
       obclient [oceanbase]> ALTER TENANT tenant1 locality="F@B_1,F@B_2,F@B_3,F@B_4";

       ```
 - 部署了仲裁服务的场景下，为 `tenant1` 开启仲裁服务。

  ```sql
  obclient [oceanbase]> ALTER TENANT tenant1 ENABLE_ARBITRATION_SERVICE=true;

  ```
 - 将普通租户 `tenant1` 的名称重命名为 `tenant101`。

  ```sql
  obclient [oceanbase]> ALTER TENANT tenant1 RENAME GLOBAL_NAME TO tenant101;

  ```
 - 锁定租户 `tenant1`。

  ```sql
  obclient [oceanbase]> ALTER TENANT tenant1 LOCK;

  ```

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