Wednesday 30 September 2015

Integrated Replicat in Goldengate

Integrated Replicat or also known as Inetgrated Deliver has been introduced from 11.2.0.4 onwards that means it is also available in 12C, In integrated mode, the Replicat process leverages the apply processing functionality that is available within the Oracle database. In this mode, Replicat operates as follows:

# Reads the Oracle GoldenGate trail.

# Performs data filtering, mapping, and conversion.

# Constructs logical change records (LCR) that represent source database DML transactions (in committed order). DDL is applied directly by Replicat.

# Attaches to a background process in the target database known as a database inbound server by means of a lightweight streaming interface.

# Transmits the LCRs to the inbound server, which applies the data to the target database.


Below is an image which lists the example of an integrated apply with 2 Apply Servers








There are several database apply processes that are created with their own function:

# Receiver: Reads LCRs
# Preparer: Computes the dependencies between the transactions (primary key, unique indexes, foreign key) , grouping transactions and sorting in dependency order.
# Coordinator: Coordinates transactions, maintains the order between applier processes.
# Applier:  Performs changes for assigned transactions, including conflict detection and error handling


The integrated replicat has autotuning based on workload.  Based on the number of LCRs being processed, additional parallel apply processes are added or removed .

This is controlled via two parameters in the replicat parameter file – PARALLELISM and MAX_PARALLELISM .

PARALLELISM is the minimum number of parallel apply processes. Default is 4.

MAX_PARALLELISM is the maximum number of apply servers.  Default is 30.

___

Below are some very useful views related to Goldengate

Configuration related views

dba_goldengate_privileges
dba_goldengate_inbound
dba_inbound_gg_progress
dba_apply
dba_apply_parameters

Runtime related Views

v$gg_apply_receiver
v$gg_apply_reader
v$gg_apply_coordinatior
v$gg_Apply_server
v$goldengate_table_Stats












1 comment: