説明
このステートメントは、実行中のレプリカタスクを手動でキャンセルするために使用されます。
制限事項と注意点
- 現在のバージョンでは、レプリカの追加や移行など、2種類のレプリカタスクのみのキャンセルがサポートされています。現在実行中の災害復旧タスクを確認するには、
DBA_OB_LS_REPLICA_TASKSビューを参照してください。 - このステートメントは一度にテナントの1つの災害復旧タスクしかキャンセルできません。
- キャンセルコマンドは再入可能であり、ユーザーが複数回実行しても1回実行した場合と同じ効果になります。
- キャンセル対象のタスクが実行中であることを確認する必要があります。タスクが完了してしまった場合は、キャンセルできません。
- キャンセルコマンドが正常に返された場合、RSがキャンセルしたRPCを下層に送信したことを意味しますが、下層が必ずしもキャンセルを成功させられるとは限りません。これは、レプリカタスクの実行が複数の段階に分かれているためです。タスクが最終段階に進んでしまった場合、その時点でのキャンセルは不可能です。タスクのキャンセル結果は、
DBA_OB_LS_REPLICA_TASK_HISTORYビューの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を参照してください。