Oracle Database

Replicat process of oracle goldengate 26ai part 1read&learn gg

Photo by Ugur Akdemir on Unsplash

Replicat process in a goldengate 26ai setup lives on the target system. Its role is to read target trail files shipped from source , reconstruct DML or DDL operations and execute them on target database. You can configure Replicat to apply SQL statements after a certain wait time instead of in real time. Replicat has below 2 common use cases.

Initial Load : Similar to extract , replicat can apply static data copy to target database objects for the initial setup.

Change Synchronization : Replicat continuously applies changes to the target database , keeping it in sync with the source database . Receiver service on the target database continuously gets trail files from the source system over the n/w and stores them into remote trail files. ( Sequence number b/w source and target trail files are different ) . Remote trails are read by replicat and sqls are applied to the database.

The replicat process can be configured into many modes like Classic Replicat , Coordinated Replicat , Integrated Replicat , Parallel Replicat and Initial Load Replicat . For this blog we will discuss high performance Integrated and Parallel Replicat .Before diving into which replicat type to choose lets first understand what is a Barrier Transaction.

Barrier Transaction : Difference between classic and other replicats is single vs multi threaded architecture. In multithreaded architectures, committing non-interdependent transactions out of order achieves great speed. Barrier transactions are DDL changes , batch dmls or primary key updates . These transactions forces parallel processing to pause , lets the database apply barrier transaction and then resume parallel processing again.

#Note
Barrier Transactions are the major cause of replicat lag in target systems.

Integrated Replicat . Its primary goal was to move workload inside database kernel. It leverages the inbound server in oracle target database which applies the transactions received from replicat. In this mode replicat reads oracle goldengate trail file , performs data processing ( filtering or conversion ) ,constructs LCR , attaches to the target database process transmitting LCR which applies the transaction. Replicat directly applies the DDL changes.

Parallel Replicat works on a multi threaded architecture and has two variants (Integrated and Non Integrated) . Unofficially Oracle has plans to remove the integrated variant in the near future as it brings the processing inside the database which causes an unnecessary overhead . For high-intensity workloads, Oracle recommends using a Parallel Replicat in Non-Integrated Mode. It works outside the database as a goldengate process. You can also offload the processing to another server if target db host has lesser configurations.

Hope this blog helped you understand about replicat process and which one to choose for your workload . We will continue

References :
https://blogs.oracle.com/dataintegration/which-replicat-to-choose
https://docs.oracle.com/en/database/goldengate/core/26/index.html

Leave a Reply