説明
CREATE RESOURCE POOL 文は、リソースプールを作成するために使用します。リソースプールは、テナントに割り当て可能なリソースユニットの集合を表します。
リソースプール作成後はテナントへ割り当てできます。各リソースプールは一つのテナントにのみ紐づけ可能で、テナントが各ゾーン内で割り当てられる総リソース量は、Unit仕様 × Unit数です。
使用上の制限と注意事項
リソースプール作成時に、対応ノードの予約リソースが不足している場合、リソースプールの作成は失敗します。各ノードのリソース割り当て情報は、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 | 作成するリソースプールの単一ゾーンあたりのUnit数を指定します。値は対象ゾーン内のノード数以下である必要があり、同一テナントは各ノード上に最大1つのUnitまでしか配置できません。 |
| 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