説明
CREATE RESOURCE POOL ステートメントは、リソースプールを作成するために使用されます。リソースプールとは、テナントに割り当て可能なリソースユニットの集合を指します。
リソースプールが作成されると、テナントに割り当てることができます。各リソースプールは1つのテナントにのみバインドでき、テナントが各ゾーン内で割り当てられる全リソース量は、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 | 作成するリソースプールが単一ゾーン内で使用するユニット数を指定します。この値は、ターゲットゾーン内のノード数より小さくなければならず、同一テナントにおいて各ノード上に配置されるユニット数は最大でも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