説明
ALTER RESOURCE POOL 文は、リソースプールの属性を変更するために使用します。これには、UNIT、UNIT_NUM、ZONE_LIST の変更が含まれます。
使用制限と注意事項
ALTER RESOURCE POOL文でリソースプール属性を変更する場合、1文につき1つの属性のみ変更できます。UNIT、UNIT_NUM、ZONE_LISTのうち2つ以上を同時に変更する必要がある場合は、複数の文に分けて実行してください。OceanBaseデータベースの現在のバージョンでは、テナントの同種ゾーンモードと異種ゾーンモードをサポートしています。同種ゾーンモードでは、テナント内の各ゾーンのUnit数が同じである必要があります。異種ゾーンモードでは、テナント内の各ゾーンのUnit数は異なっても構いませんが、1テナントで最大2種類の
unit_numしか許可されません。UNIT_NUMを増減する際:異種ゾーンモードでは、リソースプールが既にテナントに割り当てられているかどうかに関係なく、
ALTER RESOURCE POOL文を使用してUNIT_NUMを増減できます。注意
通常、既存のテナントやアップグレードされたテナントは、デフォルトで同種ゾーンモードになっています。異種ゾーンモードを有効にするには、構成パラメータ
zone_deploy_modeの値をhetero(異種ゾーンモード)に変更する必要があります。変更後は、homo(同種ゾーンモード)に戻すことはできません。同種ゾーンモードでは、リソースプールが既にテナントに割り当てられている場合、
ALTER RESOURCE POOL文を使用することはできません。変更にはALTER RESOURCE TENANT文を使用してください。ALTER RESOURCE TENANT文の詳細については、ALTER RESOURCE TENANTを参照してください。
権限要件
リソースプールを変更できるのは sys テナントの root ユーザー(root@sys)のみです。その他のテナントではリソースプールの変更はサポートされません。
構文
ALTER RESOURCE POOL
ALTER RESOURCE POOL pool_name
UNIT [=] unit_name
| UNIT_NUM [=] unit_num [DELETE UNIT = (unit_id_list)]
| ZONE_LIST [=] ('zone_name' [, 'zone_name' ...]);
パラメータ説明
パラメータ |
説明 |
|---|---|
| unit_name | リソースプールに使用するリソース仕様名を変更します。 |
| unit_num | 変更後の単一ゾーン内のUnit数を指定します。unit_num を増やす場合、その値は対象ゾーン内ノード数以下である必要があります。 <main id="notice" type=notice'>注意異種ゾーンモードでは、 例えば、あるテナントが3つのリソースプール |
| DELETE UNIT | unit_num を減らす際、DELETE UNIT を使用すると指定したUnitを削除できます。DELETE UNIT を指定しない場合、システムは該当数のUnitをランダムに削除します。 <main id="notice" type=notice'>注意
|
| ZONE_LIST | 変更後のリソースプールのゾーンリストを指定します。 |
例
リソースプール
pool1の複数の属性を同時に変更することはできません。例えば、次のステートメントはUNIT、UNIT_NUM、ZONEの各属性を同時に変更しているため、実行時にエラーが発生します。obclient [oceanbase]> ALTER RESOURCE POOL pool1 UNIT='unit2', UNIT_NUM=1, ZONE_LIST=('zone1'); ERROR 1235 (0A000): alter unit_num, resource_unit, zone_list in one cmd not supported特に、
UNIT_NUMを減らす場合は、指定したユニットを削除できます。obclient [oceanbase]> ALTER RESOURCE POOL pool1 UNIT_NUM=1 DELETE UNIT = (1002);リソースプール
pool1が使用するリソース仕様をunit2に変更します。obclient [oceanbase]> ALTER RESOURCE POOL pool1 UNIT='unit2';