Remove Cascading Topology Data Replication
Note: The given sample script uses names and values of database server, parameter values, Extract, Replicat, and other processes. You must change these values according to your environment for this script to work.
#!/bin/bash
# ----------------------------------------------------------------------------------------------------
# --
# -- Stop & Delete Replicat
# --
# ----------------------------------------------------------------------------------------------------
curl -s -k -X PATCH https://west:9201/services/v2/replicats/REPS \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"status":"stopped"}' | jq '.messages'
curl -s -k -X DELETE https://west:9201/services/v2/replicats/REPS \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
curl -s -k -X PATCH https://south:9101/services/v2/replicats/REPN \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"status":"stopped"}' | jq '.messages'
curl -s -k -X DELETE https://south:9101/services/v2/replicats/REPN \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
# ----------------------------------------------------------------------------------------------------
# --
# -- Stop & Delete DistPath
# --
# ----------------------------------------------------------------------------------------------------
curl -s -k -X PATCH https://south:9102/services/v2/sources/DPSW \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \ -d '{"status":"stopped"}' | jq '.messages'
curl -s -k -X DELETE https://south:9102/services/v2/sources/DPSW \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
curl -s -k -X PATCH https://north:9002/services/v2/sources/DPNS \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"status":"stopped"}' | jq '.messages'
curl -s -k -X DELETE https://north:9002/services/v2/sources/DPNS \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
# ----------------------------------------------------------------------------------------------------
# --
# -- Stop & Delete Extracts
# --
# ----------------------------------------------------------------------------------------------------
curl -s -k -X PATCH https://south:9101/services/v2/extracts/EXTS \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"status":"stopped"}' | jq '.messages'
curl -s -k -X DELETE https://south:9101/services/v2/extracts/EXTS \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
curl -s -k -X PATCH https://north:9001/services/v2/extracts/EXTN \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"status":"stopped"}' | jq '.messages'
curl -s -k -X DELETE https://north:9001/services/v2/extracts/EXTN \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
# ----------------------------------------------------------------------------------------------------
# --
# -- Delete Schematranda
# -- Delete Checkpointtable
# -- Delete Heartbeattables
# --
# ----------------------------------------------------------------------------------------------------
# Delete SchemaTrandata at Database GGNORTH
curl -s -k -X POST https://north:9001/services/v2/connections/OracleGoldenGate.ggnorth/trandata/schema \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"operation":"delete","schemaName":"hr"}' | jq '.messages'
# Delete SchemaTrandata at Database GGSOUTH
curl -s -k -X POST https://south:9101/services/v2/connections/OracleGoldenGate.ggsouth/trandata/schema \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"operation":"delete","schemaName":"hr"}' | jq '.messages'
# Delete Checkpointtable at Database GGSOUTH
curl -s -k -X POST https://south:9101/services/v2/connections/OracleGoldenGate.ggsouth/tables/checkpoint \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"operation":"delete","name":"ggadmin.ggs_checkpointtable"}' | jq '.messages'
# Delete Checkpointtable at Database GGWEST
curl -s -k -X POST https://south:9201/services/v2/connections/OracleGoldenGate.ggwest/tables/checkpoint \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"operation":"delete","name":"ggadmin.ggs_checkpointtable"}' | jq '.messages'
# Delete Heartbeattable at Database GGNORTH
curl -s -k -X DELETE https://north:9001/services/v2/connections/OracleGoldenGate.ggnorth/tables/heartbeat \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
# Delete Heartbeattable at Database GGSOUTH
curl -s -k -X DELETE https://south:9101/services/v2/connections/OracleGoldenGate.ggsouth/tables/heartbeat \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
# Delete Heartbeattable at Database GGWEST
curl -s -k -X DELETE https://west:9201/services/v2/connections/OracleGoldenGate.ggwest/tables/heartbeat \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
# ----------------------------------------------------------------------------------------------------
# --
# --Delete USERIDALIAS from GoldenGate
# --
# ----------------------------------------------------------------------------------------------------
curl -s -k -X DELETE https://north:9001/services/v2/credentials/OracleGoldenGate/ggnorth \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
curl -s -k -X DELETE https://south:9101/services/v2/credentials/OracleGoldenGate/ggsouth \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
curl -s -k -X DELETE https://west:9201/services/v2/credentials/OracleGoldenGate/ggwest \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' | jq '.messages'
# --------------------------------------------------------------------------------------------------
# --
# -- Delete Trail Files
# --
# ----------------------------------------------------------------------------------------------------
curl -s -k -X POST https://north:9001/services/v2/commands/execute \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"name": "purge"
,"purgeType": "trails"
,"trails": [{"name": "ea","path": "north/"}]
,"useCheckpoints": false
,"keep": [{"type": "min","units": "files","value": 0}]
}' | jq '.messages'
curl -s -k -X POST https://south:9101/services/v2/commands/execute \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"name": "purge"
,"purgeType": "trails"
,"trails": [{"name": "da","path": "north/"}]
,"useCheckpoints": false
,"keep": [{"type": "min","units": "files","value": 0}]
}' | jq '.messages'
curl -s -k -X POST https://south:9101/services/v2/commands/execute \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"name": "purge"
,"purgeType": "trails"
,"trails": [{"name": "ea","path": "south/"}]
,"useCheckpoints": false
,"keep": [{"type": "min","units": "files","value": 0}]
}' | jq '.messages'
curl -s -k -X POST https://west:9201/services/v2/commands/execute \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Basic Z2dtYTpHR21hXzIzYWk=' \
-d '{"name": "purge"
,"purgeType": "trails"
,"trails": [{"name": "da","path": "south/"}]
,"useCheckpoints": false
,"keep": [{"type": "min","units": "files","value": 0}]
}' | jq '.messages'
# Clean up environment
/home/oracle/scripts/misc/cleanup.sh > /dev/null
Note: The given sample script uses names and values of database server, parameter values, Extract, Replicat, and other processes. You must change these values according to your environment for this script to work.
# --
# -- Remove objects from WEST
# --
CONNECT https://west:9201 DEPLOYMENT depl_west AS ggma PASSWORD GGma_26ai !
DBLOGIN USERIDALIAS ggwest DOMAIN OracleGoldenGate
KILL REPLICAT reps
DELETE REPLICAT reps
DELETE CHECKPOINTTABLE ggadmin.ggs_checkpointtable !
DELETE HEARTBEATTABLE !
ALTER CREDENTIALSTORE DELETE USER ggadmin@dbwest ALIAS ggwest DOMAIN OracleGoldenGate
PURGE EXTTRAIL south/da
# --
# -- Remove objects from SOUTH
# --
CONNECT https://south:9101 DEPLOYMENT depl_south AS ggma PASSWORD GGma_26ai !
DBLOGIN USERIDALIAS ggsouth DOMAIN OracleGoldenGate
KILL REPLICAT repn
DELETE REPLICAT repn
STOP DISTPATH dpsw
DELETE DISTPATH dpsw
KILL EXTRACT exts
DELETE EXTRACT exts
DELETE SCHEMATRANDATA hr
DELETE CHECKPOINTTABLE ggadmin.ggs_checkpointtable !
DELETE HEARTBEATTABLE !
ALTER CREDENTIALSTORE DELETE USER ggadmin@dbsouth ALIAS ggsouth DOMAIN OracleGoldenGate
PURGE EXTTRAIL north/da
PURGE EXTTRAIL south/ea
# --
# -- Remove objects from NORTH
# --
CONNECT https://north:9001 DEPLOYMENT depl_north AS ggma PASSWORD GGma_26ai !
DBLOGIN USERIDALIAS ggnorth DOMAIN OracleGoldenGate
STOP DISTPATH dpns
DELETE DISTPATH dpns
KILL EXTRACT extn
DELETE EXTRACT extn
INFO ALL
INFO DISTPATH ALL
DELETE SCHEMATRANDATA hr
DELETE HEARTBEATTABLE !
ALTER CREDENTIALSTORE DELETE USER ggadmin@dbnorth ALIAS ggnorth DOMAIN OracleGoldenGate
PURGE EXTTRAIL north/ea
DISCONNECT
After creating the OBEY file, create a shell script to run in Admin Client:
#!/bin/bash
# Run the GoldenGate Obey script
echo "obey delete_replication_cascading.oby" | adminclient
# Clean up environment
/home/oracle/scripts/misc/cleanup.sh > /dev/null