Purpose
The CREATE RESOURCE POOL statement is used to create a resource pool, which describes a collection of resource units that can be allocated to tenants.
After a resource pool is created, it can be allocated to a tenant. Each resource pool can only be bound to one tenant. The total amount of resources allocated to a tenant across all zones is calculated as: Unit specification * Number of units.
Limitations and considerations
If the reserved resources on the corresponding nodes are insufficient, the resource pool creation will fail. You can query the GV$OB_SERVERS view to confirm the resource allocation information of each node.
Privilege requirements
Only the root user of the sys tenant (root@sys) can create a resource pool. Other tenants do not support creating resource pools.
Syntax
CREATE RESOURCE POOL pool_name
UNIT [=] unit_name,
UNIT_NUM [=] unit_num,
ZONE_LIST [=] ('zone_name' [, 'zone_name' ...]);
Parameters
| Parameter | Description |
|---|---|
| pool_name | Specifies the name of the resource pool to be created. |
| UNIT [=] unit_name | Specifies the resource specification name of the resource pool to be created. |
| UNIT_NUM [=] unitnum | Specifies the number of units in the resource pool within a single zone. The value must be less than the number of nodes in the target zone, and each node can have at most one unit allocated to the same tenant. |
| ZONE_LIST [=] ('zone' [, 'zone' ...]) | Specifies the zone distribution of the resource pool to be created. |
Examples
Create a resource pool named pool1 with a resource specification of unit1, 1 unit, and distributed in zone1.
obclient [oceanbase]> CREATE RESOURCE POOL pool1 UNIT='unit1', UNIT_NUM=1, ZONE_LIST=('zone1');
After the resource pool is created, query the information of the created resource pool.
obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_RESOURCE_POOLS WHERE NAME='pool1';
The query result is as follows:
+------------------+------------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
| RESOURCE_POOL_ID | NAME | TENANT_ID | CREATE_TIME | MODIFY_TIME | UNIT_COUNT | UNIT_CONFIG_ID | ZONE_LIST | REPLICA_TYPE |
+------------------+------------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
| 1007 | pool1 | 1018 | 2023-11-09 10:26:35.427350 | 2023-11-09 10:26:40.654066 | 1 | 1006 | zone1 | FULL |
+------------------+------------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
1 row in set