In the realm of data replication, ensuring accuracy and efficiency are paramount. Oracle GoldenGate, a powerful tool for real-time data integration and replication, offers various mechanisms to enhance data integrity and streamline replication processes. One such mechanism is CSN-based filtering, a feature designed to prevent duplicate transactions from being applied to the target database. In this blog post, we’ll delve into the significance of CSN-based filtering and explore how it can be leveraged to maximize efficiency in data replication workflows.
Understanding CSN-Based Filtering: CSN-based filtering operates on the principle of Change Sequence Numbers (CSNs), which are unique identifiers assigned to each transaction captured by Oracle GoldenGate. As transactions are processed for replication, GoldenGate compares the CSNs of incoming transactions with those already applied to the target database. If a transaction with a duplicate CSN is detected, CSN-based filtering suppresses it from being applied, thus preventing redundant data from being replicated.
Let’s see what is the actual error
INFO OGG-05663 Oracle GoldenGate Delivery for Oracle, rrmysql.prm: CSN-based filtering suppressed a duplicate transaction from trail Seqno 6, RBA 12842, with CSN 000000000000000000032:000000192306808 and transaction ID 000000000000000000032:000000192305792.
Certainly! Here are some possible reasons for encountering the “OGG-05663 CSN-based filtering suppressed a duplicate transaction” error in Oracle GoldenGate: Concurrancy issues, Replication Lag, Configuration errors, network issues etc.
Let’s see the workarounds and other solutions to fix this problem.
Make sure “_CSNFILTERING OFF” entry in Globals file and refresh the manager.
[oracle@dORA-X500 ~]$ . setenv.sh
GGSCI (dORA-X500) 1> view params ./GLOBALS
GGSCHEMA OGGDB
--SYSLOG ERROR
ALLOWOUTPUTDIR /MYSQL/ggtrail
ALLOWOUTPUTDIR /dump/high_storage/ggtrail
CHECKPOINTTABLE OGGDB.CHKPTAB
ENABLEMONITORING
_CSNFILTERING OFF
Stop the Replicat Process
GGSCI (ORA-X500) 4> dblogin useridalias ggrpay
Successfully logged into database.
GGSCI (dm-ggora101z as ggadmin@srxaas121) 15> stop RRPAY1
GGSCI (ORA-X500 as ggadmin@srxaas121) 15> info RRPAY1
REPLICAT RRPAY1 Initialized 2021-06-15 21:31 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:00:04 ago)
Log Read Checkpoint File /MYSQL/ggtrail/PRPAY1/mp000000009
First Record RBA 1610477
Delete the replicat and add the replicat to start form the point of failure.
GGSCI (ORA-X500 as ggadmin@srxaas121) 6> delete RRPAY1
2021-06-15 21:30:24 INFO OGG-14034 Heartbeat entries with [RRPAY1] deleted.
Deleted REPLICAT RRPAY1.
GGSCI (ORA-X500 as ggadmin@srxaas121) 12> add replicat RRPAY1,exttrail /MYSQL/ggtrail/PRPAY1/mp, checkpointtable ggadmin.chkptab
GGSCI (dm-ggora101z as ggadmin@srxaas121) 14> ALTER REPLICAT RRPAY1, EXTSEQNO 9, EXTRBA 0
2021-06-15 21:31:58 INFO OGG-06594 Replicat RRPAY1 has been altered. Even the start up position might be updated, duplicate suppression remains active in next startup. To override duplicate suppression, start RRPAY1 with NOFILTERDUPTRANSACTIONS option.
GGSCI (ORA-X500 as ggadmin@srxaas121) 15> info RRPAY1
REPLICAT RRPAY1 Initialized 2021-06-15 21:31 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:00:04 ago)
Log Read Checkpoint File /MYSQL/ggtrail/PRPAY1/mp000000009
First Record RBA 0
GGSCI (ORA-X500 as ggadmin@srxaas121) 15> start RRPAY1 NOFILTERDUPTRANSACTIONS
GGSCI (dm-ggora101z) 18> info RRPAY1
info RRPAY1
REPLICAT RRPAY1 Last Started 2021-06-14 15:51 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:01 ago)
Process ID 82474
Log Read Checkpoint File /MYSQL/ggtrail/PRPAY1/mp000000009
2021-06-15 20:56:20.000256 RBA 1610040
Once the replicat is started check whether the RBA is moving and in parallel monitor the ggserr.log file. References
REPLICAT Can Not Process Data, And Logdump Bus Error(coredump) (Doc ID 2166218.1)
Goldengate MYSQL Replication : NOFILTERDUPTRANSACTIONS Doesn’t Work As Expected (Doc ID 2784892.1)