Q レプリケーション構成からのレプリケーション・ターゲットの削除

Red Hat のレプリケーション構成 Db2 から対象システムを削除できます。 このアクションにより、ターゲットに関連付けられているレプリケーション・セットもすべて削除されます。

始める前に

このタスクは、複製ソースのクラスター・ホストで実行されます。 API 呼び出しを実行する前に、以下の情報があることを確認してください。
  • クラスター・ホスト上のソースの基本許可トークン。1
  • 複製ソース・データベースと複製ターゲット・データベースの両方のホスト名。
  • レプリケーション・ソース・データベースとレプリケーション・ターゲット・データベースの両方の外部ポート番号。2
1 cURL 要求を実行するには、基本許可トークンを作成する必要があります。 トークンを作成するには、次のコマンドを実行します。
echo <source_db_username>:<source_db_password> | base64
ここで、 source は、ソース・データベースまたは宛先データベースのいずれかを指します。
2 以下のコマンドを実行して、レプリケーション・ソース・データベースとレプリケーション・ターゲット・データベースの両方の外部ポート番号を取得できます。
oc get svc | grep <db2_instance_id> | grep db2u-engn-svc | grep 50001 | sed 's/.*50001://' | sed 's/\/TCP.*//')

このタスクについて

Q レプリケーション構成からターゲット・システムを削除すると、以下の結果が生じます。

  • ターゲットのすべてのレプリケーション・セットが削除されます。
  • ソース上のキャプチャー・キュー・マネージャーは、ターゲット・システムとの通信を除去するように構成されています。
  • ターゲット・データベース上のすべてのアプライ・メタデータ表が削除されます。
  • キュー・マネージャーおよびアプライ・プロセスが停止します。
  • アプライ・メッセージ・キュー・マネージャーがターゲット・システムから除去されます。

手順

  1. Q レプリケーション構成からレプリケーション・セットを削除します。
    curl --insecure -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic <your_authorization_token>' -d '{ "dbUsername": “<target_database_user_name>”, "dbPassword": “<target _database_user_password>” }' 'https://<source_hostname>:<source_rest_port>/dr/v1/target/<target_hostname>/<target_db_port>/BLUDB'
    注: ターゲット上の情報を削除せずに、ソース上のターゲット成果物のみを削除する場合は、プロパティー "isSrcOrphan”:true;を含めます。 デフォルト値はfalseです。
    この API 呼び出しは、ジョブ番号 (id) を返します。
    {
      "id": <job_number>,
      "url": "https://<source_hostname>:<source_rest_external_port>/dr/v1/target/progress/<job_number>"
    }
    
  2. 以下の API 呼び出しにジョブ番号を組み込んで、複製ターゲットの削除の進行状況を確認します。
    curl --insecure -X GET --header 'Accept: application/json' --header 'Authorization: Basic <your_authorization_token>' 
    'https://<source_hostname>:<source_rest_external_port>/dr/v1/target/progress/<job_number>'

結果

executionState=COMPLETED および overallJobResult=PASS を含む応答メッセージが返されると、複製ターゲットの削除が完了します。 これらの値が戻されるまで、応答内のエラー・コード、メッセージ、および解決を調べてください。
次の表は、レプリケーション・ターゲット削除 API 呼び出しで使用可能な HTTP ステータス・コードと応答メッセージの一覧です。 また、応答構文を示すサンプル・コードも含まれています。
HTTP状況コード 理由 応答モデル
202 ターゲットの削除キュー ユーザー・リクエストは、APIコールの開始時にジョブ (id )と URL (サンプル値)を返す:

{
  "id": 11,
  "url": " https://dr-source1.ibm.com:31023/dr/v1/target/progress/11"
}
200 API の状況チェックが成功しました 応答で executionState=COMPLETED および overallJobResult=PASS を探します。
4xx クライアント要求エラー 誤った形式の要求構文またはその他のクライアントの問題が原因で、ユーザー要求が満たされませんでした。
{
  "errorCode": "string",
  "errorMessage": "string",
  "errorResolution": "string"
}
5xx サーバー・エラー ユーザー要求は有効と思われましたが、サーバーの問題が原因で実行されませんでした:
{
  "errorCode": "string",
  "errorMessage": "string",
  "errorResolution": "string"
}

以下の例は、複製構成から複製ターゲットを削除するためのコマンド構文を示しています。 ステップ 1を参照してください。
curl --insecure -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic ZHNhZG06MDNRVWlMczFhcmoxb3ky' -d '{ "dbUsername": "myuser1", "dbPassword": "mypass1" }' 'https://dr.source1.ibm.com:dr.source1.ibm.com/dr/v2/target/dr.target2.ibm.com/32621/BLUDB'
返されたジョブ番号を使用して、ターゲットの削除の進行状況を確認します。 ステップ 2を参照してください。

curl --insecure -X GET --header 'Accept: application/json' --header 'Authorization: Basic ZHNhZG06aFRjT3dTTjR1RFo0N1Ew' 'https://api.dr-source1.ibm.com:30674/dr/v1/target/progress/11'

次のタスク

Db2 Q レプリケーション REST API によるレプリケーションの管理