説明
このステートメントは、ログストリームを変更するために使用されます。ログストリームの UNIT_GROUP(同種ゾーンモード)または UNIT_LIST(異種ゾーンモード)、およびログストリームの PRIMARY_ZONE を変更できます。
使用制限と注意事項
OceanBaseデータベースの現在のバージョンは、テナントの同種ゾーンモードと異種ゾーンモードをサポートしています。詳細は以下の通りです。
同種ゾーンモードでは、ログストリームの
UNIT_GROUPとログストリームのPRIMARY_ZONEを変更できます。異種ゾーンモードでは、ログストリームの
UNIT_LISTとログストリームのPRIMARY_ZONEを変更できます。
ログストリームを変更する際、変更対象のログストリームが存在し、その状態が
NORMALである必要があります。ログストリームを変更する際、変更対象のログストリームを含むテナントの状態が
NORMALである必要があります。プライマリテナント上でログストリームの
UNIT_GROUP(同種ゾーンモード)/UNIT_LIST(異種ゾーンモード)を変更する場合、テナントのすべてのログストリームに現在ロードバランシングタスクがないことが必要です。スタンバイテナント上でログストリームの
UNIT_GROUP(同種ゾーンモード)/UNIT_LIST(異種ゾーンモード)のプロパティを変更することは推奨されません。スタンバイテナントはログストリームのUNIT_GROUP/UNIT_LISTプロパティを自動的に調整するため、手動でスタンバイテナントのログストリームのUNIT_GROUP/UNIT_LISTプロパティを変更しても反映されない可能性があります。ログストリームの
UNIT_GROUP(同種ゾーンモード)/UNIT_LIST(異種ゾーンモード)を変更する際、対象のUNIT_GROUP/UNIT_LISTの状態がACTIVEである必要があります。ログストリームの
PRIMARY_ZONEを変更する際、変更後のゾーンがテナントのZONE_LISTに含まれていることを確認する必要があります。ログストリームにおけるPRIMARY_ZONEの設定は、テナントのPRIMARY_ZONEとは若干異なります。ログストリームではz1またはz2のように1つのゾーンのみを設定でき、テナントのようにz1,z2、z1; z2、RANDOMといった複数のゾーンや区切りを指定することはできません。ログストリームを変更する際、テナントレベルの構成パラメータ
enable_rebalanceが無効であること、つまり値がFalseであることが必要です。enable_rebalanceが有効な場合、テナントのロードバランシングモジュールがログストリームのPRIMARY_ZONEおよびUNIT_GROUP/UNIT_LISTプロパティを自動的に調整する可能性があります。同種ゾーンモードでは、ブロードキャスト電子ストリームとシステムログストリーム(1番ログストリーム)のみが
UNIT_GROUPを0に指定することをサポートしています。異種ゾーンモードでは、ユーザーログストリームの
UNIT_LISTは空にすることができません。
権限要件
このステートメントを実行するユーザーは ALTER SYSTEM 権限を持っている必要があります。OceanBaseデータベースの権限の詳細については、MySQLモードの権限分類およびOracleモードの権限分類を参照してください。
構文
ALTER SYSTEM MODIFY LS
LS [=] ls_id
[UNIT_GROUP [=] unit_group_id] | [UNIT_LIST [=] (unit_id_list)]
[,PRIMARY_ZONE [=] 'zone_name']
[TENANT [=] 'tenant_name'];
パラメータ説明
パラメータ |
説明 |
|---|---|
| ls_id | 変更対象のログストリームIDを指定します。 |
| unit_group_id | 変更対象のログストリームのターゲットUnit GroupのIDを指定します。これは同種ゾーンモードでのみ適用されます。このステートメントを実行する際には、ログストリームのUNIT_GROUPまたはPRIMARY_ZONEのいずれか一方のプロパティを変更する必要があります。 |
| unit_id_list | 変更対象のログストリームが配置されるUnitのリストを指定します。複数のunit_idは半角カンマ(,)で区切ります。異種ゾーンモードでのみ適用されます。 |
| zone_name | 変更対象のログストリームのターゲットプライマリゾーンを指定します。このステートメントを実行する際には、ログストリームのUNIT_GROUPまたはPRIMARY_ZONEのいずれか一方のプロパティを変更する必要があります。 |
| tenant_name | オプションです。システムテナントは操作対象のテナントを指定します。
注意他のテナントを指定できるのはシステムテナントのみです。このステートメントでは、 |
例
システムテナント
ログストリームの
UNIT_GROUPのみを変更する場合システムテナントは、テナント
obtenantの1002番ログストリームの位置を1002番のUNIT_GROUPに変更します。obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_GROUP 1002 TENANT = obtenant;ログストリームの
PRIMARY_ZONEのみを変更する場合システムテナントは、テナント
obtenantの1002番ログストリームのリーダーの優先順位をz1に変更します。obclient> ALTER SYSTEM MODIFY LS 1002 PRIMARY_ZONE 'z1' TENANT = obtenant;ログストリームの
UNIT_GROUPとPRIMARY_ZONEを同時に変更する場合システムテナントは、テナント
obtenantの1002番ログストリームの位置を1002番のUNIT_GROUPに変更し、ログストリームのリーダーの優先順位をz1に変更します。obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_GROUP 1002, PRIMARY_ZONE 'z1' TENANT = obtenant;
ユーザーテナント
ログストリームの
UNIT_GROUPのみを変更する場合ユーザーテナントは、自身のテナントの1002番ログストリームの位置を1002番の
UNIT_GROUPに変更します。obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_GROUP 1002;ログストリームの
PRIMARY_ZONEのみを変更する場合ユーザーテナントは、自身のテナントの1002番ログストリームのリーダーの優先順位を
z1に変更します。obclient> ALTER SYSTEM MODIFY LS 1002 PRIMARY_ZONE 'z1';ログストリームの
UNIT_GROUPとPRIMARY_ZONEを同時に変更する場合ユーザーテナントは、自身のテナントの1002番ログストリームの位置を
UNIT_GROUPの1002に変更し、ログストリームリーダーの第一優先度をz1に変更します。obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_GROUP 1002, PRIMARY_ZONE 'z1';
システムテナント
ログストリームの配置を変更する
UNIT_LISTのみシステムテナントは、テナント
obtenantの1002番ログストリームの位置をunit_idが1001、1002、1003のUNIT_LISTに変更します。obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_LIST (1001, 1002, 1003) TENANT = obtenant;ログストリームの
PRIMARY_ZONEのみシステムテナントは、テナント
obtenantの1002番ログストリームリーダーの第一優先度をz1に変更します。obclient> ALTER SYSTEM MODIFY LS 1002 PRIMARY_ZONE 'z1' TENANT = obtenant;ログストリームの
UNIT_LISTとPRIMARY_ZONEを同時に変更システムテナントは、テナント
obtenantの1002番ログストリームの位置をunit_idが1001、1002、1003のUNIT_LISTに変更し、ログストリームリーダーの第一優先度をz1に変更します。obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_LIST (1001, 1002, 1003), PRIMARY_ZONE 'z1' TENANT = obtenant;
ユーザーテナント
ログストリームの配置を変更する
UNIT_LISTのみユーザーテナントは、自身のテナントの1002番ログストリームの位置を
unit_idが1001、1002、1003のUNIT_LISTに変更します。obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_LIST (1001, 1002, 1003);ログストリームの
PRIMARY_ZONEのみユーザーテナントは、自身のテナントの1002番ログストリームリーダーの第一優先度を
z1に変更します。obclient> ALTER SYSTEM MODIFY LS 1002 PRIMARY_ZONE 'z1';ログストリームの
UNIT_LISTとPRIMARY_ZONEを同時に変更ユーザーテナントは、自身のテナントの1002番ログストリームの位置を
unit_idが1001、1002、1003のUNIT_LISTに変更し、ログストリームリーダーの第一優先度をz1に変更します。obclient> ALTER SYSTEM MODIFY LS 1002 UNIT_LIST (1001, 1002, 1003), PRIMARY_ZONE 'z1';
関連ドキュメント
変更ログストリームの詳細な操作については、変更ログストリームを参照してください。