This chapter contains steps to configure the Oracle TimesTen database properly to support Oracle GoldenGate.
This chapter contains the following sections:
Follow these directions to configure ODBC (Open Database Connectivity), which Replicat will use to connect to the target database. Establish a system data source name (DSN) on each Windows system where Oracle GoldenGate will interface with an Oracle TimesTen database. A DSN stores information about how to connect to the target database.
Install the Oracle TimesTen Client driver on the target Windows system. (Note: The TimesTen Data Manager production ODBC driver is installed by default on Windows systems.)
On the Windows system, open the Control Panel folder.
Open the Administrative Tools folder.
Open Data Sources (ODBC). The ODBC Data Source Administrator dialog box is displayed.
Select the System DSN tab, and then click Add.
Under Create New Data Source, select the TimesTen Client Driver.
Click Finish. The Create a New Data Source wizard is displayed.
Supply the following:
For Client DSN, type a name for the DSN of the client name, up to 32 alpha-numeric characters, excluding special keyboard characters except for the underscore and dash.
(Optional) For Description, type a description of this DSN.
For the rest of the fields in this dialog, supply the correct information for the Oracle TimesTen Server and its host. For detailed instructions, or if you have any problems, see the Oracle TimesTen documentation.
Click OK to close the dialog.
Repeat these steps on the other systems where Oracle GoldenGate will interact with Oracle TimesTen.
This section describes the table attributes you must address in an Oracle GoldenGate environment.
Section 3.2.1, "Disabling Triggers and Cascade Constraints"
Section 3.2.2, "Assigning Row Identifiers"
Disable triggers, cascade delete constraints, and cascade update constraints on the target tables, or alter them to ignore changes made by the Oracle GoldenGate database user. Oracle GoldenGate replicates DML that results from a trigger or cascade constraint. If the same trigger or constraint gets activated on the target table, it becomes redundant because of the replicated version, and the database returns an error. Consider the following example, where the source tables are emp_src
and salary_src
and the target tables are emp_targ
and salary_targ
.
A delete is issued for emp_src
.
It cascades a delete to salary_src
.
Oracle GoldenGate sends both deletes to the target.
The parent delete arrives first and is applied to emp_targ
.
The parent delete cascades a delete to salary_targ
.
The cascaded delete from salary_src
is applied to salary_targ
.
The row cannot be located because it was already deleted in step 5.
Oracle GoldenGate requires some form of unique row identifier on the source and target tables to locate the correct target rows for replicated updates and deletes.
Unless a KEYCOLS
clause is used in the TABLE
or MAP
statement, Oracle GoldenGate selects a row identifier to use in the following order of priority:
Primary key
First unique key alphanumerically that does not contain a timestamp or non-materialized computed column.
Note:
If there are other, non-usable keys on a table or if there are no keys at all on the table, Oracle GoldenGate logs an appropriate message to the report file. Constructing a key from all of the columns impedes the performance of Oracle GoldenGate on the source system. On the target, this key causes Replicat to use a larger, less efficientWHERE
clause.If none of the preceding key types exist (even though there might be other types of keys defined on the table) Oracle GoldenGate constructs a pseudo key of all columns that the database allows to be used in a unique key, excluding those that are not supported by Oracle GoldenGate in a key or those that are excluded from the Oracle GoldenGate configuration.
KEYCOLS
to Specify a Custom KeyIf a table does not have one of the preceding types of row identifiers, or if you prefer those identifiers not to be used, you can define a substitute key if the table has columns that always contain unique values. You define this substitute key by including a KEYCOLS
clause within the Replicat MAP
parameter. The specified key will override any existing primary or unique key that Oracle GoldenGate finds. For more information, see Reference for Oracle GoldenGate for Windows and UNIX.
Because of its flexibility, Oracle GoldenGate offers numerous features and options that must be considered before you start any processes. To further configure Oracle GoldenGate to suit your business needs, see the following:
For additional configuration guidelines to achieve specific replication topologies, see Administering Oracle GoldenGate for Windows and UNIX. This guide also contains information about:
Oracle GoldenGate architecture
Oracle GoldenGate commands
Oracle GoldenGate initial load methods
Configuring security
Using customization features
Mapping columns that contain dissimilar data
Data filtering and manipulation
For syntax options and descriptions of Oracle GoldenGate GGSCI commands and Oracle GoldenGate parameters shown in this guide, see Reference for Oracle GoldenGate for Windows and UNIX.