Five things that are different when running OCI GoldenGate on Oracle Cloud

Jan Leemans
6 min readDec 23, 2024

--

Tips and tricks on how to run your first OCI GoldenGate Data Integration flow when coming from GoldenGate on-premise

The GoldenGate Bridge in clouds, symbol for running the GoldenGate Data Integration software on Oracle Cloud
GoldenGate in the Cloud — Photo by Olga Doganoc on Unsplash

This article describes my journey from Oracle GoldenGate on-premise to the OCI GoldenGate managed service on Oracle Cloud. While the software is the same, there are some notable differences in the set-up and the configuration of the environment. As I guess a lot of people are comfortable with the classic GoldenGate world, and have yet to discover the OCI equivalent, I thought it would be helpful to share my experience and hopefully save you a few wrong turns!

First of all, I’m assuming you have some familiarity with on-premise deployments of GoldenGate, and the “Microservices” flavour more specifically. If you need more info on this set-up first, please read some of my previous articles on the topic:

Spinning up the OCI GoldenGate service

Getting started is pretty simple, although as usual in a Cloud environment you need to pay some attention to your network setup before anything else, as the OCI GoldenGate wizard does not offer to create a Virtual Network autmaticaly

  • Head to the “Networking”, “Virtual Cloud Networks” screen first, and use the “Start VCN Wizard” and select the option “Create VCN default network with Internet Connectivity”. This will get you a public and a private subnet with all the required elements for external connectivity, so you can easily connect to your GoldenGate console later.

We’ll also need a database to do our experiments, so let’s create an Autonomous database on OCI as a second step:

  • head over to the menu “Oracle Database”, “Autonomous Database”, and create a new instance.
  • Select “Transaction Processing”, “Serverless”, and make sure you have “Secure access from everywhere” selected, as well as the check box “Require mutual TLS (mTLS) authentication”

Good, we are finally ready to start the OCI GoldenGate creation!

  • Navigate to “Oracle Database” and submenu “GoldenGate” — this item is on the far right, in black without blue titles, so it’s kind of easy to miss when quickly scanning the menu’s
  • Select “Deployments” in the left-side menu, and then hit the “Create Deployment” button to get started. We’ll start by creating an Oracle DB targeted Replication deployment: make the appropriate changes in the wizard to select these options.
  • Check the version of GoldenGate you want to spin up — this might not be the latest version by default! In December 2024 the default is (still) 21c, change this to 23ai if you want the latest version!
  • Select the private network of the Virtual Cloud Network you created for the deployment, but make sure to expand the “Advanced Option” to you can enable public access to the GoldenGate management console. Select the Public subnet of your VCN for this option!

Now you need to make a choice on how you will manage users and passwords in your GoldenGate deployment. There are 2 options:

  • Using the OCI Identity and Access management system: this requires you to set up a series of specific groups (named GGS_*) and policies to access the OCI IAM system.
  • Alternatively you can use the traditional GoldenGate credential store, in which case you need to provide an Administrator name and a password. The password cannot be provided directly in the wizard, you need to put it in a Vault, which needs to have a Master Encryption Key, with which you can create a Secret that contains the actual password. It’s the name of this secret you have to provide to the Deployment wizard.

OK, you’re ready to hit de “Create” button. The creation process will take several minutes, so we can discuss some of the differences between on-premise deployments and OCI GG deployments in th enext paragraph!

Defining Connections

If you are used to working with GoldenGate, you might be tempted to go directly into the console, and start defining connections to data sources in the console … not so in OCI GoldenGate! You define the connections to data sources outside of the actual deployment, and then you assign a specific connection to one (or more) deployments.

Lets walk through the steps to set up the connection. You should still be on the OCI GoldenGate screen where you created your deployment.

  • Select “Connections” in the left-hand menu
  • Create a new connection to the Autonomous database we created previously
  • Once you specify you want to use an OCI Autonomous database, you’ll get a drop-down menu with the available databases in your environment. Alternatively you can manually define a connection to any other database.
  • Wait for your Connection to be created, then click on the created connection and use the “Assign Deployment” option to assign the connection to the deployment you just created.

Configuring a replication deployment

You’re now ready to launch the GoldenGate console and go through the set-up of your replication in the same way as you would do in an on-premise deployment.

  • Select the “Deployments” menu, and click on the link to your new deployment
  • In the deployment screen you can select the “Launch console” button which will open the Administrator service of the deployment.
  • You’ll notice that the Connection you just defined is already present in the “DB Connections” menu on the left
  • Although the connection is defined, you still have to create the Checkpoint and/or Trandata tables in order to start the Extract or Replicat configuration

So from here on you should be on familiar territory: the creation of Replicats and Extracts is exactly the same as in the on-premise world. As a reminder, you can use the LiveLab “GoldenGate 23ai Oracle Database to Kafka” to set up a replication.

Distributing data between Deployments

A last point where the setup is different between a classic GoldenGate installation and the OCI equivalent is the Distribution of data between 2 Deployments. This might be needed for example if you want to capture data from an Oracle Database and replicate it into a Kafka stream, because you will need a deployment of type Oracle for the first, and a second deployment of the type Distributed Applications and Analytics for the second.

First we’ll set up the interoperability between the 2 Deployments. You do this in the OCI console, by defining a connection of type “GoldenGate” for each Deployment, and then assign each connection to their counterpart Deployment. You should use the admin user to set up these connections

  • In the OCI console, create a new connection of type “GoldenGate” with a name that clearly indicates the Target Deployment
  • In the 2nd screen, chose “Select GoldenGate deployment”, and your deployments should be visible in the drop-down list. Choose the Target Deployment.
  • Fill in the admin username and password — you can also use the secret you created earlier.
  • Repeat this operation: create a second connection, this time referencing the Source Deployment
  • Once the connections are available, click on the Source connection and assign it to the Destination deployment
  • Next, Click on the Destination Connection and assign it to the Source Deployment

OK, so the 2 deployments are now mutually linked.

Next we need to configure the user that will perform the actual distribution, and this on both sides :

  • Go into the GoldenGate console of the Target Deployment, and in the User Administration, create a new user with a role of “Operator”.
  • Go into the GoldenGate console of the Source Deployment, and create a “Path Connection” alias to this new operator user we just created

Once this is done, we can do the actual setup of the Distribution service:

  • In the Source Deployment, select the top-level tab “Distribution Service” and create a new Distribution Path
  • Select a name for the distribution, and in the second screen select the Source Extract you already defined
  • For the Target Options, you need to select the “wws” protocol, the hostname of the target distribution (base path of your target console URL), and 443 as the port to use.

Once you’ve done these steps, you should be able to create the Distribution, and observe the automatic creation of the Receiver service on the Target Deployment side.

Conclusions

With your knowledge of GoldenGate on-premise you have a head-start working with OCI GoldenGate, but some parts of the configuration are different! I hope this article helped you to understand these changes quickly and to get you started smoothly on the OCI environment!

--

--

Jan Leemans
Jan Leemans

Written by Jan Leemans

Technology enthusiast, amateur cyclist, and Business Development Director for Oracle EMEA, focusing on Application Development and Data Management

No responses yet