---
title: "CREATE RESOURCE UNIT - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: CREATE RESOURCE UNIT 描述 OceanBase 数据库通过 Unit 来管理物理资源， sys 租户可以使用 CREATE RESOURCE UNIT 语句来创建 Unit 并指定 Unit 的资源规格。Unit 的资源规格定义了常见的物理资源，包括 CPU、内存、日志盘存储空间、IOPS 等。 …
---
切换语言

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

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

# CREATE RESOURCE UNIT

更新时间：2026-06-11 15:50:35

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

## 描述

OceanBase 数据库通过 Unit 来管理物理资源，`sys` 租户可以使用 `CREATE RESOURCE UNIT` 语句来创建 Unit 并指定 Unit 的资源规格。Unit 的资源规格定义了常见的物理资源，包括 CPU、内存、日志盘存储空间、IOPS 等。

Unit 的资源规格定义的是单个 Zone 内单个 OBServer 节点可分配的资源总量。仅当租户在某个节点上有 Unit 时，租户才能使用该节点上的资源来存储数据。

租户被分配的所有资源总量为：Unit 规格 * Unit 数量。

## 使用限制及注意事项

Unit 的资源规格不能超过单节点的总可分配资源。

## 权限要求

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

## 语法

```sql
CREATE RESOURCE UNIT [IF NOT EXISTS] unit_name
MEMORY_SIZE [=] 'size_value',
MAX_CPU [=] cpu_num,
[MAX_IOPS [=] iops_num,]
[MIN_CPU [=] cpu_num,]
[MIN_IOPS [=] iops_num,]
[IOPS_WEIGHT [=]iopsweight,]
[MAX_NET_BANDWIDTH [=] bandwidth_num,]
[NET_BANDWIDTH_WEIGHT [=] bandwidth_weight_num,]
[DATA_DISK_SIZE [=] 'size_value',]
[LOG_DISK_SIZE [=] 'size_value'];

```

## 参数说明

| 参数项 | 描述 |
| --- | --- |
| IF NOT EXISTS | 可选，如果待创建的 Unit 已存在，并且未指定 `IF NOT EXISTS`，则系统会报错。 |
| unit_name | 指定 Unit 的名称。 |
| MEMORY_SIZE | 指定内存规格，其最小值由隐藏配置项 `__min_full_resource_pool_memory` 控制，默认为 5G，为了保证系统稳定性，最小的内存规格建议为 4G。   #### 注意    OceanBase 数据库从 V4.0.0.0 开始不再支持内存超卖。 |
| MAX_CPU | 指定 CPU 规格的上限，最小值为 1，表示 1 Core。 |
| MIN_CPU | 指定 CPU 规格的下限，最小值为 1，表示 1 Core，可选。   如果未指定，则默认其值等于 `MAX_CPU`。   #### 注意    所有租户的 `MIN_CPU` 总和不能超过该节点的 CPU 总容量 `CPU_CAPACITY`。 |
| MAX_IOPS | 指定 IOPS 的上限，最小值为 1024，指定的值要求满足 `MAX_IOPS >= MIN_IOPS`，可选。   如果不指定，则系统将根据以下规则自动计算 `MAX_IOPS` 的值：   - 如果已指定 `MIN_IOPS` 的值，则 `MAX_IOPS` 的值等于 `MIN_IOPS` 的值。 - 如果 `MIN_IOPS` 也未指定，则 `MAX_IOPS` 和 `MIN_IOPS` 的值均为 `INT64_MAX`。 |
| MIN_IOPS | 指定 IOPS 的下限，最小值为 1024，可选。    如果不指定，则系统将根据以下规则自动计算 `MIN_IOPS` 的值：   - 如果已指定 `MAX_IOPS` 的值，则 `MIN_IOPS` 的值等于 `MAX_IOPS` 的值。 - 如果 `MAX_IOPS` 也未指定，则 `MIN_IOPS` 和 `MAX_IOPS` 的值均为 `INT64_MAX`。 |
| IOPS_WEIGHT | 指定 IOPS 的权重值，可选。    如果不指定，则系统将根据以下规则自动计算 `IOPS_WEIGHT` 的值：   - 如果 `MAX_IOPS` 和 `MIN_IOPS` 的值均已指定，或者仅指定了其中一个值，则 `IOPS_WEIGHT` 的值均等于 `0`。 - 如果 `MAX_IOPS` 和 `MIN_IOPS` 均未指定，则 `IOPS_WEIGHT = MIN_CPU`。 |
| MAX_NET_BANDWIDTH | 指定租户每个 Unit 可使用的网络带宽上限，最小值为 1 M。如果不指定，则默认值为 `INT64_MAX`。 |
| NET_BANDWIDTH_WEIGHT | 指定租户 Unit 的网络带宽权重，用于计算每台 OBServer 的带宽分给每个租户的比例。最小值为 0。如果不指定，则系统将按照以下规则自动计算 `NET_BANDWIDTH_WEIGHT` 的值：   - 如果 `MAX_NET_BANDWIDTH` 已指定，则 `NET_BANDWIDTH_WEIGHT` 的值为 0。 - 如果 `MAX_NET_BANDWIDTH` 未指定，则 `NET_BANDWIDTH_WEIGHT = MIN_CPU`。 |
| DATA_DISK_SIZE | 指定租户每个 Unit 可使用的本地磁盘空间大小，仅适用于共享存储（Shared-Storage,SS）模式，无共享（Shared-Nothing，SN）模式下指定该规格会报错。指定该规格时：   - 指定为 `0`：表示不限制租户每个 Unit 可使用的本地磁盘空间大小，每台 OBServer 可自动调整租户 Unit 分配的本地缓存盘大小。 - 指定为非 `0` 的值：要求该值必须大于或等于 2GB。 - 一旦指定，`0` 值与非 `0` 值之间将不能相互切换，即，指定该规格为 `0` 后，不能再修改为非 `0` 的值；同样，指定该规格为非 `0` 的值后，不能再修改为 `0`。 - 如果不指定，则默认为内存规格的 2 倍。    #### 说明    SS 模式下，创建租户、迁移 Unit 或扩容时，系统会考虑 Unit 的 `DATA_DISK_SIZE` 规格，如果 OBServer 本地的磁盘空闲空间不足，会导致创建租户失败或者 Unit 不能迁移。 |
| LOG_DISK_SIZE | 指定租户日志盘空间的大小，可选。   如果不指定，则默认其值为内存规格的 3 倍大小，最小值为 2G。 |

## 示例

- 创建名为 `unit1` 的 Unit，同时指定 CPU 为 4 核；内存为 `5G`；日志盘容量为 `10G`；IOPS 的上限为 `1280`，IOPS 下限为 `1024`，IOPS 的权重为 `1`；每个 Unit 可使用的网络带宽上限为 `5M`，网络带宽权重为 `10`。

  ```shell
  obclient(root@sys)[(none)]> CREATE RESOURCE UNIT unit1 MAX_CPU 4, MEMORY_SIZE '5G', MAX_IOPS 1280, MIN_IOPS=1024, IOPS_WEIGHT=1, MAX_NET_BANDWIDTH '5M',NET_BANDWIDTH_WEIGHT 10, LOG_DISK_SIZE '10G';

  ```

  Unit 创建成功后，可以通过视图确认创建结果，语句如下：

  ```shell
  obclient(root@sys)[oceanbase]> SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS WHERE NAME='unit1';

  ```

  查询结果如下：

  ```shell
  +----------------+-------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------------+----------+----------+-------------+-------------------+----------------------+
  | UNIT_CONFIG_ID | NAME  | CREATE_TIME                | MODIFY_TIME                | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | DATA_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT | MAX_NET_BANDWIDTH | NET_BANDWIDTH_WEIGHT |
  +----------------+-------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------------+----------+----------+-------------+-------------------+----------------------+
  |           1001 | unit1 | 2025-05-28 11:19:39.116490 | 2025-05-28 11:19:39.116490 |       4 |       4 |  5368709120 |   10737418240 |           NULL |     1280 |     1024 |           1 |           5242880 |                   10 |
  +----------------+-------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------------+----------+----------+-------------+-------------------+----------------------+
  1 row in set

  ```
 - SS 模式下，创建名为 `unit1` 的 Unit，同时指定 CPU 为 4 核，内存为 `5G`，每个 Unit 可使用的本地磁盘空间为 `100G`。

  ```shell
  obclient(root@sys)[(none)]> CREATE RESOURCE UNIT unit1 MAX_CPU 4, MEMORY_SIZE '5G', DATA_DISK_SIZE '100G';

  ```

## 相关文档

- [租户介绍](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682005)
 - [创建租户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682466)
 - [查看资源规格](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682949)
 - [DROP RESOURCE UNIT](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005683363)

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