Oracle GoldenGate 19c: A Comprehensive Guide to Real-Time Data Replication


Oracle GoldenGate 19c (19.1.0) is a powerful, high-performance software solution for real-time transactional change data capture (CDC), transformation, and delivery across heterogeneous databases and platforms. It enables zero-downtime migrations, high availability, data integration, and real-time analytics by replicating committed transactions with low latency while maintaining data integrity.

Whether you're synchronizing data between on-premises Oracle databases, moving to the cloud, or feeding data lakes, GoldenGate 19c excels in bidirectional replication, active-active configurations, and support for diverse targets like MySQL, SQL Server, Big Data platforms, and more.

Key Features and Enhancements in GoldenGate 19c

  • Microservices Architecture (MA): Modern REST API-driven design with web-based management, improved security, and easier scalability (Classic Architecture is still available in 19c but Microservices is recommended for new deployments).
  • Oracle Database 19c Support and broader heterogeneous capabilities (MySQL 8.0, cross-endian support, etc.).
  • Enhanced Security: Centralized key management, SSL, encryption, and target-initiated distribution paths.
  • Performance & Reliability: Parallel processing, schema change tracking, long-running transaction monitoring, and low-impact capture.
  • Use Cases: Real-time data warehousing, disaster recovery, data synchronization, ETL/ELT, and event-driven architectures.

Prerequisites

  • Source and target databases in ARCHIVELOG mode.
  • Supplemental logging and forced logging enabled.
  • Adequate CPU, memory, and disk space.
  • Oracle GoldenGate software downloaded from Oracle Software Delivery Cloud.

Installation Steps (Silent Mode Example on Linux)

  1. Unzip the software:
    unzip fbo_ggs_Linux_x64_shiphome.zip -d /u01/app/oracle/gg19c
  2. Create a response file (oggcore.rsp):
    INSTALL_OPTION=ORA19c
    SOFTWARE_LOCATION=/u01/app/oracle/product/gg19c
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/u01/app/oraInventory
  3. Run silent installation:
    cd /u01/app/oracle/gg19c/Disk1
    ./runInstaller -silent -responseFile /path/to/oggcore.rsp -waitforcompletion

Initial Configuration (Source Database)

-- Enable archive log and supplemental logging
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE SCOPE=BOTH;

-- Create GoldenGate user
CREATE USER c##ggadmin IDENTIFIED BY password CONTAINER=ALL;
GRANT DBA, CONNECT, RESOURCE TO c##ggadmin CONTAINER=ALL;
GRANT UNLIMITED TABLESPACE TO c##ggadmin;

Enable schema-level supplemental logging:

ADD SCHEMATRANDATA schema_name ALLCOLS

GGSCI Commands

cd $GG_HOME
./ggsci

Common GGSCI Commands:

INFO MANAGER
START MANAGER
STOP MANAGER

-- Create Extract
ADD EXTRACT ext1, TRANLOG, BEGIN NOW
ADD EXTTRAIL /u01/app/oracle/gg19c/dirdat/lt, EXTRACT ext1

-- Create Data Pump (optional)
ADD EXTRACT pump1, EXTTRAILSOURCE /u01/app/oracle/gg19c/dirdat/lt
ADD RMTTRAIL /u01/app/oracle/gg19c/dirdat/rt, EXTRACT pump1

-- Create Replicat
ADD REPLICAT rep1, EXTTRAIL /u01/app/oracle/gg19c/dirdat/rt

Example Extract Parameter File (ext1.prm):

EXTRACT ext1
USERID c##ggadmin@source, PASSWORD password
EXTTRAIL /u01/app/oracle/gg19c/dirdat/lt
TABLE schema_name.*;

Monitoring Commands

INFO ALL
STATUS EXTRACT ext1
STATS REPLICAT rep1
LAG EXTRACT *

Best Practices

  • Use dedicated tablespaces and users for GoldenGate.
  • Add checkpoint table: ADD CHECKPOINTTABLE
  • Monitor lag and trail files regularly.
  • Enable parallelism for high volume.
  • Test failover and conflict resolution.

Troubleshooting Tips

  • Check report files in dirrpt/ folder.
  • Use SEND EXTRACT ext1, STATUS or VIEW REPORT
  • Common issues: Missing supplemental logging, wrong credentials, network blocks.

Conclusion

Oracle GoldenGate 19c remains one of the best solutions for real-time, low-latency data replication. Start with a simple unidirectional setup and then scale up according to your needs.

Post a Comment

Previous Post Next Post