1 Getting Started with Oracle GoldenGate

Oracle GoldenGate supports two architectures, the Classic Architecture and the Microservices Architecture (MA).

Oracle GoldenGate can be configured for the following purposes:
  • A static extraction of data records from one database and the loading of those records to another database.

  • Continuous extraction and replication of transactional Data Manipulation Language (DML) operations and data definition language (DDL) changes (for supported databases) to keep source and target data consistent.

  • Extraction from a database and replication to a file outside the database.

Oracle GoldenGate Architectures Overview

The following table describes the two Oracle GoldenGate architectures and when you should use each of the architectures.

X Classic Architecture Microservices Architecture

What is it?

Oracle GoldenGate classic architecture provides the processes and files required to effectively move data across a variety of topologies. These processes and files form the main components of the classic architecture and was the product design until this release.

Oracle GoldenGate Microservices Architecture is a new microservices architecture that provides REST-enabled services as part of the Oracle GoldenGate environment. The REST-enabled services provide remote configuration, administration, and monitoring through HTML5 web pages, command line, and APIs.

When should I use it?

Oracle GoldenGate can be installed and configured to use the Oracle GoldenGate classic architecture for the following purposes:
  • A static extraction of data records from one database and the loading of those records to another database.

  • Continuous extraction and replication of transactional Data Manipulation Language (DML) operations and Data Definition Language (DDL) changes (for supported databases) to keep source and target data consistent.

  • Extraction from a database and replication to a file outside the database.

  • Capture from heterogeneous database sources.

Oracle GoldenGate can be installed and configured to use the Oracle GoldenGate Microservices Architecture for the following purposes:
  • Large scale and cloud deployments with fully-secure HTTPS interfaces and Secure WebSockets for streaming data.

  • Simpler management of multiple implementations of Oracle GoldenGate environments and control user access for the different aspects of Oracle GoldenGate setup and monitoring.

  • Support system managed database sharding to deliver fine-grained, multi-master replication where all shards are writable, and each shard can be partially replicated to other shards within a shardgroup.

  • Support the following features:

    • Thin and browser-based clients

    • Network security

    • User Authorization

    • Distributed deployments

    • Remote administration

    • Performance monitoring and orchestration

    • Coordination with other systems and services in an Oracle Database environment.

    • Custom embedding of Oracle GoldenGate into applications or to use secure, remote HTML5 applications.

Which databases are supported?

Classic Architecture supports all supported databases as per the certification matrix

MA only supports the Oracle database.

1.1 Preparing the Database

Configure the Oracle Database for Oracle GoldenGatereplication.

Before starting any Oracle GoldenGate services or processes, ensure that the Oracle Database is configured correctly and started. To start the database, perform the following tasks:
  1. On the Linux platform, enter:
    sqlplus / as sysdba
    
    SQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 5 16:38:53 2018
    
    Copyright (c) 1982, 2018, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    
    SQL> startup
    ORACLE instance started.
    
    Total System Global Area 1560281088 bytes
    Fixed Size                  2924784 bytes
    Variable Size             503320336 bytes
    Database Buffers         1040187392 bytes
    Redo Buffers               13848576 bytes
    Database mounted.
    Database opened.
    SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    
    Database altered.
    
    SQL> ALTER DATABASE FORCE LOGGING;
    
    Database altered.
    
    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount
    ORACLE instance started.
    
    Total System Global Area 1560281088 bytes
    Fixed Size                  2924784 bytes
    Variable Size             503320336 bytes
    Database Buffers         1040187392 bytes
    Redo Buffers               13848576 bytes
    Database mounted.
    SQL> alter database archivelog;
    
    Database altered.
    
    SQL> alter database open;
    
    Database altered.
    
    SQL> alter system set enable_goldengate_replication=true;
    
    System altered.
    
    
    
    
    

    Note:

    If you use the Integrated Extract and/or Integrated Replicat features, it is advised to set the streams_pool_size parameter.
  2. Exit the SQL prompt once you create the users.

1.1.1 Prerequisites for Database Sharding

If you want to use database sharding with Oracle GoldenGate, you must follow these steps:
  1. Set the STREAMS_POOL_SIZE to at least 1200 MB.

  2. Load Oracle GoldenGate sharding PL/SQL packages prior to deploying, which in turn adds the ggadmin schema.

  3. Install a client wallet for database to communicate through the PL/SQL utl_http routines with Oracle GoldenGate service endponits.

1.2 Setting Environment Variables

You can set the MA-specific environment variables while performing the deployment tasks:

  • Oracle GoldenGate Configuration Assistant (OGGCA)

  • SSL/TLS Security (Optional)

The following environment variables are set for the Oracle GoldenGate Configuration Assistant, oggca.sh:

ORACLE_HOME
export ORACLE_HOME=database_install_location
OGG_HOME
export OGG_HOME=ogg_install_location
LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
TNS_ADMIN
export TNS_ADMIN=$ORACLE_HOME/network/admin
PATH
export PATH=$OGG_HOME/bin:$PATH
Oracle_SID
Oracle Database SID

An additional environment variable is required to set up a secure deployment:

JAVA_HOME
export JAVA_HOME=$OGG_HOME/jdk

For more information about the corresponding directories, see What are the Key Microservices Architecture Directory Directories?.

Note:

For using any command line utility, you must set up the OGG_HOMEOGG_VAR_HOME, and OGG_ETC_HOME variables correctly in the environment.

1.3 Data Replication Task Roadmap

There are a number of tasks you must perform to set up data replication.

The phases to build the distribution path are listed in the following table.
Task Description
Run the Oracle GoldenGate Configuration Assistant (oggca) to create and configure secure and non-secure deployments See Setting Up Secure and Non-Secure Deployment
Login to Service Manager When you log in to Service Manager, you can see the status of other servers (Administration Server, Distribution Server, Performance Metrics Server, and Receiver Server). See How to Connect to Service Manager
Add Credential Store Set up the user id and password to connect to the database before you create an Extract. See How to Add Database Credentials. You can also set up your domain alias while setting up the Credentials configuration.
Add Extracts How to Add Extracts
Register the Extract You need to register an Extract when creating an Integrated Extract. See How to Add Extracts.
Add Distribution Path See How to Add a Distribution Path
Add Replicats See How to Add Replicats
Register the Replicat See How to Add Replicats
Start the Extract See How to Add an Extract
Start the Distribution Path See How to Add a Distribution Path
Start the Replicat See How to Add a Replicat
Check the Receiver Server for path details See Monitoring Paths
Monitor Extracts and Replicats See Monitoring Paths and Tuning Network Parameters and Monitoring Server Performance
Monitor the Performance Metrics See Monitoring Performance