説明
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 | 変更対象のパラメータ値を持つゾーンを指定します。クラスタ内で1つのゾーンのみを指定できます。指定後、この変更はそのゾーン内のすべての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';