News
Perth, Australia
+ (61) 417713124
prosolutions@gavinsoorma.com

Oracle GoldenGate 12c Release 3 (12.3.0.1.0) Microservices Architecture

  • Posted by Gavin Soorma
  • On August 30, 2017
  • 0 Comments
  • Microservices Architecture, new feature, Oracle GoldenGate 12c Release 3, service manager

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

Connected.


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

Table created.


SQL> conn target/oracle

Connected.

SQL> /

Table created.


SQL> conn source/oracle

Connected.


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

Table altered.


SQL> conn target/oracle

Connected.


SQL> /

Table altered.


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

 

Install Oracle GoldenGate 12.3.0.1.0 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   

----------------------------------------------------

OGG_HOME=/u04/app/oracle/ogg_ma

OGG_CONF_HOME=/u04/app/oracle/ogg_sm/etc/conf

OGG_USER=oracle

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

Connected.


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

 

 

Connect to the Receiver Server and note the statistics related to the Network and I/O due to the last transaction which was processed.

Click on the Action drop-down ….

 

 

 

 

 

 

Connect to the Performance Metrics Server and note the performance metrics related to extract EXT1

 

 

 

Click on EXT1

 

 

 

 6

0 Comments