説明
CREATE RESOURCE POOL ステートメントは、リソースプールを作成するために使用します。リソースプールは、テナントに割り当て可能なリソースユニットの集合を表します。
リソースプール作成後はテナントへ割り当てできます。各リソースプールは1つのテナントにのみ紐づけ可能で、テナントが各ゾーン内で割り当てられる総リソース量は、リソース構成 * ユニット数です。
制限事項と注意点
リソースプール作成時に、対応ノードの予約リソースが不足している場合、リソースプールの作成は失敗します。各ノードのリソース割り当て情報は、GV$OB_SERVERSビューを参照して確認できます。
権限要件
リソースプールを作成できるのは sys テナントの root ユーザー(root@sys)のみです。その他のテナントではリソースプールの作成はサポートされません。
構文
CREATE RESOURCE POOL pool_name
UNIT [=] unit_name,
UNIT_NUM [=] unit_num,
ZONE_LIST [=] ('zone_name' [, 'zone_name' ...]);
パラメータ説明
パラメータ |
説明 |
|---|---|
| pool_name | 作成するリソースプール名を指定します。 |
| UNIT [=] unit_name | 作成するリソースプールのリソース構成名を指定します。 |
| UNIT_NUM [=] unitnum | 作成するリソースプールの単一ゾーンあたりのユニット数を指定します。値は対象ゾーン内ノード数以下である必要があり、同一テナントは各ノード上に最大1つのユニットまでしか配置できません。 |
| ZONE_LIST [=] ('zone' [, 'zone' ...]) | 作成するリソースプールのゾーン配置を指定します。 |
例
pool1 という名前のリソースプールを作成します。リソース構成は unit1、ユニット数は1、リソースは zone1 に配置します。
obclient [oceanbase]> CREATE RESOURCE POOL pool1 UNIT='unit1', UNIT_NUM=1, ZONE_LIST=('zone1');
作成成功後、作成したリソースプール情報を確認します。
obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_RESOURCE_POOLS WHERE NAME='pool1';
クエリ結果は次のとおりです:
+------------------+------------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
| 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