With GoldenGate 12c, Integrated Replicat has now become the preferred option to apply transactions (Classic and Coordinated are the others). In order to get the most efficiency out of the Integrated Replicat, it is important to understand what types of operations cannot be applied by the integrated apply server. GoldenGate considers operations which cannot be applied in “integrated” mode to be applied in “direct” mode.
So what is the difference between Integrated and Direct?
“Integrated” applies transactions via a Logical Change Record (LCR) vs. “Direct” which applies transactions with a SQL Statement via OCI. “Direct” also requires that transactions be applied serially vs. “Integrated” where they can be applied in a parallel, coordinated fashion.
There are some limitations to applying changes via a LCR. The following are items which can only be applied in “direct” mode:
- DDL operations
- Sequence operations
- SQLEXEC parameter within a TABLE or MAP parameter
- EVENTACTIONS processing
- UDT Note, if the extract uses USENATIVEOBJSUPPORT to capture the UDT, then Integrated Replicat will apply it with the inbound server, otherwise it will be handled by Replicat directly.
Understanding the types of operations going on inside your database should be one of the first steps in setting up a GoldenGate environment and heavy use of “direct” transactions within an Integrated Replicat will likely reduce the performance of the replicat.
Integrated Replicat Statistics Explained:
- Total transactions – Total transactions processed by replicat
- Redirected – Number of transactions for which replicat is redirected to classic mode
- DDL operations – Number of DDL operations processed in direct mode
- Stored procedures – Number of Stored procedures in direct mode
- Datatype functionality – Number of user defined data types processed in direct mode
- Event actions – Number of event actions processed in direct mode
- Direct transactions ratio – Percentage of transactions that the Integrated Replicat converts itself to direct mode to apply transactions.
Direct transactions ratio are computed by either:
Direct transactions ratio = (Redirected/Total transactions)*100
Direct transactions ratio = ((DDL operations + Stored procedures + Datatype functionality + Event actions) / Total transactions)*100
The lower the direct transactions ratio, the better the performance. This is one thing that should be considered when changing to Integrated Replicat. If the ratio is high, then it could be better to use Classic Replicat to improve performance.
Example of Integrated Replicat Statistics:
GGSCI (orcl12c-rac1.localdomain) 4&gt; stats R_TST_R1 totalsonly *.* Sending STATS request to REPLICAT R_TST_R1 ... Start of Statistics at 2015-09-14 19:34:26. Integrated Replicat Statistics: Total transactions 11829288.00 Redirected 0.00 DDL operations 0.00 Stored procedures 0.00 Datatype functionality 295977.00 Event actions 0.00 Direct transactions ratio 2.50% ......... GGSCI (orcl12c-rac1.localdomain) 2&gt; stats R_TST_R2 totalsonly *.* Sending STATS request to REPLICAT R_TST_R2 ... Start of Statistics at 2015-09-14 19:11:48. Integrated Replicat Statistics: Total transactions 2781917.00 Redirected 0.00 DDL operations 0.00 Stored procedures 0.00 Datatype functionality 733578.00 Event actions 0.00 Direct transactions ratio 26.37% .........
As you can see in the second example, the “Direct transactions ratio” is much higher. Because I know this system, I know that this higher ratio is entirely attributable to the replication of sequence objects. Using this as an example, a few options to lower the Direct transaction ratio and improve performance might include the discontinuation of sequence replication or splitting sequence replication into their own ‘classic’ mode replicat. Of course if current performance is adequate, you could do nothing. I would probably consider changing to classic replicat when the “Direct transactions ratio” approached 50%.
No matter the situation, it is important to understand the statistics which GoldenGate is recording on your behalf. It may lend good insight into what is going on in your environment.