説明
ALTER SYSTEM [SET] parameter_name = expressionステートメントは、パラメータの値を変更するために使用されます。ALTER SYSTEM RESET parameter_nameステートメントは、パラメータの値をリセットするために使用されます。
OceanBaseデータベースのパラメータは、クラスタレベルパラメータとテナントレベルパラメータに分類されます。クラスタレベルパラメータの適用範囲はクラスタ内のすべてのノードを含み、テナントレベルパラメータの適用範囲は現在のテナントが存在するすべてのノードに限定されます。パラメータの詳細については、パラメータとシステム変数の概要を参照してください。
制限事項と注意点
クラスタレベルのパラメータは
sysテナントのみが変更またはリセットでき、ユーザーテナントでは変更またはリセットできません。パラメータの有効化方法は、一般的に動的有効化と再起動後に有効化の2種類があります。ほとんどのパラメータは動的有効化方式であり、OBServerノードを再起動しなくても有効になります。パラメータを変更する前に、
SHOW PARAMETERS LIKEステートメントを使用してパラメータの有効化方式を確認できます。パラメータの有効化方式の詳細な操作については、クラスタパラメータを参照してください。
権限要件
ALTER SYSTEM [SET] parameter_name = expression ステートメントと ALTER SYSTEM RESET parameter_name ステートメントを実行するには、現在のユーザーが 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 parameter_name [SCOPE = {MEMORY | SPFILE | BOTH}] [TENANT [=] tenant_name];
パラメータ説明
パラメータ |
説明 |
|---|---|
| parameter_name | リセットする構成パラメータ名を指定します。 |
| 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';