説明
このステートメントは、ログストリームのレプリカタイプを変換するために使用されます。
使用上の制限と注意事項
レプリカタイプを変更した後もログストリームが過半数を維持できることを確認してください。そうでない場合、運用コマンドでエラーが発生します。
このステートメントは、一度に1つのレプリカのタイプしか変更できません。
テナント内の同一ログストリームについて、レプリカ移行タスクは複数並列実行可能ですが、その他のディザスタリカバリタスク(レプリカの追加、削除、タイプ変換、ログストリームの法定メンバー数の変更など)は、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を使用します。また、同一ログストリームの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を参照してください。