删除复制集

您可以除去一个或多个不再复制的复制集。

开始之前

此任务在复制源的集群主机上完成。 在运行 API 调用之前,请确保收集以下信息:

  • 集群主机上源的基本授权令牌。1
  • 复制源数据库的主机名。
  • 复制源数据库的外部端口号。2
  • 复制集名称 (rsName)。3
  • 一致性组名 (cgName)。
您需要此信息以运行所需的复制 REST API 调用。
1 您需要创建基本授权令牌以运行 cURL 请求。 要创建令牌,请运行以下命令:
echo <source_db_username>:<source_db_password> | base64
2 您可以通过运行以下命令来检索复制源数据库的外部端口号:
oc get svc | grep <db2_instance_id> | grep db2u-engn-svc | grep 50001 | sed 's/.*50001://' | sed 's/\/TCP.*//')
3 您可以通过运行以下命令来查找复制集名称 (rsName) 和一致性组名称 (cgName):
curl --insecure -X GET --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic <your_authorization_token> 
'https://<source_hostname>:<source_rest_port>/dr/v1/replicationset' 

关于本任务

除去复制集不会影响复制配置中的其他复制集。

过程

  1. 从复制配置中删除复制集:
    curl --insecure -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic <your_authorization_token>' 
    'https://<source_hostname>:<source_rest_port>/dr/v1/replicationset/<replication_set_name>/<consistency_group_name>'
    此 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_port>/dr/v1/replicationset/progress/<job_number>'

结果

当返回包含 "executionState": "COMPLETED", "overallJobResult": "PASS" 的响应消息时,将完成复制集的删除。 在返回这些值之前,请检查响应中的错误代码,消息和解决方法。
下表列出了复制集删除 API 调用可能的 HTTP 状态代码和响应信息。 它还包含用于显示响应语法的样本代码。
HTTP 状态代码 原因 响应模型
202 已创建用于删除复制集的作业。 用户请求在 API 调用开始时返回一个任务 (id) 和 URL (示例值):

{
  "id": 10,
  "url": "https://dr-source1.ibm.com:31023/dr/v1/replicationset/progress/10"
}
用户请求返回成功响应以完成 API 调用 (样本值) ::
{
  "id": 10,
  "url": "https://dr-source1.ibm.com:31023/dr/v1/replicationset/progress/10",
  "executionState": "COMPLETED",
  "overallJobResult": "PASS",
  "jobStatusList": [
    {
      "jobKey": "cgDeletionSetup",
      "jobDescription": "Setup objects for consistency group deletion.",
      "execState": "COMPLETED",
      "jobResult": "PASS",
      "values": [],
      "errors": []
    },
    {
      "jobKey": "stopRepCg",
      "jobDescription": "Stop the send queue",
      "execState": "COMPLETED",
      "jobResult": "PASS",
      "values": [],
      "errors": []
    },
    {
      "jobKey": "stopSrcChl",
      "jobDescription": "Stop the source channels",
      "execState": "COMPLETED",
      "jobResult": "PASS",
      "values": [],
      "errors": []
    },
    {
      "jobKey": "deleteTgtQmObj",
      "jobDescription": "Delete target queue manager objects",
      "execState": "COMPLETED",
      "jobResult": "PASS",
      "values": [],
      "errors": []
    },
    {
      "jobKey": "deleteSrcQmObj",
      "jobDescription": "Delete source queue manager objects",
      "execState": "COMPLETED",
      "jobResult": "PASS",
      "values": [],
      "errors": []
    },
    {
      "jobKey": "deleteSchemaSubs",
      "jobDescription": "Delete the schema sub from the consistency group.",
      "execState": "COMPLETED",
      "jobResult": "PASS",
      "values": [],
      "errors": []
    },
    {
      "jobKey": "deleteTable",
      "jobDescription": "Delete the table from the consistency group.",
      "execState": "COMPLETED",
      "jobResult": "PASS",
      "values": [],
      "errors": []
    },
    {
      "jobKey": "deleteCg",
      "jobDescription": "Delete the consistency group",
      "execState": "COMPLETED",
      "jobResult": "PASS",
      "values": [],
      "errors": []
    }
  ]
}
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' 
'https://dr-source1.ibm.com:31023/dr/v1/replicationset/DEMOREPLSET1/DEMORE0001'
以下示例显示了用于通过包含作业号 10 来检查复制集删除进度的命令语法。 请参阅步骤 2:
curl --insecure -X GET --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic ZHNhZG06MDNRVWlMczFhcmoxb3ky'
'https://dr-source1.ibm.com:31023/dr/v1/replicationset/progress/10'