Skip to main content

GoldenGate Marketplace Docker Setup

Setup of the Oracle GoldenGate Marketplace Docker image for Oracle database migrations with Zero Downtime Migration (ZDM)

Licensing

The docker image can be used for a period of 183 days for free when used to migrate Oracle databases to Exadata Cloud@Customer with ZDM.

Environment Setup

The following resources are used in this demo to setup the GoldenGate Marketplace Docker Image:

GoldenGate Docker Image

  • After provisioning the Oracle GoldenGate for Oracle - Database Migrations Marketplace Image navigate to the following folder: /home/opc

  • Here you will find the docker image as a tar file including the release and version in the name for example:

    • for 23ai: ora23ai-231032511.tar -> /opt/dockerimages/ora23ai-231032511.tar
    • for 21c: ora21c-219000.tar -> /opt/dockerimages/ora21c-219000.tar
  • Use scp or sftp to copy the docker image from the marketplace compute image to the target compute instance.

Setup

1. Engine Installation

  • On the Oracle Linux 7 compute instance execute the following command to install the docker engine.

    sudo yum install docker-engine docker-cli
  • Enable the docker engine:

    sudo systemctl enable --now docker
  • Check the status of the docker engine:

    sudo systemctl status docker
  • Show docker information:

    sudo docker info

2. Load Image

To load the GoldenGate docker image execute the following steps:

  • Show current image list

    sudo docker image list
  • Load the GoldenGate docker image

    sudo docker load < ./ora23ai-231032511.tar
  • Show current image list

    sudo docker image list
    REPOSITORY TAG IMAGE ID CREATED SIZE
    localhost/oracle/goldengate 23.10.3.25.11 ce6ead5fa023 8 weeks ago 3.02GB

3. Run Image

To run the image as a container use the following docker command. Port 443 is specified and exposed to allow access to the GoldenGate web user interface.

sudo docker run --name ogg2310 -p 443:443 localhost/oracle/goldengate:23.10.3.25.11

4. Oggadmin Password

After executing the docker run command the password for the ggadmin is displayed in the output. Make a note of the password. This is used to login in the GoldenGate web user interface with the oggadmin user.

--  Password for OGG administrative user 'oggadmin' is '<Password>'

5. Login to GoldenGate

The oggadmin user and the password can now be used to login to GoldenGate. Open a Web Browser and connect to the GoldenGate compute instance IP or hostname.

https://<ipaddress or hostname>

tip

Accept any possible SSL certificate errors in your browser.

  • In case you are using Google Chrome click anywhere in the browser window and enter: thisisunsafe

To Change the password of the oggadmin user have a look at the GoldenGate Marketplace Installation article.
After the login you should see 4 services running. Note that the default Deployment name for the GG docker image is Local. This is the name that needs to be specified in tools like Zero Downtime Migration or OCI Database Migration for the Deployment Name parameters.

GG Services

Parameters for DMS / ZDM

The following relevant GoldenGate parameters are used in OCI Database Migration and Zero Downtime Migration:

  • GoldenGate Username
    Installation Default: oggadmin
    ZDM Parameter: GOLDENGATEHUB_ADMINUSERNAME=ggadmin
  • GoldenGate URL
    https://<ipaddress or hostname>
    ZDM Parameter: GOLDENGATEHUB_URL=https://<ipadress or hostname>
  • Source Deploymentname
    Installation Default: Local
    ZDM Parameter: GOLDENGATEHUB_SOURCEDEPLOYMENTNAME=Local
  • Target Deploymentname
    Installation Default: Local
    ZDM Parameter: GOLDENGATEHUB_TARGETDEPLOYMENTNAME=Local
tip

In ZDM also specify the GOLDENGATEHUB_ALLOWSELFSIGNEDCERTIFICATE=TRUE parameter to accept the self-signed HTTPS certificate and avoid certification errors.

Appendix

Docker Commands

Useful docker commands:

  • Show running containers

    sudo docker ps
  • Show all containers

    sudo docker ps -all
  • Start Container

    sudo docker start ogg2310
  • Connect to container

    sudo docker exec -it ogg2310 /bin/bash
  • Copy a file from the host to the container /tmp directory

    sudo docker cp <file> ogg2310:/tmp