Table of Contents
- Title and Copyright Information
- Preface
-
1
Concepts
- Oracle GoldenGate
- Topologies for Oracle GoldenGate
- What is Oracle GoldenGate for Non-Oracle Databases?
- Oracle GoldenGate Product Family
- Getting Started with Oracle GoldenGate
- Oracle GoldenGate Processes and Key Terms
-
2
Install and Patch
- Obtaining the Oracle GoldenGate Distribution
- Verify Certification and System Requirements
- Operating System Requirements
- Prerequisites for Installing Oracle GoldenGate for DB2 z/OS
- Prerequisites for Installing Oracle GoldenGate for DB2 for i
- Prerequisites for Installing Oracle GoldenGate for DB2 LUW
- Prerequisites for Installing Oracle GoldenGate for MySQL
- Prerequisites for Installing Oracle GoldenGate for Oracle Database
- Prerequisites for Installing Oracle GoldenGate for PostgreSQL
- Prerequisites for Installing Oracle GoldenGate for SQL Server
- Prerequisites for Installing Oracle GoldenGate for Sybase
- Prerequisites for Oracle GoldenGate for Teradata
- Prerequisites for Installing Oracle GoldenGate for Oracle TimesTen
- Installing Oracle GoldenGate Classic Architecture
- Patching for Classic Architecture
- Uninstalling Oracle GoldenGate Classic Architecture for Oracle Database
- Uninstalling Oracle GoldenGate Classic Architecture for Non-Oracle Databases
-
3
Prepare
-
Prepare Your Database for Oracle
GoldenGate Classic Architecture
-
Db2 LUW
- Database User for Oracle GoldenGate Processes for DB2 LUW
- Database Configuration for DB2 LUW
- Preparing Tables for Processing
- Understanding What's Supported for DB2 LUW
-
Db2 for i
- Preparing the System for Oracle GoldenGate
- Configuring Database Connections
- Preparing Tables for Processing
-
Configuring Oracle GoldenGate for DB2 for i
- Creating a GLOBALS File
- Creating a Data Definitions File
- Encrypting the Extract and Replicat Passwords
- Configuring Extract for Change Capture from DB2 for i
- Configuring Replicat for Change Delivery to DB2 for i
- Next Steps in the Deployment
- When to Start Replicating Transactional Changes
- Testing Your Configuration
- Using Remote Journal
-
Understanding What's Supported for DB2 for
i
- Supported DB2 for i Data Types
- Non-Supported DB2 for i Data Types
- Supported Objects and Operations for DB2 for i
- Non-Supported Objects and Operations for DB2 for i
- Oracle GoldenGate Parameters Not Supported for DB2 for i
- Supported Object Naming Conventions
- System Schemas for DB2 for i
- Supported Character Sets
- Db2 z/OS
-
MySQL
- Supported Databases
- Database Storage Engine
- Database User for Oracle GoldenGate Processes for MySQL
- Database Configuration
- Prepare Database Connection
- Preparing Tables for Processing
- Understanding What's Supported for MySQL
-
Oracle
-
Preparing the Database for Oracle GoldenGate
- Database Requirements
- Configuring Connections for Extract and Replicat Processes
- Configuring Oracle GoldenGate in a Multitenant Container Database
- Configuring Logging Properties
- Enabling Oracle GoldenGate in the Database
- Setting Flashback Query
- Managing Server Resources
- Ensuring Row Uniqueness in Source and Target Tables
- Establishing Oracle GoldenGate Credentials
- Additional Oracle GoldenGate Configuration for Your Database
- Supported Oracle Data Types, Objects, and Operations for DDL and DML
-
Preparing the Database for Oracle GoldenGate
- PostgreSQL
-
SQL Server
- SQL Server Supported Versions
- Globalization Support
- Requirements for Installing Oracle GoldenGate for SQL Server
- Prepare Database Users and Privileges
- Database Connectivity
- Preparing Tables for Processing
- Preparing the Database for Oracle GoldenGate — CDC Capture
- Requirements Summary for Capture and Delivery of Databases in an Always On Availability Group
- CDC Capture Method Operational Considerations
- Understanding What's Supported for SQL Server
-
Sybase
- Preparing the System for Oracle GoldenGate
- Understanding What's Supported for Sybase
-
Teradata
- Supported Platforms for a Replication Server
- Preparing the System for Oracle GoldenGate
- Configuring Oracle GoldenGate
- Common Maintenance Tasks
-
Understanding What's Supported for Teradata
-
Supported Teradata Data Types
- Limitations of Support for Numeric Data Types
- Limitations of Support for Single-byte Character Data Types
- Conditions and Limitations of Support for Multi-byte Character Data
- Limitations of Support for Binary Data Types
- Limitations of Support for Large Object Data Types
- Limitations of Support for Date Data Types
- Limitations of Support for IDENTITY Data Types
- Supported Objects and Operations for Teradata
- Non-Supported Operations for Teradata
-
Supported Teradata Data Types
-
TimesTen
- Database Requirements
- Preparing the System for Oracle GoldenGate
- Understanding What's Supported for Oracle TimesTen
- System Requirements and Preinstallation Instructions
-
Db2 LUW
-
Prepare Oracle GoldenGate Classic
Architecture for Data Replication
- Oracle GoldenGate Security Privileges
- Initializing the Transaction Logs
- Details of Support for Data Types, Objects and Operations for Classic Extract
- Creating a Checkpoint Table
- Specifying the DB2 LUW Database in Parameter Files
-
Prepare Your Database for Oracle
GoldenGate Classic Architecture
- 4 Manage
-
5
Extract
- About Extract
- Deciding Which Extract Method to Use
- Switching to a Different Process Mode
- Configuring Extract
- Configuring the Data Pump Extract
-
Configuring a Downstream Mining Database
- Evaluating Capture Options for a Downstream Deployment
- Preparing the Source Database for Downstream Deployment
- Preparing the Downstream Mining Database
-
Example Downstream Mining Configuration
- Example 1: Capturing from One Source Database in Real-time Mode
-
Example 2: Capturing from Multiple Sources in Archive-log-only Mode
- Prepare the Mining Database to Archive its Local Redo
- Prepare the Mining Database to Archive Redo from the Source Database
- Prepare the First Source Database to Send Redo to the Mining Database
- Prepare the Second Source Database to Send Redo to the Mining Database
- Set up Extracts at Downstream Mining Database
-
Example 3: Capturing from Multiple Sources with Mixed Real-time and Archive-log-only Mode
- Prepare the Mining Database to Archive its Local Redo
- Prepare the Mining Database to Accept Redo from the Source Databases
- Prepare the First Source Database to Send Redo to the Mining Database
- Prepare the Second Source Database to Send Redo to the Mining Database
- Prepare the Third Source Database to Send Redo to the Mining Database
- Set up Extracts at Downstream Mining Database
- Positioning Extract to a Specific Start Point for MySQL
- Additional Parameter Options for Extract
-
Additional Configuration Steps for Using Classic Capture
-
Configuring Oracle TDE Data in Classic Capture Mode
- Overview of TDE Support in Classic Capture Mode
- Requirements for Capturing TDE in Classic Capture Mode
- Configuring Classic Capture for TDE Support
- Recommendations for Maintaining Data Security after Decryption
- Performing DDL while TDE Capture is Active
- Rekeying after a Database Upgrade
- Updating the Oracle Shared Secret in the Parameter File
- Using Classic Capture in an Oracle RAC Environment
- Mining ASM-stored Logs in Classic Capture Mode
- Ensuring Data Availability for Classic Capture
- Configuring Classic Capture in Archived Log Only Mode
- Configuring Classic Capture in Oracle Active Data Guard Only Mode
- Avoiding Log-read Bottlenecks in Classic Capture
-
Configuring Oracle TDE Data in Classic Capture Mode
-
6
Replicat
- About Replicat
- Deciding Which Replicat Method to Use
- Using Different Replicat Modes
- Add the Replicat Group
- Creating a Parallel Replicat
- Configuring Oracle GoldenGate Replicat
- Understanding Replicat Processing in Relation to Parameter Changes
- Controlling Extract and Replicat
- Deleting Extract and Replicat
- About the Global Watermark
-
7
Instantiate
- Instantiating Oracle GoldenGate Using Initial Load
- Precise Instantiation for MySQL to MySQL Replication Using the Dump Utility
- Backing up the Oracle GoldenGate Environment
- Monitoring and Controlling Processing After the Instantiation
- Verifying Synchronization
-
8
Administer
-
Data Management
- Details of Support for Data Types, Objects and Operations for Classic Extract
- Creating a Data Definitions File
- Using DDL Replication
-
Oracle: DDL Replication
-
Managing the DDL Replication Environment
- Disabling DDL Processing Temporarily
- Enabling and Disabling the DDL Trigger
- Maintaining the DDL Marker Table
- Deleting the DDL Marker Table
- Maintaining the DDL History Table
- Deleting the DDL History Table
- Purging the DDL Trace File
- Applying Database Patches and Upgrades when DDL Support is Enabled
- Apply Oracle GoldenGate Patches and Upgrades when DDL support is Enabled
- Restoring an Existing DDL Environment to a Clean State
- Removing the DDL Objects from the System
-
Configuring DDL Support
- Prerequisites for Configuring DDL
- Configuration Guidelines for DDL Support
- Overview of DDL Synchronization
- Limitations of Oracle GoldenGate DDL Support
- Understanding DDL Scopes
- Correctly Identifying Unqualified Object Names in DDL
- Enabling DDL Support
- Filtering DDL Replication
- Special Filter Cases
- How Oracle GoldenGate Handles Derived Object Names
- Using DDL String Substitution
- Controlling the Propagation of DDL to Support Different Topologies
- Adding Supplemental Log Groups Automatically
- Removing Comments from Replicated DDL
- Replicating an IDENTIFIED BY Password
- How DDL is Evaluated for Processing
- Viewing DDL Report Information
- Tracing DDL Processing
- Using Tools that Support Trigger-Based DDL Capture
- Installing Trigger-Based DDL Capture
-
Managing the DDL Replication Environment
- Configure DDL Modification for Oracle GoldenGate for Sybase
-
Using Procedural Replication
- About Procedural Replication
- Procedural Replication Process Overview
- Enabling Procedural Replication
- Determining Whether Procedural Replication Is On
- Enabling and Disabling Supplemental Logging
- Filtering Features for Procedural Replication
- Handling Procedural Replication Errors
- Procedural Replication Pragma Options
- Listing the Procedures Supported for Oracle GoldenGate Procedural Replication
- Monitoring Oracle GoldenGate Procedural Replication
-
Mapping and Manipulating Data
- Guidelines for Using Self-describing Trails
- Parameters that Control Mapping and Data Integration
- Mapping between Dissimilar Databases
- Deciding Where Data Mapping and Conversion Will Take Place
- Globalization Considerations when Mapping Data
- Mapping Columns Using TABLE and MAP
- Selecting and Filtering Rows
- Retrieving Before and After Values
- Selecting Columns
- Using Transaction History
- Testing and Transforming Data
- Using Tokens
-
Error Management
- Automatic Conflict Detection and Resolution
- Handling Processing Errors
- Trail File Management
- Encrypting the Extract and Replicat Passwords
- Using Command Line Interfaces
-
Getting Started with the Oracle GoldenGate Process Interfaces
- Automating Commands
-
Specifying Object Names in Oracle GoldenGate Input
- Specifying Filesystem Path Names in Parameter Files on Windows Systems
- Supported Database Object Names
- Specifying Names that Contain Slashes
- Qualifying Database Object Names
- Specifying Case-Sensitive Database Object Names
- Using Wildcards in Database Object Names
- Differentiating Case-Sensitive Column Names from Literals
-
Performing Administrative Operations
- Shutting Down the System
-
Changing Database Attributes
- Changing Database Metadata
- Adding Tables to the Oracle GoldenGate Configuration
- Coordinating Table Attributes between Source and Target
- Performing an ALTER TABLE to Add a Column on DB2 z/OS Tables
- Dropping and Recreating a Source Table
- Changing the Number of Oracle RAC Threads when Using Classic Capture
- Changing the ORACLE_SID
- Purging Archive Logs
- Reorganizing a DB2 Table (z/OS Platform)
- Adding Process Groups to an Active Configuration
- Changing the Size of Trail Files
- Switching from Classic Extract
- Switching Extract from Integrated Mode to Classic Mode
- Switching Replicat from Non-Integrated Mode to Integrated Mode
- Switching Replicat from Integrated Mode to Non-Integrated Mode
- Switching Replicat to Coordinated Mode
- Administering a Coordinated Replicat Configuration
- Synchronizing Threads After an Unclean Stop
- Restarting a Primary Extract after System Failure or Corruption
- Using Automatic Trail File Recovery
-
Customizing Oracle GoldenGate Processing
- Executing Commands, Stored Procedures, and Queries with SQLEXEC
- Using Oracle GoldenGate Macros to Simplify and Automate Work
-
Using User Exits to Extend Oracle GoldenGate Capabilities
- When to Implement User Exits
- Making Oracle GoldenGate Record Information Available to the Routine
- Creating User Exits
- Supporting Character-set Conversion in User Exits
- Using Macros to Check Name Metadata
- Describing the Character Format
- Upgrading User Exits
- Viewing Examples of How to Use the User Exit Functions
-
Using the Oracle GoldenGate Event Marker System to Raise Database Events
-
Case Studies in the Usage of the Event Marker System
- Trigger End-of-day Processing
- Simplify Transition from Initial Load to Change Synchronization
- Stop Processing When Data Anomalies are Encountered
- Trace a Specific Order Number
- Execute a Batch Process
- Propagate Only a SQL Statement without the Resultant Operations
- Committing Other Transactions Before Starting a Long-running Transaction
- Execute a Shell Script to Validate Data
-
Case Studies in the Usage of the Event Marker System
- Oracle GoldenGate Globalization Support
-
Using Oracle GoldenGate Parameter Files
- Globalization Support for Parameter Files
- Working with the GLOBALS File
- Working with Runtime Parameters
- Creating a Parameter File
- Validating a Parameter File
- Viewing a Parameter File
- Changing a Parameter File
- Simplifying the Creation of Parameter Files
- Getting Information about Oracle GoldenGate Parameters
- Configure Bi-Directional Replication
- Other Oracle GoldenGate Parameters for MySQL
-
Data Management
-
9
Performance
-
Monitoring Oracle GoldenGate Processing
- Using the Information Commands
- Monitoring an Extract Recovery
- Monitoring Lag
- Using Automatic Heartbeat Tables to Monitor
- Monitoring Processing Volume
- Using the Error Log
- Using the Process Report
- Using the Discard File
- Maintaining the Discard and Report Files
- Reconciling Time Differences
- Getting Help with Performance Tuning
-
Tuning the Performance of Oracle GoldenGate
- Using Multiple Process Groups
- Splitting Large Tables Into Row Ranges Across Process Groups
- Configuring Oracle GoldenGate to Use the Network Efficiently
- Eliminating Disk I/O Bottlenecks
- Managing Virtual Memory and Paging
- Optimizing Data Filtering and Conversion
- Tuning Replicat Transactions
- Using Healthcheck Scripts to Monitor and Troubleshoot
-
Monitoring Oracle GoldenGate Processing
-
10
Oracle GoldenGate Business Solutions
- Configuring Online Change Synchronization
- Using Oracle GoldenGate for Live Reporting
- Using Oracle GoldenGate for Real-time Data Distribution
- Configuring Oracle GoldenGate for Real-time Data Warehousing
- Configuring Oracle GoldenGate to Maintain a Live Standby Database
-
Configuring Oracle GoldenGate for
Active-Active Configuration
- Overview of an Active-Active Configuration
- Considerations for an Active-Active Configuration
- Preventing Data Looping
- Managing Conflicts
- Additional Information
- Creating an Active-Active Configuration
-
Manual Conflict Detection and
Resolution
- Overview of the Oracle GoldenGate CDR Feature
- Configuring the Oracle GoldenGate Parameter Files for Error Handling
- Configuring the Oracle GoldenGate Parameter Files for Conflict Resolution
- Making the Required Column Values Available to Extract
- Configuring Oracle GoldenGate CDR
-
CDR Example 1: All Conflict Types with USEMAX, OVERWRITE, DISCARD
- Table Used in this Example
- MAP Statement with Conflict Resolution Specifications
- Description of MAP Statement
- Error Handling
- INSERTROWEXISTS with the USEMAX Resolution
- UPDATEROWEXISTS with the USEMAX Resolution
- UPDATEROWMISSING with OVERWRITE Resolution
- DELETEROWMISSING with DISCARD Resolution
- DELETEROWEXISTS with OVERWRITE Resolution
- CDR Example 2: UPDATEROWEXISTS with USEDELTA and USEMAX
- CDR Example 3: UPDATEROWEXISTS with USEDELTA, USEMAX, and IGNORE
-
11
Autonomous Database
- Using Oracle GoldenGate with Autonomous Database
-
12
Upgrade
-
Upgrading Oracle GoldenGate Classic
Architecture
- Overview of the Upgrade Procedure
- Prerequisites
- Obtaining the Oracle GoldenGate Distribution
- Upgrading Oracle GoldenGate Classic Architecture for Oracle Database
- Upgrading Oracle GoldenGate from OUI
- Upgrading Oracle GoldenGate using OUI – Silent
- Upgrading a Configuration That Includes DDL Support
- Upgrading Configuration that includes Berkeley Database - Oracle GoldenGate 12.2 or later
- Upgrading Oracle GoldenGate for Non-Oracle Databases
- Performing Application Patches
-
Upgrading Oracle GoldenGate Classic
Architecture
-
13
Appendix
- Supported Character Sets
- Supported Locales
- About the Oracle GoldenGate Trail
- About Checkpoints
- Supporting Changes to XML Schemas
- Preparing DBFS for an Active-Active Configuration