Oracle GoldenGate - Out-of-Place Patching

Oracle GoldenGate - Out-of-Place Patching

Oracle GoldenGate Out-of-Place Patching

 

Author: Bobby Curtis, MBA

 

Date: October 17, 2023

 

Updated: January 23, 2025

 

Organization: RheoData

Table of Contents

INTRODUCTION:

PLATFORM

PATCHING

SECOND HOME

PATCHSET

LIST DEPLOYMENTS

PATCH SERVICEMANAGER VIA OGG_HOME

PATCHING DEPLOYMENT VIA OGG_HOME

SUMMARY

 


 

Introduction:

Oracle GoldenGate is a real-time data integration and replication software that enables data movement and synchronization across heterogeneous databases and platforms. This installation documentation provides step-by-step instructions for out-of-place patching for Oracle GoldenGate binaries.

Platform

Patching an Oracle GoldenGate environment has improved over the years. With the current Oracle GoldenGate architecture on a microservices platform, patching has become more accessible. To patch an Oracle GoldenGate environment, using the out-of-place patching approach ensures operational readiness for the climate being patched.

 

An Oracle GoldenGate environment now consists of two home directories that an administrator needs to be aware of before patching. These homes are:

  • $OGG_HOME -> Oracle GoldenGate Home
  • $DEPLOYMENT_HOME -> Oracle GoldenGate Deployment Home

These home directories are essential for Oracle GoldenGate to function. The Oracle GoldenGate binary home ($OGG_HOME) must only be patched for patching.

Patching

Organizations need to patch their Oracle GoldenGate homes for patching to be effective. To do this without taking an outage within the replication environment, installing a second Oracle GoldenGate home is critical.

Second Home

To install a second Oracle GoldenGate Home, organizations must install the Oracle GoldenGate binaries in a new directory structure (outside their existing Oracle GoldenGate home). This can be done by doing the following:

  1. Download the required binaries
  2. Install binaries into the new Oracle GoldenGate home

After downloading the required binaries, these binaries can be installed using the same processes an organization has established. For example, installing the binaries is done by a silent install process.

  1. Update the Oracle GoldenGate Core response file (oggcore.rsp)
  2. Install the new Oracle GoldenGate Home

$ cd /tmp/ogg21cma/ggs*/Disk1


$ ./runInstaller -silent -ignoreSysPrereqs -ignorePrereq -showProgress -waitForCompletion -responseFile /tmp/oggcore1.rsp

Once the install is done, two Oracle GoldenGate homes will be within the same server.

PatchSet

With both Oracle GoldenGate homes in place, the next step is to patch the Second Home with the required patches. The following steps are used to install the Oracle GoldenGate patch to the Second Home:

  1. Copy the patch set over to the host where Oracle GoldenGate runs. Use any tool that will facilitate moving the zip file.
  2. Unzip the patch in the temp directory

$ unzip -q ./ p33846655_215000_Linux-x86-64.zip -d .

  1. Apply the patch

$ export ORACLE_HOME=$ORACLE_HOME
$ cd /tmp/33846655
$ $ORACLE_HOME/OPatch/opatch apply

  1. Validate that the patch has been applied

$ $ORACLE_HOME/OPatch/opatch lsinventory

After validating that the patch has been installed, the next thing is to migrate the ServiceManager and associated deployments to the new Oracle GoldenGate home.

 

List Deployments

With the new second Oracle GoldenGate home patched, each corresponding deployment home must be migrated to the second Oracle GoldenGate home. This can be done in two different approaches – GUI and RESTful API. The most straightforward approach to performing the migration is using RESTful APIs.

 

Before migrating any deployments between Oracle GoldenGate homes, it is good to see what deployments exist on the server. This can be done using the following CURL command:

 

curl --location --request GET 'HTTP://<host>:<port>/services/v2/installation/deployments' \
--header 'Authorization: Basic <base64 string>'

The resulting output would be a list of deployments that the ServiceManager is responsible for:

{
"$schema": "api:standardResponse",
"links": [
{
"rel": "canonical",
"href": "http://<host>:<port>/services/v2/installation/deployments",
"mediaType": "application/json"
},
{
"rel": "self",
"href": " http://<host>:<port>/services/v2/installation/deployments ",
"mediaType": "application/json"
},
{
"rel": "describedby",
"href": " http://<host>:<port>/services/v2/installation/deployments ",
"mediaType": "application/schema+json"
}
],
"messages": [],
"response": {
"$schema": "ogg:installationDeployments",
"xagEnabled": false,
"deployments": [
{
"deploymentId": "cf638afd-252e-4c79-ad55-fbeccb5d0434",
"deploymentName": "Kafka",
"enabled": true,
"status": "running"
},
{
"deploymentId": "dc31de7c-39aa-4de2-a3df-5451e32ccef6",
"deploymentName": "ServiceManager",
"enabled": true,
"status": "running"
}
]
}
}

In this output from the CURL command, the "deploymentName" key will tell you the current deployment (s) installed on the host.

Patch ServiceManager via OGG_HOME

To patch the ServiceManager deployment, the deployment needs to reference the patched second Oracle GoldenGate home. To do this, the following CURL command can be executed:

 

curl -L -X PATCH 'http://<host>:<port>//services/v2/deployments/ServiceManager' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic <base64 string>' \
--data-raw '{
      "oggHome":"/app/orabd1",
     "status":"restart"
}'

This CURL command feeds raw data that tells Oracle GoldenGate to update the deployment with an updated Oracle GoldenGate home. Once the update has been completed, the ServiceManager will be restarted. After the restart, log in to the ServiceManager and confirm that the Oracle GoldenGate home for the ServiceManager has been updated.

Image 1 below shows what it would look like.

 

Image 1: ServiceManger Updated

Patching Deployment via OGG_HOME

Any associated deployments can be migrated after the ServiceManager has been patched and migrated to the new Oracle GoldenGate home. The only requirement for a deployment to be migrated is that the ServiceManager must be on the same or later version of Oracle GoldenGate. This means organizations can run multiple Oracle GoldenGate homes simultaneously, depending on their deployments.

 

To move a deployment, the process is the same as performed with the ServiceManager. To do this, the following CURL command can be executed:

 

curl -L -X PATCH 'http://<host>:<port>/services/v2/deployments/Kafka' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic b2dnYWRtaW46V0VsY29tZTEyMzQ1IyM=' \
--data-raw '{
"oggHome":"/app/orabd1",
"status":"restart"
}'

Once the deployment is restarted, all the Oracle GoldenGate processes (extract and replicat) will be upgraded to the patched versions of the binaries. To verify that the deployment was updated, check the ServiceManager and confirm that the Deployments section has an updated Oracle GoldenGate Home for the deployment.

 

Image 2 below shows what this would look like.

 

Image 2: Deployment Updated

Summary

Patching Oracle GoldenGate has always been an issue that takes time. Using Oracle GoldenGate with an out-of-place patching strategy, an organization can quickly patch an environment with minimal downtimes.

 

    • Related Articles

    • Oracle GoldenGate - Installing Oracle GoldenGate binaries

      Installing Oracle GoldenGate binaries Author: Bobby Curtis, MBA Date: August 4, 2023 Organization: RheoData Table of Contents INTRODUCTION: Prerequisites: STEP 1: DOWNLOAD ORACLE GOLDENGATE 21.10 STEP 2: TRANSFER INSTALLATION FILES STEP 3: EXTRACT ...
    • Oracle GoldenGate - Exception Handling

      Oracle GoldenGate Exception Handling Author: Bobby Curtis, MBA Date: October 3, 2023 Updated: January 23, 2025 Organization: RheoData Table of Contents INTRODUCTION: EXCEPTION TABLE(S) INFO Exception Table Exception Macro Update Replicat CONCLUSION: ...
    • Oracle GoldenGate - Backup Oracle GoldenGate Deployments

      Backup Oracle GoldenGate Deployments Author: Bobby Curtis, MBA Date: January 23, 2025 Updated: October 13, 2023 Organization: RheoData Table of Contents INTRODUCTION: Assumption: STEP 1: ACCESS THE ORACLE GOLDENGATE SERVER STEP 2: IDENTIFY THE ...
    • Installing Oracle GoldenGate deployments

      Installing Oracle GoldenGate deployments Author: Bobby Curtis, MBA Date: August 8, 2023 Organization: RheoData Table of Contents INTRODUCTION: Prerequisites: STEP 1: DOWNLOAD ORACLE GOLDENGATE 21.10 STEP 2: TRANSFER INSTALLATION FILES STEP 3: EXTRACT ...
    • Oracle GoldenGate - Deployments: Switchover

      Oracle GoldenGate Deployments: Switchover Author: Bobby Curtis, MBA Date: August 17, 2023 Organization: RheoData Table of Contents INTRODUCTION: PREREQUISITES STEP 1: EXPORT DEPLOYMENT VAR AND ETC HOMES STEP 2: STOP SERVICEMANAGER STEP 3: VERIFY ...