First Steps with GoldenGate 23c free on OCI

First Steps with GoldenGate 23c free on OCI
Page content

Introduction

GoldenGate 23c Free was released a few weeks ago; amongst its new features it brings a modern, easy-to-use, web interface so I decided to give it a try and deploy it on OCI. I must say first I am not a GoldenGate expert: I only deployed GG once for a Proof Of Concept, more than 10 years, ago when it was command line only and required lots of setup before being able to start a sync pipeline; with this latest version, I intend to discover how easy to use it is today., especially with this free version!

This post is the first of a series dedicated to GoldenGate and only focus on the GoldenGate OCI deployment; I’ll post follow-ups articles for GoldenGate setup, database connections, pipelines.

If, like me, you are not familiar with GoldenGate, you can check this blog post with the latest features of 23c free : Availability of Oracle GoldenGate 23c Free

GoldenGate 23c Free is available as a Container Image so I decided to deploy it using OCI Container Instances and automate the whole process.

If you want to deploy the container using the OCI console, you can check this article: Getting started with OCI Container Instances

Note: I already wrote a blog post about OCI Container Instances and automatic deployment using Postman, you can check it out here: Running my Resume Application with OCI Container Instance

Prerequisites

For this deployment on OCI, you would first need:

  • OCI Tenant => provision your Oracle Cloud Free Tier
  • OCI API Signin Key => Generate a API Signin Key to authenticate using Postman
  • VCN => you can create a VCN and additional subnets very easily with the VCN Wizard in OCI Console
  • GoldenGate 23c Free Container Image => the container is availabe at Oracle Container Registry: container-registry.oracle.com; you would need your Oracle credentials to download the image.

Deploy GoldenGate container with Postman

Check out the official Postman OCI Workspace; from there, you have all the information to get started quickly, especially for the authentication and the Pre-request script.

Configure your API request with the following:

{
    "containers": [
        {
            "imageUrl": "container-registry.oracle.com/goldengate/goldengate-free:latest", // The Oracle Container Registry URL for GoldenGate 23c free
            "displayName": "my-ogg-free23clatest",
            "environmentVariables": {
                "OGG_ADMIN": "oggadmin",         // Your Admin User
                "OGG_ADMIN_PWD": "XXxxXXxxxXXXX" // Your Admin Password
                                                 // There are other Env variables you can use: OGG_DEPLOYMENT, OGG_DOMAIN
            },
            "definedTags": {},
            "freeformTags": {}
        }
    ],
    "compartmentId": "<my-oci-compartment-ocid>",  // Your OCI target compartment
    "availabilityDomain": "AvIg:EU-FRANKFURT-1-AD-1",
    "shape": "CI.Standard.E4.Flex",  // the Container VM Shape
    "shapeConfig": {
        "ocpus": 1,
        "memoryInGBs": 16
    },
    "vnics": [
        {
            "subnetId": "<my-oci-subnet-ocid", // The Public or Private Subnet OCID where the Container Instance runs
            "displayName": "myggsubnet",
            "isPublicIpAssigned": true,   // Only if you deploy on a public subnet
            "skipSourceDestCheck": true
        }
    ],
    "imagePullSecrets": [
        {
            // Your Oracle Container Registry username in base64 format; you can get it with this command: echo -n "value" | base64
            "username": "ZnxxxcDF5cmdxxxxxxxxxxx",
            // Your Oracle Container Registry password in base64 format; you can get it with this command: echo -n "value" | base64
            "password": "PxjkDJKJffdjkxxxxxxxxx=",
            "registryEndpoint": "container-registry.oracle.com",
            "secretType": "BASIC"
        }
    ],
    "displayName": "my-ogg-free23clatest"
}

As a result, you should get the following API response:

{
    "id": "ocid1.computecontainerinstance.oc1.eu-frankfurt-1.antheljsxxxxxxxxxx",
    "displayName": "my-ogg-free23clatest",
    "compartmentId": "ocid1.compartment.oc1..aaaaaaaa2ns3ld2jtxxxxxxxxxxxxxxxxxxx",
    "availabilityDomain": "AvIg:EU-FRANKFURT-1-AD-1",
    "faultDomain": null,
    "lifecycleState": "CREATING",
    "lifecycleDetails": "Creating",
    "volumes": [],
    "volumeCount": 0,
    "containers": [
        {
            "containerId": "ocid1.computecontainer.oc1.eu-frankfurt-1.anthelxxxxxxxx",
            "displayName": "my-ogg-free23clatest"
        }
    ],
    "containerCount": 1,
    "timeCreated": "2023-12-11T08:42:14.080Z",
    "timeUpdated": "2023-12-11T08:42:14.080Z",
    "shape": "CI.Standard.E4.Flex",
    "shapeConfig": {
        "ocpus": 1.0,
        "memoryInGBs": 16.0,
        "processorDescription": "2.25 GHz AMD EPYC™ 7J13 (Milan)",
        "networkingBandwidthInGbps": 1000.0
    },
    "vnics": [
        {
            "vnicId": null
        }
    ],
    "dnsConfig": null,
    "gracefulShutdownTimeoutInSeconds": 0,
    "imagePullSecrets": [
        {
            "secretType": "BASIC",
            "registryEndpoint": "container-registry.oracle.com"
        }
    ],
    "containerRestartPolicy": "ALWAYS",
    "streamId": "",
    "freeformTags": {},
    "definedTags": {
        "Oracle-Tags": {
            "CreatedBy": "default/guenael.voisin@oracle.com",
            "CreatedOn": "2023-12-11T08:42:13.462Z"
        },
        "Mandatory_Tags": {
            "Schedule": "OnDemand"
        }
    },
    "systemTags": {}
}

After a few minutes, you should have your Container Instance Up and Running:

my oci goldengate container instance

If you deployed your container instance on a public subnet, you can get the Public IP address from this page and connect directly to your GoldenGate 23c instance:

  • https://<your-public-ip/
  • or http://<your-public-ip/

Authenticate with the gg admin username and password provided earlier in the Postman request.

If the login page does not show up, check your Subnet security rules and allow inbound ports 80 and 443.

my oci goldengate loginpage

You are now connected to GoldenGate and ready to create databases connections and your first pipeline!

my oci goldengate welcome page

I hope this article could be useful for your first steps with GoldenGate 23c Free on OCI.

Do not hesitate to reach out if you need more information.

That’s all 🎉