Operating System Requirements

Learn about the operating system resources required to install and run Oracle GoldenGate.

Topics:

Memory Requirements

All Platforms

The amount of memory that is required for Oracle GoldenGate depends on the amount of data being processed, the number of Oracle GoldenGate processes running, the amount of RAM available to Oracle GoldenGate, and the amount of disk space that is available to Oracle GoldenGate for storing pages of RAM temporarily on disk when the operating system needs to free up RAM (typically when a low watermark is reached). This temporary storage of RAM to disk is commonly known as swapping or paging (herein referred to as swapping). Depending on the platform, the term swap space can be a swap partition, a swap file, a page file (Windows) or a shared memory segment (IBM for i).

Modern servers have sufficient RAM combined with sufficient swap space and memory management systems to run Oracle GoldenGate. However, increasing the amount of RAM available to Oracle GoldenGate may significantly improve its performance, as well as that of the system in general.

Typical Oracle GoldenGate installations provide RAM in multiples of gigabytes to prevent excessive swapping of RAM pages to disk. The more contention there is for RAM the more swap space that is used.

Excessive swapping to disk causes performance issues for the Extract process in particular, because it must store data from each open transaction until a commit record is received. If Oracle GoldenGate runs on the same system as the database, then the amount of RAM that is available becomes critical to the performance of both.

RAM and swap usage are controlled by the operating system, not the Oracle GoldenGate processes. The Oracle GoldenGate cache manager takes advantage of the memory management functions of the operating system to ensure that the Oracle GoldenGate processes work in a sustained and efficient manner. In most cases, users need not change the default Oracle GoldenGate memory management configuration.

For more information about evaluating Oracle GoldenGate memory requirements, see the CACHEMGR parameter in the Reference for Oracle GoldenGate.

Db2 z/OS: Memory Requirements

Oracle GoldenGate requires the following memory resources on the Oracle GoldenGate remote system and the database host system.

On a remote system

The amount of memory that is required for Oracle GoldenGate depends on the amount of data being processed, the number of Oracle GoldenGate processes running, the amount of RAM available to Oracle GoldenGate, and the amount of disk space that is available to Oracle GoldenGate for storing pages of RAM temporarily on disk when the operating system needs to free up RAM (typically when a low watermark is reached). This temporary storage of RAM to disk is commonly known as swapping or paging. Depending on the platform, the term swap space can be a swap partition, a swap file, or a shared memory segment (IBM i platforms).

Modern servers have sufficient RAM combined with sufficient swap space and memory management systems to run Oracle GoldenGate. However, increasing the amount of RAM available to Oracle GoldenGate may significantly improve its performance, as well as that of the system in general.

Typical Oracle GoldenGate installations provide RAM in multiples of gigabytes to prevent excessive swapping of RAM pages to disk. The more contention there is for RAM the more swap space that is used.

Excessive swapping to disk causes performance issues for the Extract process in particular, because it must store data from each open transaction until a commit record is received. If Oracle GoldenGate runs on the same system as the database, the amount of RAM that is available becomes critical to the performance of both.

RAM and swap usage are controlled by the operating system, not the Oracle GoldenGate processes. The Oracle GoldenGate cache manager takes advantage of the memory management functions of the operating system to ensure that the Oracle GoldenGate processes work in a sustained and efficient manner. In most cases, users need not change the default Oracle GoldenGate memory management configuration.

For more information about evaluating Oracle GoldenGate memory requirements, see the CACHEMGR parameter in the Reference for Oracle GoldenGate.

On the Db2 host system

Allocate approximately 10-50 MB of virtual memory for each Oracle GoldenGate log reader, oggreadb, that is invoked depending on the size of the log buffer. There is one invocation per Extract process on the remote system. To adjust the maximum log buffer size, use the TRANLOGOPTIONS BUFSIZE parameter in the Extract parameter file.

When setting up the Workload Manager (WLM) environment for the Extract log read components, it is recommended to set NUMTCB in the range of 10-40 depending on your environment. This is based on the IBM general guidelines available here:

https://www.ibm.com/support/knowledgecenter/en/SSEPEK_11.0.0/perf/src/tpc/db2z_assignprocfunc2wlmappenv.html

Disk Requirements

Disk Requirements for Oracle GoldenGate Installation Files

Disk space requirements vary based on the platform, database, and Oracle GoldenGate architecture to be installed.

The disk space requirements for a Oracle GoldenGate installation vary based on your operating system and database. Ensure that you have adequate disk space for the downloaded file, expanded files, and installed files, which can be up to 2GB.

Temporary Disk Requirements

When total cached transaction data exceeds the CACHESIZE setting of the CACHEMGR parameter, Extract begins writing cache data to temporary files located in the Oracle GoldenGate installation directory. For Microservices Architecture, it is the /var/temp folder for that deployment.

The cache manager assumes that all of the free space on the file system is available. These directories can fill up quickly if there are many transactions with large transaction sizes. To prevent I/O contention and possible disk-related Extract failures, dedicate a disk to this directory. You can assign a name to this directory with the CACHEDIRECTORY option of the CACHEMGR parameter.

Note:

CACHEMGR is an internally self-configuring and self-adjusting parameter. It is rare that this parameter requires modification. Doing so unnecessarily may result in performance degradation. It is best to acquire empirical evidence before opening an Oracle Service Request and consulting with Oracle Support.

It is typically more efficient for the operating system to swap to disk than it is for Extract to write temporary files. The default CACHESIZE setting assumes this. Thus, there should be sufficient disk space to account for this, because only after the value for CACHESIZE is exceeded will Extract write transaction cached data to temporary files in the file system name space. If multiple Extract processes are running on a system, the disk requirements can multiply. Oracle GoldenGate writes to disk when there is not enough memory to store an open transaction. Once the transaction has been committed or rolled back, committed data is written to trail files and the data are released from memory and Oracle GoldenGate no longer keeps track of that transaction. There are no minimum disk requirements because when transactions are committed after every single operation these transactions are never written to disk.

Note:

Oracle recommends that you do not change the CACHESIZE because performance can be adversely effected depending on your environment.

Other Disk Space Considerations

In addition to the disk space required for the files and binaries that are installed by Oracle GoldenGate, allow additional disk space to hold the Oracle GoldenGate trails. Trails can be created up to 2GB in size, with a default of 500MB. The space required depends upon the selected size of the trails, the amount of data being captured for replication, and how long the consumed trails are kept on the disk. The recommended minimum disk allocated for Trails may be computed as:

((transaction log size * 0.33) * number of log switches per day) * number of days to retain trails

Based on this equation, if the transaction logs are 1GB in size and there is an average of 10 log switches per day, it means that Oracle GoldenGate will capture 3.3GB data per day. To be able to retain trails for 7 days, the minimum amount of disk space needed to hold the trails is 23GB.

A trail is a set of self-aging files that contain the working data at rest and during processing. You may need more or less than this amount, because the space that is consumed by the trails depends on the volume of data that will be processed.

Db2 z/OS - Disk Requirements

On the Db2 host system

(Only applicable if you are installing stored procedures.) Assign a zFS (zSeries file systems) or hierarchical file system volume. To determine the size of the Oracle GoldenGate download file, examine the size of zOSPrograms.zip on the remote Db2 system after extracting the installation image.

Network Requirements

The following network resources must be available to support Oracle GoldenGate:

  • Use the fastest network possible and install redundancies at all points of failure for optimal performance and reliability, especially in maintaining low latency on the target.

  • You can configure Oracle GoldenGate Microservices to use a reverse proxy. Oracle GoldenGate Microservices includes a script called ReverseProxySettings that generates configuration file for only the NGINX reverse proxy server.

    See Configure Reverse Proxy with NGINX to Access Oracle GoldenGate Microservices.

  • Configure the system to use both TCP and UDP services, including DNS. Oracle GoldenGate supports IPv4 and IPv6 and can operate in a system that supports one or both of these protocols.

  • Configure the network with the host names or IP addresses of all systems that will be hosting Oracle GoldenGate processes and to which Oracle GoldenGate will be connecting.

  • Oracle GoldenGate requires some unreserved and unrestricted TCP/IP network ports, the number of which depends on the number and types of processes in your configuration.

  • Keep a record of the ports that you assigned to Oracle GoldenGate processes. You specify them with parameters when configuring deployments for the Microservices Architecture.

  • Configure your firewalls to accept connections through the Oracle GoldenGate ports.

Operating System Privileges

The following are the privileges in the operating system that are required to install Oracle GoldenGate Microservices Architecture and to run the processes:
  • The user who installs Oracle GoldenGate must be granted read and write privileges on the Oracle GoldenGate software home directory.

  • To install on Windows, the user who installs Oracle GoldenGate must log in as an Administrator.

  • The user who configures deployments using the oggca.sh script and creates Oracle GoldenGate Extract, Replicat processes must have read, write, and delete privileges on files and subdirectories in the Oracle GoldenGate directory.

  • For Extract processes that read from transaction logs and backups, the user must have read access to the logs and backup files.

  • Oracle recommends that you dedicate the Extract and Replicat operating system users to Oracle GoldenGate. Sensitive information might be available to anyone who runs an Oracle GoldenGate process, depending on how database authentication is configured.

Manager Running on Windows

The Manager process can run as a Windows service, or it can run interactively as the current user. The Manager process requires:

  • Full control permissions over the files and folders within the Oracle GoldenGate directories.

  • Full control permissions over the trail files, when they are stored in a location other than the Oracle GoldenGate directory.

  • Membership in the server's local Administrators Group (on all nodes in a cluster).

  • If you are running Manager as a Windows service with an Extract or Replicat that is connected to a database using Windows Authentication, then the process attempts to log in to the database with the account that the Manager is running under. Ensure that the Manager's service account has the correct access to the database.

The programs that capture and replicate data, Extract and Replicat, run under the Manager account and inherit the Manager's operating system level privileges.

Db2 z/OS - Operating System Privileges

The remote host requires privileges to use the chmod +rw command on the subdirectories in the Oracle GoldenGate product directory.

The following table shows the other required operating system privileges for Oracle GoldenGate:

Table 2-1 Operating System Privileges

Db2 z/OS User Privilege Extract Stored Procedures Replicat

CONNECT to the remote Db2 subsystem.

Yes

Yes

Yes

Other Operating System Requirements

The following additional features of the operating system must be available to support Oracle GoldenGate.
  • To use Oracle GoldenGate user exits, install the C/C++ Compiler, which creates the programs in the required shared object or DLL.

  • Gzip to decompress the Oracle GoldenGate installation files. Otherwise, you must unzip the installation on a PC by using a Windows-based product, and then FTP it to the AIX, DB2 for i, or DB2 z/OS platforms.

  • For best results on DB2 platforms, apply high impact (HIPER) maintenance on a regular basis staying within one year of the current maintenance release. The HIPER process identifies defects that could affect data availability or integrity. IBM provides Program Temporary Fixes (PTF) to correct defects found in DB2 for i and DB2 z/OS.

  • For Oracle GoldenGate running on a Windows system, install the Microsoft Visual C++ Redistributable Package for Visual Studio 2015, 2017, and 2019. This package installs runtime components of Visual C++ Libraries that are required for Oracle GoldenGate processes.

  • Download and install the x64 version of Visual C++ 2015, 2017, and 2019 package:

    https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

  • For Oracle GoldenGate for Oracle to be installed on a remote hub server, download and install the Oracle Database 21c client for the operating system platform where Oracle GoldenGate will be installed and ensure that you install the Administrator version of the client.

  • For Oracle GoldenGate for Db2 z/OS, the objects require a minimum hardware platform of z10, a minimum operating system release 1.13, and a minimum Db2 release 11.

    Oracle GoldenGate supports Sysplex data sharing.

Choose a Db2 z/OS Operating System for Installing Oracle GoldenGate

Oracle GoldenGate for Db2 z/OS operates remotely on zLinux, AIX or Intel Linux systems. To capture data, a small component must be installed on the Db2 z/OS system that contains the Db2 instance that will allow Oracle GoldenGate to read the Db2 log data.

To install Oracle GoldenGate on a remote zLinux, AIX or Linux system, you have the following options for connecting to Db2 on the z/OS system:

  • Db2 Connect v10.5 or greater

  • IBM Data Server Driver for ODBC and CLI v10.5 or greater

  • IBM Data Server Client v10.5 or greater

  • IBM Data Server Runtime Client v10.5 or greater

Consider the following:

  • Extract uses Open Database Connectivity (ODBC) to connect to the Db2 subsystem on the z/OS system. If one of the other drivers is not already installed, the IBM Data Server Driver for ODBC and CLI is the most lightweight driver and is recommended for most configurations, although the other drivers are suitable also.

  • To capture Db2 log data, the log reader component must be installed in a Library (PDSE) on the z/OS system. Load Libraries (PDS) are not supported. The library must be authorized program facility (APF) helps your installation protect the system. APF-authorized programs can access system facility (APF) authorized. The log read component is called through SQL from the remote system and since it is APF authorized, an authorized Workload Manager (WLM) environment must also be used to run these programs since the default Db2 supplied WLM environment is not able to run authorized workload.

  • No special requirements beyond what capture already has for Oracle GoldenGate delivery. Because this Oracle GoldenGate release is a fully-remote distribution, the former Oracle GoldenGate Db2 Remote product is no longer shipped separately. However, Windows is not supported in Oracle GoldenGate for Db2 z/OS in this release. If you still require delivery to z/OS from Windows, then Oracle GoldenGate Db2 Remote 12.2 is still available.

  • UNIX System Services (USS) is no longer required (as in prior releases) except for a few installation procedures.

  • Windows only: To apply data to a Db2 target from Windows, Oracle GoldenGate Db2 Remote v12.2 must be used. Capture is not support in this scenario.

  • Install Oracle GoldenGate Db2 Remote on a remote system for remote delivery to the Db2 target system. In this configuration, Replicat connects to the target Db2 database by using the ODBC API that is supplied in Db2 Connect . This configuration requires Db2 LUW to be installed on the remote system.

    Note:

    All of the Oracle GoldenGate functionality that is supported for Db2 for z/OS is supported by DB2Connect. In addition, ASCII character data is converted to EBCDIC automatically by Db2 Connect.

  • Although it is possible to install Oracle GoldenGate on zLinux, AIX, and Intel based Linux, the best performance is seen with a system that has the lowest network latency to the z/OS system that you use. Although it is possible to run over a wide area network, the performance suffers due to the increased network latency. Oracle recommends using a zLinux partition on the same physical hardware as the z/OS system that is running Db2 using Hipersockets or a VLAN between the partitions. Otherwise, systems connected with OSA adapters in the same machine room, would be the next best choice. Alternatively, the fastest Ethernet connection between the systems that is available would be acceptable.

Using the Remote Delivery to the Db2 z/OS using DB2Connect

  1. For the intermediary system, select any platform that Oracle GoldenGate supports for the Db2 for LUW database. This is the system on which Oracle GoldenGate is installed.

  2. Install and run Db2 for LUW on the selected remote system so that the Replicat process can use the supplied Db2 Connect driver.

  3. Catalog the Db2 target node in the Db2 for LUW database on the remote system by using the following Db2 command:

    catalog tcpip node db2_node_name remote DNS_name server DB2_port-number
  4. Add the target Db2 database to the Db2 for LUW catalog on the intermediary system by using the following Db2 command:

    catalog db database_name as database_alias at node db_node_name 

See the IBM Db2 LUW documentation for more information about these commands.

Where to Install Oracle GoldenGate for SQL Server

Oracle GoldenGate for SQL Server must be installed on a supported operating system as per the Certification Matrix, and can be installed on the database server itself or on an application hub server, based on your preference.

Windows Console Character Sets

The operating system and the command console must have the same character sets. Mismatches occur on Microsoft Windows systems, where the operating system is set to one character set, but the DOS command prompt uses a different, older DOS character set. Oracle GoldenGate uses the character set of the operating system to send information to the Admin Client command output. So, a non-matching console character set causes characters not to display correctly. You can set the character set of the console before opening an Admin Client session by using the following DOS command:

chcp codepagenumber

For example, chcp 437.

For a code page overview, see https://msdn.microsoft.com/en-us/library/windows/desktop/dd317752(v=vs.85).aspx and the list of code page identifiers https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx.

Other Programs and Settings

Other Programs and Settings for MySQL

The following additional programs and settings for different databases must be available to support Oracle GoldenGate.

Oracle GoldenGate 21c for MySQL is packaged with MySQL client libraries 8.0.26 and requires OpenSSL 1.1.1 be installed on the Oracle GoldenGate server.

  • If Oracle GoldenGate is installed on a MySQL 8.0 (versions less than 8.0.34) database server, then add the MySQL installation’s home\bin directory to the PATH or LD_LIBRARY_PATH environment variable as shown.

    For Linux:

    export LD_LIBRARY_PATH=mysql_home/bin:$PATH

    For Windows:

    set PATH=mysql_home\bin;%PATH%
  • If Oracle GoldenGate is installed on a MySQL (versions 5.7, 8.0.34+) or MariaDB database server, or installed on a hub server, then install OpenSSL 1.1.1 and add its installation location to the PATH or LD_LIBRARY_PATH environment variable.

This is required for both Linux and Windows systems and the environment variable must include the directory containing the following files:
  • libssl.so.10 and libcrypto.so.10 files for Linux systems

  • libcrypto-1_1-x64.dll and libssl-1_1-x64.dll files for Windows systems

OpenSSL 1.1.1 binaries are available through openssl.org or by installing a MySQL 8.0 product that includes the OpenSSL 1.1.1 libraries, such as Connector/ODBC 8.0 version 8.0.33.

Other Programs and Settings for PostgreSQL

Additional requirements for PostgreSQL are:
  • To capture from a PostgreSQL database, Oracle GoldenGate requires the test_decoding database plugin to be installed for the database, which may not have been installed by default.

  • Ensure that the postgresqlversion#-contrib package is installed on the database server.

For example:

sudo yum install postgresql13-contrib

When installing Oracle GoldenGate on a remote server (one different from where the database is running), set the remote server's time and time zone to that of the source database server so that Oracle GoldenGate Extract can correctly position by time when creating the Extract with the BEGIN option, otherwise, position by a valid LSN value.

Other Programs and Settings for SQL Server

Observe the following program and settings information for Oracle GoldenGate for SQL Server:

Installing Microsoft ODBC Drivers for Linux

For Oracle GoldenGate installed on Linux, the Microsoft ODBC. The following tasks are required to install the Linux drivers.

  1. (Oracle GoldenGate Marketplace only) Edit the file /etc/passwd, to grant temporary shell access to the root user.
    $ sudo vi /etc/passwd
  2. (Oracle GoldenGate Marketplace only) In the file /etc/passwd, change the value for the root user from /usr/sbin/nologin to /bin/bash. Save and close the file.
  3. Using Microsoft’s RedHat Enterprise Server installation instructions for adding the ODBC Drivers for Linux, perform the following steps with default values by answering 'y' when prompted.
    $ sudo su
    
    $ #RedHat Enterprise Server 7
    $ curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
    
    $ exit
    $ sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
    $ sudo ACCEPT_EULA=Y yum install msodbcsql17
    $ sudo ACCEPT_EULA=Y yum install mssql-tools
    $ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    $ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    $ source ~/.bashrc
  4. (Oracle GoldenGate Marketplace only) After installing the Linux drivers, you can reset the original shell access values for the root user.
    $ sudo vi /etc/passwd
  5. (Oracle GoldenGate Marketplace only) Change the value for the root user from /bin/bash to /usr/sbin/nologin. Save and close the file.

Prequisities to Install Microservices Architecture for PostgreSQL and SQL Server

The following topics detail the prerequisites for installing Microservices Architecture for PostgreSQL and SQL Server.

Topics:

Prerequisites for Installing Oracle GoldenGate for PostgreSQL

PostgreSQL libpq Module

For Oracle GoldenGate installations beginning with release 21.6.0 and after, required PostgreSQL libpq libraries are now included in the Oracle GoldenGate installation package and do not need to be installed separately.

For Oracle GoldenGate installations prior to release 21.6.0, PostgreSQL libpq libraries need to be manually installed where Oracle GoldenGate is to be installed. The steps to install the correct libpq module when running Oracle GoldenGate versions prior to release 21.6.0 are:

Note:

It is highly recommended to patch Oracle GoldenGate to the most recent patch available on the support.oracle.com page. If you plan to install the base release 21.3 (GA release) immediately followed by the release 21.6 patch or later, then there is no need to install the PostgreSQL libpq module separately.
Installing the PostgreSQL libpq Module

The steps to install PostgreSQL libpq module are:

  1. Follow the steps to install the PostgreSQL package, available at: https://www.postgresql.org/download/https://www.postgresql.org/download/

  2. Choose the Linux operating system family and Red Hat/Rocky/CentOS Linux distribution from the Packages and Installers drop-down list.

  3. Select the PostgreSQL version based on the highest version of PostgreSQL that will be used with Oracle GoldenGate.

  4. Select the platform on which Oracle GoldenGate is to be installed, such as Red Hat Enterprise, Rocky, or Oracle version 8.

  5. Select the architecture as x86_64 from the Architecture drop-down.

    This will provide the PostgreSQL setup scripts needed to install the required package(s).

  6. Install the repository RPM and the libs module. The sample code is given below:

    # Install the repository RPM: sudo dnf install -y

    https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

    # Disable the built-in PostgreSQL module:

    sudo dnf -qy module disable postgresql

    # Install PostgreSQL libs module:

    sudo dnf install -y postgresql14-libs

Database Software for Capture

To capture from a PostgreSQL database, Oracle GoldenGate requires the test_decoding database plug-in be installed for the database. This plug-in might not have been installed by default when the database was installed.

Ensure that the postgresqlversion#-contrib package is installed on the database server, as shown in the example:

sudo yum install postgresql14-contrib

Other Programs and Settings

Configure the LD_LIBARY_PATH and OGG_HOME environment variables prior to installing Oracle GoldenGate.

Note:

It is highly recommended to patch Oracle GoldenGate to the most recent patch available on support.oracle.com. If you plan to install the base release 21.3 (the GA release) immediately followed by a patched version, then perform the steps given below to set the environment variables based on the final patch version that you will install.
  • For Oracle GoldenGate installations prior to release 21.6.0, set the following environment variables before installing Oracle GoldenGate:

    1. OGG_HOME – The planned Oracle GoldenGate installation path.

    2. LD_LIBARY_PATH – Includes the $OGG_HOME/lib and PostgreSQL libpq directories.

      Example:

      export OGG_HOME=<GoldenGate_Installation_Path>

      export LD_LIBRARY_PATH=$OGG_HOME/lib:/usr/pgsql-14/lib

  • For Oracle GoldenGate installations of release 21.6.0 and after, set the following environment variables before installing Oracle GoldenGate:

    1. OGG_HOME – The planned Oracle GoldenGate installation path.

    2. LD_LIBARY_PATH – Includes the $OGG_HOME/lib and PostgreSQL libpq directories.

      Example:

      export OGG_HOME=<GoldenGate_Installation_Path>

      export LD_LIBRARY_PATH=$OGG_HOME/lib

  • When installing Oracle GoldenGate on a remote server (one different from where the database is running), set the remote server's time and time zone to that of the source database server so that Oracle GoldenGate Extract can correctly position by time when creating the Extract with the BEGIN option, otherwise, position by a valid LSN value.

Prerequisites for Installing Oracle GoldenGate Microservice Architecture for SQL Server

Open a terminal session and using Microsoft’s RedHat Enterprise Server installation instructions for adding the ODBC Drivers for Linux, perform the following steps with default values. Respond with 'y' when prompted.

sudo su #RedHat Enterprise Server 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > 
/etc/yum.repos.d/mssql-release.repo 
exit
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install msodbcsql17
sudo ACCEPT_EULA=Y yum install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc