Inicio de la réplica para una lista de tablas

Puede iniciar la réplica para una lista de tablas. Las tablas se identifican mediante el nombre del conjunto de réplicas, el nombre del grupo de consistencia y el nombre de suscripción.

Antes de empezar

Esta tarea se debe realizar en el host de clúster para el origen de réplica. Asegúrese de recopilar la siguiente información antes de ejecutar la llamada de API:
  • La señal de autorización básica del origen en el host del clúster.1
  • El nombre de host de la base de datos de origen de réplica.
  • Número de puerto externo de la base de datos de origen de réplica.2
  • El nombre del conjunto de réplicas (rsName).3
  • El nombre del grupo de consistencia (cgName).
  • El nombre de suscripción (subName). 4
Necesita esta información para ejecutar las llamadas de API REST de réplica necesarias.
1 Es necesario crear una señal de autorización básica para ejecutar una solicitud cURL . Para crear la señal, ejecute este mandato:
echo <source_db_username>:<source_db_password>| base64
2 Puede recuperar el número de puerto externo de la base de datos de origen de réplica ejecutando este mandato:
oc get svc | grep <db2_instance_id> | grep db2u-engn-svc | grep 50001 | sed 's/.*50001://' | sed 's/\/TCP.*//')
3 Puede encontrar el nombre del conjunto de réplicas (rsName) y el nombre del grupo de consistencia (cgName) ejecutando este mandato:
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'
4 Puede encontrar el nombre de suscripción (subName) ejecutando este mandato:
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/<replication_name>/<consistency_group_name>'

Acerca de esta tarea

Esta llamada de API desencadena una tarea para iniciar la réplica para una lista de tablas.

Procedimiento

  1. Ejecute la API REST de duplicación Q utilizando el mandato siguiente:
    curl --insecure -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic <your_authorization_token>' -d '{ "tableSubList": ["<subscription_name>"] }' 'https://<source_hostname>:<source_rest_port>/dr/v1/replicationset/<replication_set_name>/<consistency_group_name>/start-tablesubs'

    Esta llamada de API devuelve un número de trabajo (id).

    {
      "id": <job_number>,
      "url": "https://<source_hostname>:<source_rest_external_port>/dr/v1/target/progress/<job_number>"
    }
    
  2. Incluya el número de trabajo en el mandato siguiente para comprobar el progreso de la operación de inicio de réplica:
    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>'

Resultados

El inicio de la réplica para una lista de tablas se completa cuando se devuelve un mensaje de respuesta que contiene "executionState": "COMPLETED","overallJobResult": "PASS" . Hasta que se devuelvan estos valores, examine el código de error, el mensaje y la resolución en la respuesta.
La siguiente tabla enumera los posibles códigos de estado HTTP y los mensajes de respuesta para la llamada a la API de inicio de replicación para una lista de tablas. También incluye código de ejemplo para mostrar la sintaxis de respuesta.
Código de estado de HTTP Razón Modelo de respuesta
202 Se han insertado mandatos CAPSTART para iniciar suscripciones de tabla. La solicitud del usuario devuelve un trabajo (id) y URL como inicio de la llamada a la API (valor de muestra):
{
  "id": 15,
  "url": "https://dr-source1.ibm.com:31023/dr/v1/replicationset/progress/15"
}
La solicitud de usuario devuelve una respuesta satisfactoria para la finalización de la llamada de API (valor de ejemplo):
{
  "id": 15,
  "url": "https://dr-source1.ibm.com:31023/dr/v1/replicationset/progress/15",
  "executionState": "COMPLETED",
  "overallJobResult": "PASS",
  "jobStatusList": [
    {
      "jobKey": "startRepCg",
      "jobDescription": "Start replication for consistency group.",
      "execState": "COMPLETED",
      "jobResult": "PASS",
      "values": [],
      "errors": []
    }
  ]
}

}
4xx Error de solicitud de cliente La solicitud de usuario no se ha cumplido debido a una sintaxis de solicitud mal formada u otros problemas de cliente:
{
  "errorCode": "string",
  "errorMessage": "string",
  "errorResolution": "string"
}
5xx Error de servidor La solicitud de usuario parecía válida, pero no se ha cumplido debido a un problema con el servidor:
{
  "errorCode": "string",
  "errorMessage": "string",
  "errorResolution": "string"
}

Ejemplo

El ejemplo siguiente muestra la sintaxis del mandato para iniciar la réplica para una lista de tablas de la base de datos de origen para el conjunto de réplicas RS_MPP_2. Consulte el Paso 1.
curl --insecure -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic ZHNhZG06aFRjT3dTTjR1RFo0N1Ew'  -d '{ "tableSubList": ["RSMPP20001_DSADM_T6C", "RSMPP20001_DSADM_T7C"]}' 'https://dr-source1.ibm.com:31023/dr/v1/replicationset/RS_MPP_2/RSMPP20001/start-tablesubs'

El ejemplo siguiente muestra la sintaxis del mandato para comprobar el estado de la réplica de inicio para una lista de tablas utilizando el número de trabajo generado, 15. Consulte el Paso 2.


curl --insecure -X GET --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic ZHNhZG06aFRjT3dTTjR1RFo0N1Ew' 'https://dr-source1.ibm.com:31023/dr/v1/replicationset/progress/15'

Qué hacer a continuación

Detener la replicación para una lista de tablas