1 System Requirements and Preinstallation Instructions

This chapter contains the requirements for the system and database resources that support Oracle GoldenGate for DB2 z/OS.

Topics:

1.1 Verifying Certification and System Requirements

Make sure that you are installing your product on a supported hardware or software configuration. For more information, see the certification document for your release on the Oracle Fusion Middleware Supported System Configurations page.

Oracle has tested and verified the performance of your product on all certified systems and environments; whenever new certifications occur, they are added to the proper certification document right away. New certifications can occur at any time, and for this reason the certification documents are kept outside of the documentation libraries and are available on Oracle Technology Network.

1.2 Operating System Requirements

This section outlines the requirements to support Oracle GoldenGate on the local operating system.

Topics:

1.2.1 System Services

The following system services must be enabled on the host system.

  • Activate Unix System Services (USS) in full function mode rather than in minimum mode. You can use the z/OS UNIX Configuration Wizard for this purpose. Refer to the IBM UNIX System Services Planning manual for more information. The UNIX customization includes the following:

    • Make the Language Environment run-time library (RTL) available to Oracle GoldenGate and other C programs by including it in the link list or Link Pack Area (LPA), or by adding it to the STEPLIB environment variable. RTL consists of data sets SCEERUN and SCEERUN2 . If you are using STEPLIB , define the SCEERUN data sets to LLA to make loading the run-time modules faster. See the UNIX System Services Planning documentation for more information.

  • Install Recoverable Resource Manager Services (RRS) for the best performance. Depending on the attachment type, the user by which Oracle GoldenGate runs might need one of the following permissions on the DSNR resource class:

    • If using RRSAF, assign RACF ACCESS(READ) to the RRSAF resource. IBM recommends using RRSAF because it has several advantages over CAF, including support for two-phase commit, thread reuse, and control over accounting intervals.

    • If using CAF, assign RACF ACCESS(READ) to the BATCH environment. If using CAF, it is possible for Oracle GoldenGate to hold locks on the system catalog until it receives a transaction commit.

  • Oracle GoldenGate supports Sysplex data sharing.

1.2.2 Memory Requirements

Oracle GoldenGate requires the following memory resources on the local system.

On the 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 (referred to as swapping). 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 Reference for Oracle GoldenGate.

On the DB2 host system

Allocate approximately 10-50 MB of virtual memory for each Oracle GoldenGate log reader, oggreadx, 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.

(Only applicable if you are installing stored procedures.) When using TSO to access USS, give the TSO user enough memory allocation to start the Oracle GoldenGate GGSCI process. If you get the error message "CEE3536S Not enough storage was available for the WSA ," increase the TSO user memory or ask your TSO administrator to do it.

1.2.3 Disk Requirements

This section outlines the disk requirements needed to support Oracle GoldenGate.

On the remote system

Assign the following free disk space:

  • To determine the size of the Oracle GoldenGate download file, view the Size column before downloading your selected build from Oracle Software Delivery Cloud. The value shown is the size of the files in compressed form. The size of the expanded Oracle GoldenGate installation directory will be significantly larger on disk.

  • Allow at least an additional 1 GB of disk space on any system that hosts Oracle GoldenGate trails, which are files that contain the working data. 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. See the guidelines for sizing trails in Administering Oracle GoldenGate.

  • By default, Oracle GoldenGate maintains data that it swaps to disk in the dirtmp sub-directory of the Oracle GoldenGate installation directory. The cache manager assumes that all of the free space on the file system is available. This directory can fill up quickly if there is a large transaction volume 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 and size to this directory with the CACHEDIRECTORY option of the CACHEMGR parameter. The CACHESIZE option of CACHEMGR sets a soft limit for the amount of virtual memory (cache size) that is available for caching transaction data. See Reference for Oracle GoldenGate for the default values of these options and detailed explanations, in case system adjustments need to be made.

On the DB2 host system

(Only applicable if you are installing stored procedures.) Assign a 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.

1.2.4 Network Requirements

Oracle GoldenGate requires the following network resources.

  • Configure the system to use TCP/IP 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. Host names are easier to use.

  • Oracle GoldenGate requires some unreserved and unrestricted TCP/IP ports, the number of which depends on the number and types of processes in your configuration. See Administering Oracle GoldenGate for details on how to configure the Manager process to handle the required ports.

  • Keep a record of the ports that you assigned to Oracle GoldenGate. You will specify them with parameters when configuring the Manager process.

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

1.2.5 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.

  • For best results, have the following tools on the system:

    • 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 z/OS machine.

    • RACF command processor or comparable security package. (This documentation shows recommendations and examples for RACF.)

    • Time Sharing Option Extensions (TSO/E) command processor, including authorized TSO/E commands.

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

1.2.6 Operating System Privileges

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

Table 1-1 shows the other required operating system privileges for Oracle GoldenGate:

Table 1-1 Operating System Privileges

DB2 z/OS User Privilege Extract Stored Procedures Replicat

CONNECT to the remote DB2 subsystemFoot 1

X

X

X

ACCESS(READ ) to the bootstrap data set (BSDS)

 

XFoot 2

 

ACCESS(READ) to resource BPX.FILEATTR.APF in CLASS(FACILITY)

 

X

 

ACCESS(READ) to resource BPX.JOBNAME in CLASS(FACILITY)Foot 3

X

X

X

Footnote 1

Requires access to either the CAF or the RRSAF protected access profile in the DSNR RACF resource class, depending upon the MVSATTACHTYPE value in the ODBC initialization file.

Footnote 2

Non-data sharing only.

Footnote 3

In IBM DB2 10 for z/OS 1.13 and later.

1.3 Database Requirements

This section contains Oracle GoldenGate requirements that are specific to the DB2 database on z/OS.

Topics:

1.3.1 Database Configuration

Configure the following database components to support Oracle GoldenGate.

  • Install a DB2 ODBC driver. The Oracle GoldenGate Extract and Replicat processes use ODBC (Open Database Connectivity) to connect to the DB2 subsystem. For information about ODBC, see the DB2 for z/OS ODBC Guide and Reference documentation.

  • Install and configure the DB2 ODBC dynamic load library.

  • Grant Oracle GoldenGate EXECUTE privilege on the plan that is specified in the ODBC initialization file (the default is DSNACLI).

  • You might need to insert the name of the local DB2 subsystem into the SYSIBM.LOCATIONS table, which contains the remote DB2 server locations. Use a statement similar to the following (the example uses the name DB2A).

    INSERT INTO SYSIBM.LOCATIONS (LOCATION, PORT) VALUES ('DB2A', '446');
    

1.3.2 Database User for Oracle GoldenGate Processes

Oracle GoldenGate requires a database user account. Create this account and assign privileges according to the following guidelines.

  • By default, the user who starts the Manager process becomes the default DB2 primary authorization ID for all of the Oracle GoldenGate processes that any users start in that Oracle GoldenGate instance.You can assign a different user to any process by means of JCL or UNIX variables.

  • To monitor Oracle GoldenGate processing accurately, do not permit other applications or processes to operate as the Oracle GoldenGate user.

  • Assign the DB2 privileges listed in Table 1-2 to the user by which Extract and Replicat will be running (default is the user who starts Manager). These are in addition to any permissions that DB2 ODBC requires. All Extract privileges apply to initial-load and log-based Extract processes, except where noted.

Table 1-2 Privileges Needed by Oracle GoldenGate for DB2 on z/OS

User privilege Extract Replicat

MONITOR2

(does not apply to initial-load Extract)

X

 

SELECT ON the following SYSIBM tables:

SYSTABLES

SYSCOLUMNS

SYSTABLEPART

SYSKEYS

SYSINDEXES

SYSCOLAUTH

SYSDATABASE

SYSFOREIGNKEYS

SYSPARMS

SYSRELS

SYSROUTINES

SYSSYNONYMS

SYSTABAUTH

SYSAUXRELS

X

X

SELECT on source tablesFoot 4

X

 

INSERT, UPDATE, DELETE on target tables

 

X

CREATE TABLEFoot 5

 

X

EXECUTE on ODBC plan (default is DSNACLI)

X

 

Privileges required by SQLEXEC procedures or queries that you will be using.Foot 6

X

X

Footnote 4

SELECT on source tables required only if tables contain LOB columns, or for an initial-load Extract, if used.

Footnote 5

Required if using ADD CHECKPOINTTABLE in GGSCI to use the database checkpoint feature.

Footnote 6

SQLEXEC enables stored procedures and queries to be executed by an Oracle GoldenGate process.

1.4 Supported DB2 on z/OS Data Types

This section lists the DB2 data types that Oracle GoldenGate supports on the z/OS platform and any limitations of this support.

  • Oracle GoldenGatee does not perform character set conversion for columns that could contain multi-byte data. This includes GRAPHIC, VARGRAPHIC and DBCLOB data types, as well as CHAR, VARCHAR, and CLOB for tables defined with ENCODING_SCHEME of 'M' (multiple CCSID set or multiple encoding schemes) or 'U' (Unicode). Such data is only supported if the source and target systems are the same CCSID.

  • Oracle GoldenGate supports ASCII, EBCDIC, and Unicode data format. Oracle GoldenGate will convert between ASCII and EBCDIC data automatically. Unicode is never converted.

  • Oracle GoldenGate supports most DB2 data types except those listed in Non-Supported DB2 on z/OS Data Types.

Limitations of Support

  • The support of range and precision for floating-point numbers depends on the host machine. In general, the precision is accurate to 16 significant digits, but you should review the database documentation to determine the expected approximations. Oracle GoldenGate rounds or truncates values that exceed the supported precision.

  • Oracle GoldenGate does not support the filtering, column mapping, or manipulation of large objects greater than 4K in size. Full Oracle GoldenGate functionality can be used for objects that are 4K or smaller.

  • DECFLOAT is fully supported by Replicat. Extract does not capture DECFLOAT from the transaction log, but supports capture of it by fetching from the database.

1.5 Non-Supported DB2 on z/OS Data Types

This section lists DB2 data types that Oracle GoldenGate does not support on the z/OS platform. Data that is not supported may affect the integrity of the target data in relation to the source data.

  • XML

  • User-defined types

  • Negative dates

  • TIMESTAMP WITH TIMEZONE

1.6 Supported Objects and Operations for DB2 on z/OS

This section lists the database objects and types of operations that Oracle GoldenGate supports.

  • Extraction and replication of DML operations on DB2 for z/OS tables that contain rows of up to 512KB in length. This size exceeds the maximum row size of DB2.

  • INSERT operations from the IBM LOAD utility are supported for change capture if the utility is run with LOG YES and SHRLEVEL CHANGE, and the source tables that are being loaded have DATA CAPTURE CHANGES enabled (required by Oracle GoldenGate) and are specified in the Oracle GoldenGate Extract configuration.Oracle GoldenGate also supports initial loads with the LOAD utility to instantiate target tables during initial synchronization. For more information, see Administering Oracle GoldenGate.

  • Oracle GoldenGate supports the maximum number of columns per table that is supported by the database.

  • Oracle GoldenGate supports the maximum column size that is supported by the database.

  • Extraction and replication of data that is stored using DB2 data compression (CREATE TABLESPACE COMPRESS YES).

  • TRUNCATE TABLE is supported, but because this command issues row deletes to perform the truncate, they are shown in Oracle GoldenGate statistics as such, and not as a truncate operation. To replicate a TRUNCATE , Replicat uses a DELETE without a WHERE clause.

  • TRUNCATES are always captured from a DB2 for z/OS source, but can be ignored by Replicat if the IGNORETRUNCATES parameter is used in the Replicat parameter file.

1.7 Non-Supported Objects and Operations for DB2 on z/OS

  • Extraction or replication of DDL operations

  • Clone tables

  • Data manipulation, including compression, that is performed within user-supplied DB2 exit routines, such as:

    • Date and time routines

    • Edit routines (CREATE TABLE EDITPROC )

    • Validation routines (CREATE TABLE VALIDPROC )

  • AES encryption in Oracle GoldenGate security features

  • The Multi-Journal feature does not support multi-journal sync of a transaction across multiple journals.

  • Replicating with BATCHSQL is not fully functional for DB2 for z/OS. Non-insert operations are not supported so any update or delete operations will cause Replicat to drop temporarily out of BATCHSQL mode. The transactions will stop and errors will occur.