Thanks for the question, Dave.
Asked: August 10, 2017 - 11:07 am UTC
Last updated: September 14, 2017 - 3:52 pm UTC
Version: 12.2
Viewed 1000+ times
You Asked
We're creating a bi-directional Goldengate replication environment between two Oracle databases...
Goldengate 12.2
Oracle EE RDBMS 12.1
Both databases on a 2-node Exadata RAC
We're using Integrated Extract and Replicat on both nodes.
For performance reasons we'd like to take advantage of Integrated Replicat's parallel capability...
DBOPTIONS INTEGRATEDPARAMS(parallelism 6), or whatever.
How does Integrated Replicat coordinate the parallel processes to ensure that changes to the target database are applied in the correct order?
and we said...
The Integrated Replicat (IR) is Oracle's integrated apply engine and it relies on the logminer within the Oracle database. To understand how it applies transactions in parallelism, there are a couple of items you have to grasp. These are:
1. Mappers
2. Coordination and Dependancy
3. Appliers
Before transactions are applied, they have to be read out of the trail file on the target system. In order to do this, Oracle is using a lightweight API called a "mapper". The mapper is responsible for reading transactions from the trail file and passing them to the coordinator.
Then the coordinator does all the coordination and dependency calculations to ensure that the transactions are in SCN order and ready to be applied. At that point, the transactions move the the appliers.
The appliers are where the transactions get applied into the database. This is where the DBOPTIONS INTEGRATEDPARAMS(parallelism #) is used. Depending on what you have set for the number of parallel appliers, the transactions will be applied in SCN order across the number of appliers that have been requested.
Enjoy!!!
Is this answer out of date? If it is, please let us know via a Comment