説明
ALTER RESOURCE POOL ステートメントは、リソースプールのプロパティを変更するために使用されます。これには、UNIT、UNIT_NUM、および ZONE_LIST の変更が含まれます。
制限事項と注意点
ALTER RESOURCE POOLステートメントを使用してリソースプールのプロパティを変更する場合、各ステートメントでは一度に1つのプロパティのみを変更できます。UNIT、UNIT_NUM、ZONE_LISTのうち2つ以上のプロパティを同時に変更する必要がある場合は、複数のステートメントで実行する必要があります。UNIT_NUMを増減させる際、リソースプールが既にテナントに割り当てられている場合は、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_num を増やす場合、その値はターゲットゾーン内のノード数以下である必要があります。 |
| unit_id_list | unit_num を減らす場合、DELETE UNIT を使用して指定されたユニットを削除できます。DELETE 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';