説明
このステートメントは、ログストリームの変更に使用されます。ログストリームの 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番ログストリームの位置を1002番の
UNIT_GROUPに変更し、ログストリームのリーダーの優先順位を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';
関連ドキュメント
変更ログストリームの詳細な操作については、変更ログストリームを参照してください。