Deleting one or more tables from a replication set
You remove a table from a replication set so that data from the table is no longer replicated.
Before you begin
This task is done on the cluster host for the replication source. Ensure that you collect the following information before you run the API call:
- The basic authorization token of the source on the cluster host.1
- The host name of the replication source database.
- The external port number of the replication source database.2
- The replication set name (rsName)3
- The consistency group name (cgName)
- The subscription name (subName)4
1 You need to create a basic authorization token to run a cURL request. To create your
token, run this
command:
echo <source_db_username>:<source_db_password>| base64
2 You can retrieve the external port number of the replication
source database by running the following
command:
oc get svc | grep <db2_instance_id> | grep db2u-engn-svc | grep 50001 | sed 's/.*50001://' | sed 's/\/TCP.*//')
3 You can find the replication set name (rsName) and
consistency group name (cgName) by running the following
command:
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 When you have the rsName and cgName values, you can use them to
find the subscription name (subName) by running the following
command:
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>'
About this task
Removing a table does not affect replication for other tables in the set. The tables are identified by the replication set, consistency group, and subscription names. If the table subscription list is empty, all table subscriptions in the existing replication set are deleted.
Procedure
Delete a list of tables from a replication set for the specified source and target
systems:
curl --insecure -X DELETE --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>/<subscription_name>'
Results
status=Passed
is returned. Until this value is returned, examine the error code,
message, and resolution in the response.The following table lists the possible HTTP status codes
and response messages for the replication table deletion API call. It also includes sample code to
show the response syntax.
HTTP Status Code | Reason | Response Model |
---|---|---|
200 | List of deleted table subscriptions. | The user request returns a job (id ) and URL as the API call starts (sample
value):
|
4xx | Client request error | The user request was not fulfilled due to malformed request syntax or other client
issues:
|
5xx | Server error | The user request appeared valid, but was not fulfilled due to an issue with the
server:
|
Example
DEMOREPLSET1
:curl --insecure -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic ZHNhZG06MDNRVWlMczFhcmoxb3ky' -d '{ "tableSubList": ["DEMORE0001_DSADM_T6R", "DEMORE0001_DSADM_T7R"] }'
'https://dr-source1.ibm.com:31023/dr/v1/replicationset/DEMOREPLSET1/DEMORE0001/table'