welcome back ...
Scenario:
Today I found a strange behaviour of REPLICAT in Goldengate environment, We migrated database from AIX 6.1 to RHEL 6.x. Pumps are exactly working fine on AIX servers which are writing data to remote trail directory on RHEL servers , replicats are running fine on RHEL OGG HOME today morning. They are abended with generating alot of discards. To find out RCA, checked trails using logdump utlity trail is perfectly fine. Renamed discard file and started replicat's again, again they are abended with same error by generating alot of discards. Later, I opened SERVICE REQUEST with oracle, Oracle requested me to add handlecollisions to replicat parameter file which can avoid this replicat from abending and remove after replicat processing all the trails in target server. After adding HANDLECOLLISIONS parameter, replicat didn't generated any discards. it is perfectly working fine !!!! STRANGE REPLICAT !!!!!
#####################
#####################
BEST SCENARIO to use HANDLECOLLISIONS
a) During initial load, it will convert missing update into insert
b) When your primary table and target tables are not in sync, it prevents replicat from abending !
c) Replicat’s ABENDED after target server crash; perform following tasks
b) When your primary table and target tables are not in sync, it prevents replicat from abending !
c) Replicat’s ABENDED after target server crash; perform following tasks
- Issue alter <pump name> etrollover on source host
- Start pump
- Verify if replicats all abended on the same record
- And if so, verify in the DB that the record existed
- Update PRM files for Replicats and add HANDLECOLLISIONS
- Start replicats
- After replicats start and seem to be running successfully, remove HANDLECOLLISIONS
Hardly, I never recommend you to use handle-collisions in replicat, i have seen replicat is inserting duplicate records in to the table !!!