説明
このステートメントは、ログストリームレプリカのタイプを変換するために使用されます。
制限事項と注意点
レプリカタイプを変更した後もログストリームが過半数を維持できるようにしてください。そうでない場合、運用コマンドエラーが発生します。
このステートメントは一度に1つのレプリカのタイプしか変更できません。
テナント内の同一ログストリームについては、レプリカ移行タスクを複数並行実行できる以外、他の災害復旧タスク(レプリカの追加、削除、レプリカタイプの変更、ログストリームの法定メンバー数の変更など)は毎回1つしか実行できません。
説明
sysテナントはビュー
CDB_OB_LS_REPLICA_TASKSを使用して実行中の災害復旧タスクがあるかどうかを確認できます。ユーザーテナントはビューDBA_OB_LS_REPLICA_TASKSを使用して実行中の災害復旧タスクがあるかどうかを確認できます。
権限要件
このステートメントを実行するユーザーは ALTER SYSTEM 権限を持っている必要があります。OceanBaseデータベースの権限の詳細については、MySQLモードの権限分類およびOracleモードの権限分類を参照してください。
構文
ALTER SYSTEM MODIFY REPLICA
LS [=] ls_id
SERVER [=] 'svr_ip:svr_port'
REPLICA_TYPE [=] 'replica_type'
[PAXOS_REPLICA_NUM [=] paxos_replica_num]
[TENANT [=] 'tenant_name'];
パラメータの説明
| パラメータ | 説明 |
|---|---|
| ls_id | 変換対象のレプリカタイプを示すログストリームID。 |
| svr_ip:svr_port | 変換対象のレプリカタイプのターゲットサーバーのIPアドレスとポート番号。例えば、xxx.xx.xxx.001:2882。 |
| replica_type | 変換後のターゲットレプリカタイプを指定します。現在、以下の2種類のレプリカタイプ間での相互変換がサポートされています(大文字と小文字は区別されません):
説明
|
| paxos_replica_num | オプション。ログストリームリーダーの法定メンバー数を指定します。この値を明示的に指定しない場合、システムは現在のデフォルトのpaxos_replica_numを使用します。また、1つのログストリームにおけるFレプリカの最大数は7です。
注意このパラメータの値を指定する際には、以下の点に注意する必要があります:
|
| tenant_name | オプション。操作対象のテナントを指定します。操作対象のテナントを明示的に指定しない場合、デフォルトのテナント名は現在のテナント名になります。
注意システムテナントは他のテナントを指定できますが、ユーザーテナントは自身のテナントのみを指定できます。このステートメントでは、 |
例
sysテナントで以下のコマンドを実行し、テナントmysql001内のFタイプのログストリープレペリカをRタイプのログストリープレペリカに変換します。
ALTER SYSTEM MODIFY REPLICA
LS = 1001
SERVER = 'xxx.xxx.xxx.001:2882'
REPLICA_TYPE = 'R'
PAXOS_REPLICA_NUM = 2
TENANT = 'mysql001';
ログストリープレペリカのタイプを変換するその他の例については、レプリカタイプの変換を参照してください。
関連ドキュメント
- ログストリープレペリカを手動で追加する方法については、ADD REPLICAを参照してください。
- ログストリープレペリカを削除する方法については、REMOVE REPLICAを参照してください。
- ログストリープレペリカを移行する方法については、MIGRATE REPLICAを参照してください。
- ログストリープ
PAXOS_REPLICA_NUMを変更する方法については、MODIFY PAXOS_REPLICA_NUMを参照してください。 - ログストリープレペリカタスクをキャンセルする方法については、CANCEL REPLICA TASKを参照してください。