创建资源单元 
===========================

您可以通过 SQL 语句或 OCP 创建资源单元。

通过 SQL 语句创建 
--------------------------------

租户使用的资源被限制在资源单元的范围内，如果当前存在的资源单元配置无法满足新租户的需要，可以新建资源单元。

下述为创建资源单元语句的语法：

```sql
CREATE RESOURCE UNIT unitname 
MAX_CPU [=] cpunum, 
MAX_MEMORY [=] memsize, 
MAX_IOPS [=] iopsnum, 
MAX_DISK_SIZE [=] disksize, 
MAX_SESSION_NUM [=] sessionnum, 
[MIN_CPU [=] cpunum,]
[MIN_MEMORY [=] memsize,] 
[MIN_IOPS [=] iopsnum] ;
```



参数说明和取值范围：

* 语法中提及的参数不能省略，必须指定 CPU、Memory、IOPS、Disk Size 和 Session Num 的大小。

  

* 为参数指定值时，可以采用纯数字不带引号的方式，也可以使用带单位加引号的方式（例如：`'1T'`、`'1G'`、`'1M'`、`'1K'`）。

  例如： `max_memory='10G'` 等效于 `max_memory=10737418240`
  **说明**

  

  为参数指定值时，不建议使用纯数字带引号的方式。
  

* `MAX_MEMORY` 的取值范围为 \[1073741824,+∞)，单位为字节，即最小值为 1 G。

  

* `MAX_IOPS` 的取值范围为 \[128,+∞)。

  

* `MAX_DISK_SIZE` 的取值范围为 \[536870912,+∞\]，单位为字节，即最小值为 512 M。

  

* `MAX_SESSION_NUM` 的取值范围为 \[64,+∞)。

  




示例：

```sql
obclient> CREATE RESOURCE UNIT unit1 max_cpu 1, max_memory '1G', max_iops 128,max_disk_size '10G', max_session_num 64, MIN_CPU=1, MIN_MEMORY='1G', MIN_IOPS=128;

obclient> CREATE RESOURCE UNIT unit1 max_cpu 1, max_memory 1073741824, max_iops 128, max_disk_size 10737418240, max_session_num 64, MIN_CPU=1, MIN_MEMORY=1073741824, MIN_IOPS=128;
```



创建的资源单元实际上是资源单元的模版。可以被其他多个不同的资源池使用。比如，资源单元 `unit1` 创建后，可以创建资源池 `pool1` 和 `pool2` 并且 `pool1` 和 `pool2` 均使用 `unit1` 资源单元的配置。

通过 OCP 创建 
------------------------------

OCP 支持在创建租户时，为租户创建新的资源单元。创建租户相关操作请参见 [创建租户](https://open.oceanbase.com/docs/community/oceanbase-database/V3.1.0/create-a-user-tenant )。
