This chapter includes the following sections:
This section provides an overview of the Oracle GoldenGate Application Adapters.
Oracle GoldenGate Application Adapters integrate with core Oracle GoldenGate instances.
The core Oracle GoldenGate product:
Captures transactional changes from a source database
Sends and queues these changes as a set of database-independent files called the Oracle GoldenGate trail
Optionally alters the source data using mapping parameters and functions
Applies the transactions in the trail to a target system database
Oracle GoldenGate performs this capture and apply in near real-time across heterogeneous databases, platforms, and operating systems.
The Oracle GoldenGate Application Adapters integrate with installations of the Oracle GoldenGate core product to do one of the following:
Read JMS messages and deliver them as an Oracle GoldenGate trail
Read an Oracle GoldenGate trail and deliver transactions to a JMS provider or other messaging system or custom application
Read an Oracle GoldenGate trail and write transactions to a file that can be used by other applications
Oracle GoldenGate message capture can be used to read messages from a queue and communicate with an Oracle GoldenGate Extract process to generate a trail containing the processed data.
The message capture processing is implemented as a Vendor Access Module (VAM) plug-in to a generic Extract process. A set of properties, rules and external files provide messaging connectivity information and define how messages are parsed and mapped to records in the target GoldenGate trail.
Currently this adapter supports capture from JMS text messages.
Oracle GoldenGate delivery can be used to apply transactional changes to targets other than a relational database: for example, ETL tools (DataStage, Ab Initio, Informatica), JMS messaging, or custom APIs. There are a variety of options for integration with Oracle GoldenGate:
Flat file integration: predominantly for ETL, proprietary or legacy applications, Oracle GoldenGate file writer can write micro batches to disk to be consumed by tools that expect batch file input. The data is formatted to the specifications of the target application such as delimiter separated values, length delimited values, or binary. Near real-time feeds to these systems are accomplished by decreasing the time window for batch file rollover to minutes or even seconds.
Messaging: transactions or operations can be published as messages (e.g. in XML) to JMS. The JMS provider is configurable; examples include ActiveMQ, JBoss Messaging, TIBCO, WebLogic JMS, WebSphere MQ and others.
Java API: custom event handlers can be written in Java to process the transaction, operation and metadata changes captured by Oracle GoldenGate on the source system. These custom Java handlers can apply these changes to a third-party Java API exposed by the target system.
All three options have been implemented as extensions to the core Oracle GoldenGate product using Oracle GoldenGate's user exit interface, a C API.
For the flat file integration, Oracle GoldenGate File Writer provides a user exit library that is dynamically linked into the Oracle GoldenGate Extract process. Configuration is done using a properties file, and no programming is required.
The Oracle GoldenGate Application Adapters are configured and controlled through predefined properties.
All properties in Oracle GoldenGate Application Adapter property files are of the form:
The value may be single or comma-delimited strings, an integer, or a boolean value.
Sample Oracle GoldenGate Application Adapter property files are installed to the
AdapterExamples subdirectory of the installation directory. These files should be changed as needed and then moved to the
You must specify each of these property files through parameters or environmental variables as explained below. These settings allow you to change the name or location, but it is recommended that you do not change them unless there is an unavoidable requirement.
The following sample files are included:
This stores the properties for the file writer. It is set with the
CUSEREXIT Extract parameter.
This stores properties for the JMS message capture VAM. This is set with the Extract
This stores properties for the combined user exit and Java application used for message delivery. It is set through the environmental variable:
SETENV (GGS_USEREXIT_CONF = "dirprm/javaue.properties")
Optionally, the java application properties and native user exit library properties can be in separate files. To do this set
GGS_USEREXIT_CONF to the user exit property file and
GGS_JAVAUSEREXIT_CONF to the Java application properties fie.
Comments can be entered in the properties file with the
# prefix at the beginning of the line. For example:
# This is a property comment some.property=value
Properties themselves can also be commented. This allows testing configurations without losing previous property settings.
Some properties have a variable in the property name. This allows identification of properties that are to be applied only in certain instances.
For example, you can declare more than one file writer using
goldengate.flatfilewriter.writers property and then use the name of the file writer to set the properties differently:
writer.mode=dsv writer.files.onepertable=true writer2.mode=ldv writer2.files.onpertable=false
For information on installing and configuring the core Oracle GoldenGate software for use with the Oracle GoldenGate File Writer or Java adapters, see the Oracle GoldenGate documentation:
Installation and Setup guides: There is one such guide for each database that is supported by Oracle GoldenGate for Mainframe. It contains system requirements, pre-installation and post-installation procedures, installation instructions, and other system-specific information for installing the Oracle GoldenGate for Mainframe replication solution.