8 Migrating to Exadata Cloud@Customer Using Oracle Zero Downtime Migration

The Marketplace image Oracle GoldenGate for Oracle – Database Migrations contains a downloadable Docker image that you can install on premises in order to migrate data to Exadata Cloud@Customer using Oracle Zero Downtime Migration (ZDM). All migration targets other than Exadata Cloud@Customer should use the Oracle GoldenGate installation on the Marketplace compute instance instead of the docker image.

For more information on Oracle Zero Downtime Migration, see Move to Oracle Cloud Using Zero Downtime Migration.

It is required to have a Docker engine set up on the system that will host the Docker image. For more information about setting up a Docker engine, see Docker Documentation.

  1. Provision and start an Oracle GoldenGate for Oracle – Database Migrations Marketplace compute instance. This is necessary to download the docker image from the Marketplace instance. You can stop the instance and delete it once the docker image is downloaded.

  2. Use SFTP or SCP to download the docker image file from the following location: /home/opc/ora23ai-23602410.tar.

  3. Load the docker image to your Docker Engine installation using docker load command as shown in the following example:
    [opc@zdmol8 ~]$ sudo docker image list
    Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
    REPOSITORY  TAG         IMAGE ID    CREATED     SIZE
    [opc@zdmol8 ~]$ 
    [opc@zdmol8 ~]$ sudo docker load < ./ora23ai-23602410.tar
    Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
    Getting image source signatures
    Copying blob 24bb09b2817c done  
    Copying blob ae9fa111a1ac done  
    Copying blob 67d008ba80bc done  
    Copying blob 0d2d7cc2c739 done  
    Copying blob 8e10c3fcde59 done  
    Copying blob 006248eeb32f done  
    Copying config 3b6feb874a done  
    Writing manifest to image destination
    Storing signatures
    After loading, the docker image will look similar the following output:
    REPOSITORY                TAG             IMAGE ID       CREATED         SIZE 
    oracle/goldengate      23.6.0.24.10     b0f5ef6c8953   2 months ago      2.91GB

    For more information about usage of docker, see Docker Documentation.

  4. Run the image as a container using the docker run command. The image needs to expose port 443 for HTTPS access to the Oracle GoldenGate web UI and API, use appropriate parameters to expose and map ports. As part of the docker run output, the password for the ggadmin user is generated and displayed as follows:
    [opc@zdmol8 ~]$ sudo docker run --name ogg218 -p 443:443 oracle/goldengate:23.5.0.0.0 
    Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
    ----------------------------------------------------------------------------------
    --  Password for OGG administrative user 'oggadmin' is 'BmRqDusMoOp0-IGri'
    Ensure to change the password later in the Oracle GoldenGate web UI.

    Note:

    For more information about the parameters for the docker run command, see Running Oracle GoldenGate in a Container in the GITHUB page. All the parameters here are optional. The docker image was created using the docker file from that project described in this page.
  5. Once the docker container has started, you can access it through the Oracle GoldenGate web interface using http://hostname, where hostname is the hostname or IP address of the server where the docker container was started. If port 443 was remapped to a different port, then adjust the URL accordingly.