説明
このステートメントは、実行中のレプリカタスクを手動でキャンセルするために使用します。
使用上の制限と注意事項
- 現在のバージョンでは、レプリカの追加とレプリカの移行の2種類のレプリカタスクのみキャンセルが可能です。ビュー
DBA_OB_LS_REPLICA_TASKSを参照して、現在実行中のディザスタリカバリタスクを確認できます。 - このステートメントは、1回につきテナントの1つのディザスタリカバリタスクのみをキャンセルできます。
- キャンセルコマンドは再入可能であり、ユーザーが複数回実行しても1回実行した場合と効果は同じです。
- キャンセル対象のタスクが実行中であることを確認する必要があります。タスクが既に完了してしまった場合は、キャンセルできません。
- キャンセルコマンドが正常に返された場合、RSがキャンセルのRPCを下層に送信したことを意味しますが、下層が必ずしもキャンセルを成功させる保証はありません。これは、レプリカタスクの実行が複数の段階に分かれているためです。タスクが最終段階に進んでしまった場合は、その時点でのキャンセルは不可能です。タスクのキャンセル結果は、
DBA_OB_LS_REPLICA_TASK_HISTORYビューのTASK_STATUSフィールドで確認できます。TASK_STATUSがCANCELEDの場合、キャンセルは成功したことを示します。
権限要件
このステートメントを実行するユーザーは ALTER SYSTEM 権限を持っている必要があります。OceanBaseデータベースの権限の詳細については、MySQLモードの権限分類およびOracleモードの権限分類を参照してください。
構文
ALTER SYSTEM CANCEL REPLICA TASK
TASK_ID [=] task_id
[TENANT [=] '$tenant_name'];
パラメータ説明
パラメータ |
説明 |
|---|---|
| task_id | キャンセルするレプリカタスクのTASK_IDを指定します。 |
| tenant_name | オプションです。操作対象のテナントを指定します。操作対象のテナントを明示的に指定しない場合、デフォルトのテナント名は現在のテナントになります。
注意システムテナントは他のテナントを指定できますが、ユーザーテナントは自身のテナントのみを指定できます。このステートメントでは、 |
例
sysテナントで以下のコマンドを実行し、テナント mysql001 内で実行中のレプリカタスクをキャンセルします。
ALTER SYSTEM CANCEL REPLICA TASK
TASK_ID = 'Y13CE64586BD4-000610C5F3EDBBCB-0-0'
TENANT = 'mysql001';
実行中のレプリカタスクをキャンセルするその他の例については、レプリカタスクのキャンセルを参照してください。
関連ドキュメント
- ログストリームレプリカの手動追加については、ADD REPLICAを参照してください。
- ログストリームレプリカの削除については、REMOVE REPLICAを参照してください。
- ログストリームレプリカタイプの変換については、MODIFY REPLICAを参照してください。
- ログストリームレプリカの移行については、MIGRATE REPLICAを参照してください。
- ログストリームの
PAXOS_REPLICA_NUMの変更については、MODIFY PAXOS_REPLICA_NUMを参照してください。