説明
このステートメントは、実行中のレプリカタスクを手動でキャンセルするために使用します。
使用上の制限と注意事項
- 現在のバージョンでは、レプリカの追加とレプリカの移行の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を参照してください。