説明
ALTER SYSTEM [SET] parameter_name = expressionステートメントは、構成パラメータの値を変更するために使用されます。ALTER SYSTEM [RESET] parameter_name = expressionステートメントは、構成パラメータの値をリセットするために使用されます。
OceanBaseデータベースの構成パラメータは、クラスタレベルとテナントレベルに分かれています。クラスタレベルの構成パラメータは、クラスタ全体のすべてのノードに適用されます。テナントレベルの構成パラメータは、現在のテナントが存在するすべてのノードに適用されます。構成パラメータの詳細については、構成パラメータとシステム変数の概要を参照してください。
制限事項と注意点
クラスタレベルの構成パラメータは、
sysテナントのみが変更またはリセットできます。ユーザーテナントでは変更またはリセットできません。パラメータの有効化方法には、一般的に動的に有効化されるものと再起動後に有効化されるものの2種類があります。ほとんどのパラメータは動的に有効化されるため、OBServerノードを再起動することなく即時に反映されます。パラメータを変更する前に、
SHOW PARAMETERS LIKEステートメントを使用してパラメータの有効化方法を確認できます。パラメータの有効化方法の詳細な操作については、クラスタ構成パラメータを参照してください。
権限要件
ALTER SYSTEM [SET | RESET] parameter_name = expression ステートメントを実行するには、現在のユーザーが ALTER SYSTEM 権限を持っている必要があります。OceanBaseデータベースの権限の詳細については、MySQLモードの権限分類およびOracleモードの権限分類を参照してください。
構文
パラメータ値の変更
ALTER SYSTEM [SET] alter_system_set_parameter_action [, alter_system_set_parameter_action...]
alter_system_set_parameter_action:
parameter_name = expression [COMMENT [=] 'text'] [SCOPE = {MEMORY | SPFILE | BOTH}] [SERVER [=] 'ip:port' | ZONE [=] 'zone_name' | TENANT [=] {sys | all_user | all | all_meta | tenant_name}]
パラメータの説明
| パラメータ | 説明 |
|---|---|
| parameter_name | 変更対象の構成パラメータ名を指定します。 |
| expression | 変更後の構成パラメータ値を指定します。 |
| COMMENT | 今回の変更に関するコメントを追加します。このパラメータはオプションですが、省略しないことを推奨します。 |
| SCOPE | 今回の構成パラメータ変更の適用範囲を指定します。主に以下の3種類があります:
SCOPE のデフォルト値は BOTH です。 |
| SERVER | クラスタ内で変更対象の構成パラメータ値を持つOBServerノードを指定します。1つのOBServerノードのみを指定できます。 |
| ZONE | クラスタ内で変更対象の構成パラメータ値を持つZoneを指定します。1つのZoneのみを指定できます。指定後、今回の変更はそのZone内のすべてのOBServerノードに適用されます。ZoneとServerを同時に指定することはできません。 |
| TENANT | システムテナントが変更対象のテナントレベルの構成パラメータ値を持つテナントを指定します。指定しない場合、デフォルトは現在のテナントです。その中で:
sys テナントから指定されたテナントのテナントレベルの構成パラメータを変更する場合は、この句を追加する必要があります。テナントレベルの構成パラメータの一覧については、テナントレベルの構成パラメータを参照してください。 |
パラメータ値のリセット
ALTER SYSTEM [RESET] alter_system_set_parameter_action [, alter_system_set_parameter_action...]
alter_system_set_parameter_action:
parameter_name = expression [SCOPE = {MEMORY | SPFILE | BOTH}] [TENANT [=] tenant_name]
パラメータの説明
| パラメータ | 説明 |
|---|---|
| parameter_name | リセットする構成パラメータ名を指定します。 |
| expression | リセットする構成パラメータを指定します。 |
| SCOPE | 今回の構成パラメータリセットの適用範囲を指定します。主に以下の3種類があります:
SCOPE のデフォルト値は BOTH です。 |
| TENANT | システムテナントがリセットするテナントレベルの構成パラメータ値を指定するテナントです。指定しない場合、デフォルトは現在のテナントです。sys テナントから特定のテナントのテナントレベルの構成パラメータを変更する場合にのみ、この句を追加する必要があります。テナントレベルの構成パラメータの一覧については、テナントレベルの構成パラメータを参照してください。 |
例
パラメータの変更
システムテナントがクラスタレベルのパラメータ
enable_sql_auditの値を変更します。obclient [oceanbase]> ALTER SYSTEM SET ENABLE_SQL_AUDIT = False SCOPE = BOTH;システムテナントがテナント
tenantのテナントレベルのパラメータconnection_control_max_connection_delayの値を変更します。obclient [oceanbase]> ALTER SYSTEM SET connection_control_max_connection_delay = 2147483646 TENANT = tenant;システムテナントがクラスタ内のすべてのテナント(sysテナント、ユーザーテナント、Metaテナントを含む)のテナントレベルのパラメータ
major_freeze_duty_timeの値を変更します。システムテナントで次のコマンドを順番に実行する必要があります:
obclient [oceanbase]> ALTER SYSTEM SET major_freeze_duty_time='01:00' TENANT = sys;obclient [oceanbase]> ALTER SYSTEM SET major_freeze_duty_time='01:00' TENANT = all_user;obclient [oceanbase]> ALTER SYSTEM SET major_freeze_duty_time='01:00' TENANT = all_meta;ユーザーテナントが自身のテナントレベルのパラメータ
major_freeze_duty_timeの値を変更します。obclient [oceanbase]> ALTER SYSTEM SET major_freeze_duty_time='01:00';システムテナントがクラスタレベルのパラメータ
enable_sql_auditの値をデフォルト値にリセットし、変更は即時に反映されると同時にSPFILEにも更新されます。obclient [oceanbase]> ALTER SYSTEM RESET ENABLE_SQL_AUDIT SCOPE = BOTH;
パラメータのリセット
log_disk_utilization_thresholdパラメータを変更する例は以下のとおりです:obclient> ALTER SYSTEM RESET log_disk_utilization_threshold;システムテナントで、すべてまたは指定されたテナントのテナントレベルのパラメータを変更します。例:
obclient> ALTER SYSTEM RESET log_disk_utilization_threshold TENANT='ALL'; obclient> ALTER SYSTEM RESET log_disk_utilization_threshold TENANT='Oracle';