Documentation
Advanced Search


Installing and Configuring Oracle GoldenGate for MySQL

1 System Requirements and Preinstallation Instructions

This chapter contains the requirements for the system and database resources that support Oracle GoldenGate. It contains the following sections:

1.1 Supported Platforms

To find out which Oracle GoldenGate builds are available for a specific combination of database version and operating system, log onto http://support.oracle.com and select the Certifications tab. For assistance, click Tips for Finding Certifications.

You will need to provide an e-mail and password to enter this site.

1.2 Operating system requirements

This section descibes the MySQL operating system requirements. These requirements fall into one of the following categories:

1.2.1 Memory requirements

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 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 for Windows and UNIX.

1.2.2 Disk requirements

Assign free disk space according to the following instructions.

  • 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. For more information, see Section 2.2, "Downloading Oracle GoldenGate."

  • To install Oracle GoldenGate into a cluster environment, install the Oracle GoldenGate binaries and files as the Oracle user on a shared file system that is available to all cluster nodes. See Section 2.4, "Preparing to install Oracle GoldenGate within a cluster" for more information.

  • Allocate 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 for Windows and UNIX.

1.2.3 Temporary disk requirements

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 to this directory with the CACHEDIRECTORY option of the CACHEMGR parameter. See Reference for Oracle GoldenGate for Windows and UNIX.

1.2.4 Network

Configure networking according to the following instructions:

  • 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 Windows and UNIX 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 Operating system privileges

Assign operating privileges according to the following instructions.

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

  • To install on UNIX, the person who installs Oracle GoldenGate must have read and write privileges on the Oracle GoldenGate installation directory.

  • The Oracle GoldenGate Extract, Replicat, and Manager processes must operate as an operating system user that has privileges to read, write, and delete files and subdirectories in the Oracle GoldenGate directory. In addition, the Manager process requires privileges to control the other Oracle GoldenGate processes.

  • Dedicate the Extract, Replicat, and Manager operating system users to Oracle GoldenGate. Sensitive information might be available to anyone who runs an Oracle GoldenGate process.

1.2.6 Console

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 GGSCI command output; therefore a non-matching console character set causes characters not to display correctly. You can set the character set of the console before opening a GGSCI session by using the following DOS command:

chcp OS_character_set

If the characters do not display correctly after setting the code page, try changing the console font to Lucida Console, which has an extended character set.

1.2.7 Other programs

Before installing Oracle GoldenGate on a Windows system, install and configure the Microsoft Visual C ++ 2010 SP1 Redistributable Package. Make certain it is the SP1 version of this package, and make certain to get the correct bit version for your server. This package installs runtime components of Visual C++ Libraries. For more information, and to download this package, go to http://www.microsoft.com.

Oracle GoldenGate fully supports virtual machine environments created with any virtualization software on any platform. When installing Oracle GoldenGate into a virtual machine environment, select a build that matches the database and the operating system of the virtual machine, not the host system.

1.3 Database requirements

This section descibes the MySQL database requirements. These requirements fall into one of the following categories:

1.3.1 Supported Version

This release of Oracle GoldenGate for MySQL supports MySQL Enterprise Edition, only.

1.3.2 Database character set

MySQL provides a facility that allows users to specify different character sets at different levels.

Level Example

Database

create database test charset utf8;

Table

create table test( id int, name char(100)) charset utf8;

Column

create table test ( id int, name1 char(100) charset gbk, name2 char(100) charset utf8));

Although you can specify entirely different character sets at all these different levels, for data conversion from source (one character set) to target (another character set), Oracle GoldenGate currently supports only character sets at the database level.

1.3.3 Database storage engine

Rquirements for the database storage engine are as follows:

  • Oracle GoldenGate supports the InnoDB storage engine for a source MySQL database.

  • To preserve transaction boundaries for a MySQL target, create or alter the target tables to the InnoDB transactional database engine instead of the MyISAM engine. MyISAM will cause Replicat records to be applied as they are received, which does not guarantee transaction integrity even with auto-commit turned off. You cannot roll back a transaction with MyISAM.

  • On a target MySQL database, the Oracle GoldenGate Replicat process connects to the database through the MySQL native API.

  • The NDB cluster engine is supported.

1.3.4 Database user for Oracle GoldenGate processes

Requirements for the database user for Oracle GoldenGate processes are as folloows:

  • Create a database user that is dedicated to Oracle GoldenGate. It can be the same user for all of the Oracle GoldenGate processes that must connect to a database:

    • Extract (source database)

    • Replicat (target database)

    • DEFGEN (source or target database)

  • To preserve the security of your data, and to monitor Oracle GoldenGate processing accurately, do not permit other users, applications, or processes to log on as, or operate as, the Oracle GoldenGate database user.

  • Keep a record of the database users. They must be specified in the Oracle GoldenGate parameter files with the USERID parameter.

  • The Oracle GoldenGate user requires read access to the INFORMATION_SCHEMA database.

  • The Oracle GoldenGate user requires the following user privileges.

    Table 1-1 Oracle GoldenGate database user privileges for MySQL

    Privilege Extract Replicat

    INSERT, UPDATE, DELETE on target tables

     

    X

    CREATE TABLE

     

    XFoot 1 

    EXECUTE

     

    XFoot 2 

    SELECT ANY TABLE

    or

    SELECT ON database.table

    X

    X


    Footnote 1 If using the checkpoint table feature (recommended)

    Footnote 2 To execute stored procedures

  • To capture binary log events, an Administrator must provide the following privileges to the Extract user:

    • Read and Execute permissions for the directory where the MySQL configuration file (my.cnf) is located

    • Read permission for the MySQL configuration file (my.cnf)

    • Read and Execute permissions for the directory where the binary logs are located

    • Read and Execute permission for the tmp directory

1.3.5 Supported MySQL data types

MySQL supports the following datatypes:

  • CHAR

  • VARCHAR

  • INT

  • TINYINT

  • SMALL INT

  • MEDIUM INT

  • BIG INT

  • DECIMAL

  • FLOAT

  • DOUBLE

  • DATE

  • TIME

  • YEAR

  • DATETIME

  • TIMESTAMP

  • BINARY

  • VARBINARY

  • TEXT

  • TINYTEXT

  • MEDIUMTEXT

  • LONGTEXT

  • BLOB

  • TINYBLOB

  • MEDIUMBLOB

  • LONGBLOB

  • ENUM

  • BIT(M)

1.3.5.1 Limitations and clarifications

When runing Oracle GoldenGate for MySQL, be aware of the following:

  • Oracle GoldenGate does not support BLOB or TEXT types when used as a primary key.

  • Oracle GoldenGate supports UTF8 and UCS2 character sets. UTF8 data is converted to UTF16 by Oracle GoldenGate before writing it to the trail.

  • UTF32 is not supported by Oracle GoldenGate.

  • Oracle GoldenGate supports a TIME type range from 00:00:00 to 23:59:59.

  • Oracle GoldenGate supports timestamp data from 0001/01/03:00:00:00 to 9999/12/31:23:59:59. If a timestamp is converted from GMT to local time, these limits also apply to the resulting timestamp. Depending on the timezone, conversion may add or subtract hours, which can cause the timestamp to exceed the lower or upper supported limit.

  • Oracle GoldenGate does not support negative dates.

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

  • To support a bit datatype, the bit column width must be a multiple of 8 (8, 16, 24, ...).

  • When you use ENUM type in non-strict sql_mode, the non-strict sql_mode does not prevent you from entering an invalid ENUM value and an error will be returned. To avoid this situation, do one of the following:

    • Use sql_mode as STRICT and restart Extract. This prevents users from entering invalid values for any of the data types. An IE user can only enter valid values for those data types.

    • Continue using non-strict sql_mode, but do not use ENUM data types.

    • Continue using non-strict sql_mode and use ENUM data types with valid values in the database. If you specify invalid values, the database will silently accept them and Extract will abend.

1.3.6 Non-supported MySQL data types

MySQL does not support the following datatypes:

  • GEOMETRY

  • SET

1.3.7 Supported objects and operations for MySQL

Oracle GoldenGate for MySQL supports to following objects and operations:

  • Oracle GoldenGate supports the extraction and replication of transactional tables.

  • Oracle GoldenGate supports transactional tables up to the full row size and maximum number of columns that are supported by MySQL and the database storage engine that is being used. InnoDB supports up to 1000 columns.

  • Oracle GoldenGate supports the AUTO_INCREMENT column attribute. The increment value is captured from the binary log by Extract and applied to the target table in a Replicat insert operation.

  • Oracle GoldenGate supports the following DML operations on source and target database transactional tables:

    • Start Transaction

    • Commit Transaction

    • Rollback Transaction (Note: MySQL does not send rolled-back transactions to the binary logs, but it does log the transaction rollback operation itself if the transaction included InnoDB.)

    • Insert operation

    • Update operation (compressed included)

    • Delete operation (compressed included)

    • Truncate operation

  • Oracle GoldenGate supports the following initial load methods from a source MySQL database to a MySQL or other target database:

    • Loading data with Replicat

    • Loading data with an Oracle GoldenGate direct load

  • Oracle GoldenGate can operate concurrently with MySQL native replication.

  • Oracle GoldenGate supports the DYNSQL feature for MySQL.

1.3.8 Non-supported objects and operations for MySQL

Oracle GoldenGate for MySQL does not support the following objects and operations:

  • Extraction or replication of DDL (data definition language) operations

  • The Oracle GoldenGate BATCHSQL feature

  • Array fetching during initial load.

Close Window

Table of Contents

Installing and Configuring Oracle GoldenGate for MySQL

Expand | Collapse