1. Home
  2. Knowledge Base
  3. GoldenGate
  4. Oracle GoldenGate 12c Release 3 ( Microservices Architecture

Oracle GoldenGate 12c Release 3 ( Microservices Architecture

Microservices Architecture is a method or approach to developing applications where an application is deployed as a suite of independently deployed small modular services.

Each module supports a specific business goal and uses a simple, light weight  and well-defined interface to communicate with other sets of services.

Oracle GoldenGate Microservices Architecture (MA)  is a similar architecture based on REST APIs which enable us to configure, monitor, and manage Oracle GoldenGate services using a web-based user interface.

So now in Oracle GoldenGate 12.3, we have two architectures available for deploying GoldenGate – the (original) Classic Architecture and the new Microservices Architecture.

The Microservices Architecture in Oracle GoldenGate is comprised of five main components:

  • Service Manager
  • Administration Server
  • Distribution Server
  • Receiver Server
  • Performance Metrics Server

Service Manager: Enables us to administer, monitor and manage other services available with Microservices Architecture.  Through Service Manager, we can manage one or multiple Oracle GoldenGate deployments on a local host.

Administration Server: It is the central and main entity for managing the various components of a GoldenGate deployment. Administration Server can create and manage local Extract and Replicat processes even without access to the server where Oracle GoldenGate is installed. Tasks like creating or altering extract and replicat processes, creating credentials for GoldenGate security, viewing report files, adding supplemental log data, creating checkpoint and heartbeat tables etc can all be performed from web browser as well as from the command line Admin Client.

Distribution Server: It is a high performance application which functions as a networked data distribution agent. The Distribution Server distributes one or more trails to one or more destinations and also performs some filtering operations if configured to do so. It supports a number of different communication protocols including the classic Oracle GoldenGate protocol for communication between the Distribution Server and the Collector , WebSockets for SSL secured HTTPS-based streaming and Proxy support for cloud-based environments.

The Distribution Server is used to set up a Path between the source and target deployments.

Receiver Server: It provides the central services to handle all incoming trail files and communicates with the Distribution Server over the network.

Performance Metrics Server: It collects and stores performance data related to a GoldenGate deployment. Enables us to monitor performance metrics using a web application and use the data to tune deployments for maximizing performance.


Let us look at an example of GoldenGate 12c Release 3 Microservices Architecture (MA) at work!


Demo environment setup


We will be using a single Oracle 12c Release 2 database for this demo with two schemas – SOURCE and TARGET.

We will create the MYOBJECTS table in both schemas and perform some DML activity on the source table and note how replication is performed and managed using GoldenGate Microservices.



SQL> alter database force logging;

Database altered.

SQL> alter database add supplemental log data;

Database altered.

SQL> alter system set enable_goldengate_replication=true;

System altered.

SQL> create user oggadmin identified by oracle;

User created.

SQL> grant dba to oggadmin;

Grant succeeded.

SQL> exec dbms_goldengate_auth.grant_admin_privilege('OGGADMIN');

PL/SQL procedure successfully completed.

SQL> create user source identified by oracle
    default tablespace users
 temporary tablespace temp;

User created.

SQL> create user target identified by oracle
      default tablespace users
   temporary tablespace temp;

User created.

SQL> grant connect,resource,create table to source,target;

Grant succeeded.

SQL> alter user source quota unlimited on users;

User altered.

SQL> alter user target quota unlimited on users;

User altered.

SQL> conn source/oracle


SQL> create table myobjects
     as select * from all_objects
     where 1=2;

Table created.

SQL> conn target/oracle


SQL> /

Table created.

SQL> conn source/oracle


SQL> alter table myobjects add constraint pk_myobjects
   primary key (object_id);

Table altered.

SQL> conn target/oracle


SQL> /

Table altered.

Download the MA software (Oracle GoldenGate Microservices for Oracle) from OTN.


Install Oracle GoldenGate Microservices












Create a deployment using Oracle GoldenGate Configuration Assistant


Launch the Configuration Assistant via the oggca.sh script located in the $OGG_HOME/bin directory. Through the Configuration Assistant we can create the Service Manager as well as configure the deployment. 

A single Service Manager can support a number of deployments.


[oracle@linux01 Disk1]$ export TNS_ADMIN=/u02/app/oracle/product/12.2.0/dbhome_1/network/admin

[oracle@linux01 Disk1]$ export OGG_HOME=/u04/app/oracle/ogg_ma

[oracle@linux01 Disk1]$ cd $OGG_HOME/bin

[oracle@linux01 bin]$ ./oggca.sh














Note: in this example we are not configuring any wallets or certificates required for SSL security.



Allocate the ports – enter 9001 for the Administration Server port and the other ports are assigned automatically by clicking in the port number fields.











[root@linux01 etc]# /u04/app/oracle/ogg_sm/bin/registerServiceManager.sh


     Oracle GoldenGate Install As Service Script   





Running OracleGoldenGateInstall.sh...





Connect to Oracle GoldenGate Service Manager






Connect to Oracle GoldenGate Administration Server






Create the Credentials for the OGGADMIN user







Add Supplemental Logging for the SOURCE schema









Create the CHECKPOINT Table




Create the Classic Extract EXT1












Edit the parameter file and add the TABLE parameter







View details of the EXT1 Classic Extract











Connect to the Distribution Server

Click on the Distribution Server link in the Service column.






Create the Path












View details of the distribution path PUMP1





Connect to the Administration Server and create the Replicat process











Edit the parameter file and change the MAP and TARGET parameters










Perform DML on the source table


On the SOURCE schema MYOBJECTS  table, we will now run an INSERT statement.


SQL> conn source/oracle


SQL> insert into myobjects 

   select * from all_objects;

56332 rows created.

SQL> commit;

Commit complete.

View details of the replicat process REP1 and note the number of rows which have been processed.















Connect to the Distribution Server and note the statistics of PUMP1 process



Click on the Action drop-down ….










Click on EXT1




Updated on June 2, 2021

Was this article helpful?

Related Articles