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:
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 theCACHESIZE
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 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 |
---|---|---|---|
|
Yes |
Yes |
Yes |
Other Operating System Requirements
-
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
-
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.
-
Install and run Db2 for LUW on the selected remote system so that the Replicat process can use the supplied Db2 Connect driver.
-
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
-
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 thePATH
orLD_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
orLD_LIBRARY_PATH
environment variable.
-
libssl.so.10
andlibcrypto.so.10
files for Linux systems -
libcrypto-1_1-x64.dll
andlibssl-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
-
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:
-
Install either the Microsoft ODBC Driver 17 or Microsoft ODBC Driver 18 for the operating system where Oracle GoldenGate is to be installed:
For Oracle GoldenGate on Windows, install the driver available at the following link:
For Oracle GoldenGate on Linux, install the driver available at this link, and follow the instructions for RHEL and Oracle Linux packages:
Note:
Support for Microsoft ODBC Driver 18 was added with Oracle GoldenGate release version 21.8.0.0.3. Versions prior to release 21.8.0.0.3 do not support the Microsoft ODBC Driver 18 for SQL Server. -
For Classic Architecture installations of Oracle GoldenGate for SQL Server, the GoldenGate CDC cleanup job requires the Microsoft
sqlcmd
Utility. Download instructions for Windows and Linux systems can be found at:https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility?view=sql-server-ver15
-
To install capture on a remote Linux or Windows server, set the remote server's time and time zone to that of the database server, or use LSN based positioning for the Extract.
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.
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 PostgreSQLlibpq
module
separately.
-
Installing the PostgreSQL
libpq
Module -
The steps to install PostgreSQL
libpq
module are:-
Follow the steps to install the PostgreSQL package, available at: https://www.postgresql.org/download/https://www.postgresql.org/download/
-
Choose the Linux operating system family and Red Hat/Rocky/CentOS Linux distribution from the Packages and Installers drop-down list.
-
Select the PostgreSQL version based on the highest version of PostgreSQL that will be used with Oracle GoldenGate.
-
Select the platform on which Oracle GoldenGate is to be installed, such as Red Hat Enterprise, Rocky, or Oracle version 8.
-
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).
-
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
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:
-
OGG_HOME
– The planned Oracle GoldenGate installation path. -
LD_LIBARY_PATH
– Includes the$OGG_HOME/lib
and PostgreSQLlibpq
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:
-
OGG_HOME
– The planned Oracle GoldenGate installation path. -
LD_LIBARY_PATH
– Includes the$OGG_HOME/lib
and PostgreSQLlibpq
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 validLSN
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