Table of Contents
- Title and Copyright Information
- Preface
- 1 Oracle GoldenGate Administration Overview
- 2 Using Oracle GoldenGate for Live Reporting
- 3 Using Oracle GoldenGate for Real-time Data Distribution
- 4 Configuring Oracle GoldenGate for Real-time Data Warehousing
- 5 Configuring Oracle GoldenGate to Maintain a Live Standby Database
-
6
Configuring Oracle GoldenGate for
Active-Active Configuration
- 6.1 Overview of an Active-Active Configuration
- 6.2 Considerations for an Active-Active Configuration
- 6.3 Preventing Data Looping
- 6.4 Managing Conflicts
- 6.5 Additional Information
- 6.6 Creating an Active-Active Configuration
-
6.7
Configuring Conflict Detection and Resolution
- 6.7.1 Overview of the Oracle GoldenGate CDR Feature
- 6.7.2 Configuring the Oracle GoldenGate Parameter Files for Error Handling
- 6.7.3 Configuring the Oracle GoldenGate Parameter Files for Conflict Resolution
- 6.7.4 Making the Required Column Values Available to Extract
- 6.7.5 Configuring Oracle GoldenGate CDR
-
6.7.6
CDR Example 1: All Conflict Types with USEMAX, OVERWRITE, DISCARD
- 6.7.6.1 Table Used in this Example
- 6.7.6.2 MAP Statement with Conflict Resolution Specifications
- 6.7.6.3 Description of MAP Statement
- 6.7.6.4 Error Handling
- 6.7.6.5 INSERTROWEXISTS with the USEMAX Resolution
- 6.7.6.6 UPDATEROWEXISTS with the USEMAX Resolution
- 6.7.6.7 UPDATEROWMISSING with OVERWRITE Resolution
- 6.7.6.8 DELETEROWMISSING with DISCARD Resolution
- 6.7.6.9 DELETEROWEXISTS with OVERWRITE Resolution
- 6.7.7 CDR Example 2: UPDATEROWEXISTS with USEDELTA and USEMAX
- 6.7.8 CDR Example 3: UPDATEROWEXISTS with USEDELTA, USEMAX, and IGNORE
-
7
Mapping and Manipulating Data
- 7.1 Guidelines for Using Self-describing Trails
- 7.2 Parameters that Control Mapping and Data Integration
- 7.3 Mapping between Dissimilar Databases
- 7.4 Deciding Where Data Mapping and Conversion Will Take Place
- 7.5 Globalization Considerations when Mapping Data
- 7.6 Mapping Columns Using TABLE and MAP
- 7.7 Selecting and Filtering Rows
- 7.8 Retrieving Before and After Values
- 7.9 Selecting Columns
- 7.10 Selecting and Converting SQL Operations
- 7.11 Using Transaction History
- 7.12 Testing and Transforming Data
- 7.13 Using Tokens
-
8
Getting Started with the Oracle GoldenGate Process Interfaces
- 8.1 Using Command Line Interfaces
- 8.2 Controlling Oracle GoldenGate Processes
- 8.3 Automating Commands
-
8.4
Specifying Object Names in Oracle GoldenGate Input
- 8.4.1 Specifying Filesystem Path Names in Parameter Files on Windows Systems
- 8.4.2 Supported Database Object Names
- 8.4.3 Specifying Names that Contain Slashes
- 8.4.4 Qualifying Database Object Names
- 8.4.5 Specifying Case-Sensitive Database Object Names
-
8.4.6
Using Wildcards in Database Object Names
- 8.4.6.1 Rules for Using Wildcards for Source Objects
- 8.4.6.2 Rules for Using Wildcards for Target Objects
- 8.4.6.3 Fallback Name Mapping
- 8.4.6.4 Wildcard Mapping from Pre-11.2.1 Trail Version
- 8.4.6.5 Asterisks or Question Marks as Literals in Object Names
- 8.4.6.6 How Wildcards are Resolved
- 8.4.6.7 Excluding Objects from a Wildcard Specification
- 8.4.7 Differentiating Case-Sensitive Column Names from Literals
-
9
Using Oracle GoldenGate Parameter Files
- 9.1 Globalization Support for Parameter Files
- 9.2 Working with the GLOBALS File
- 9.3 Working with Runtime Parameters
- 9.4 Creating a Parameter File
- 9.5 Validating a Parameter File
- 9.6 Viewing a Parameter File
- 9.7 Changing a Parameter File
- 9.8 Simplifying the Creation of Parameter Files
- 9.9 Getting Information about Oracle GoldenGate Parameters
-
10
Instantiating Oracle GoldenGate with an
Initial Load (Classic Architecture)
- 10.1 Overview of the Initial-Load Procedure
- 10.2 Initial Load in Classic Architecture
-
11
Associating Replicated Data with Metadata
- 11.1 Understanding Metadata Combinations
-
11.2
Understanding Data Definition Files
- 11.2.1 Contents of the Definitions File
- 11.2.2 Which Definitions File Type to Use, and Where
- 11.2.3 Understanding the Effect of Character Sets on Definitions Files
- 11.2.4 Using a Definitions Template
- 11.2.5 Configuring Oracle GoldenGate to Capture Data-definitions
- 11.2.6 Adding Tables that Satisfy a Definitions Template
- 11.2.7 Examples of Using a Definitions File
- 11.3 Using Automatic Trail File Recovery
- 11.4 Configuring Oracle GoldenGate to Use Self-Describing Trail Files
- 11.5 Configuring Oracle GoldenGate to Assume Identical Metadata
- 11.6 Configuring Oracle GoldenGate to Assume Dissimilar Metadata
- 11.7 Configuring Oracle GoldenGate to Use a Combination of Similar and Dissimilar Definitions
-
12
Configuring Online Change Synchronization
- 12.1 Overview of Online Change Synchronization
- 12.2 Choosing Names for Processes and Files
- 12.3 Creating a Checkpoint Table
- 12.4 Creating an Online Extract Group
- 12.5 Creating a Trail
- 12.6 Creating a Parameter File for Online Extraction
- 12.7 Creating an Online Replicat Group
- 12.8 Creating a Parameter File for Online Replication
- 13 Handling Processing Errors
-
14
Customizing Oracle GoldenGate Processing
- 14.1 Executing Commands, Stored Procedures, and Queries with SQLEXEC
- 14.2 Using Oracle GoldenGate Macros to Simplify and Automate Work
-
14.3
Using User Exits to Extend Oracle GoldenGate Capabilities
- 14.3.1 When to Implement User Exits
- 14.3.2 Making Oracle GoldenGate Record Information Available to the Routine
- 14.3.3 Creating User Exits
- 14.3.4 Supporting Character-set Conversion in User Exits
- 14.3.5 Using Macros to Check Name Metadata
- 14.3.6 Describing the Character Format
- 14.3.7 Upgrading User Exits
- 14.3.8 Viewing Examples of How to Use the User Exit Functions
-
14.4
Using the Oracle GoldenGate Event Marker System to Raise Database Events
-
14.4.1
Case Studies in the Usage of the Event Marker System
- 14.4.1.1 Trigger End-of-day Processing
- 14.4.1.2 Simplify Transition from Initial Load to Change Synchronization
- 14.4.1.3 Stop Processing When Data Anomalies are Encountered
- 14.4.1.4 Trace a Specific Order Number
- 14.4.1.5 Execute a Batch Process
- 14.4.1.6 Propagate Only a SQL Statement without the Resultant Operations
- 14.4.1.7 Committing Other Transactions Before Starting a Long-running Transaction
- 14.4.1.8 Execute a Shell Script to Validate Data
-
14.4.1
Case Studies in the Usage of the Event Marker System
-
15
Monitoring Oracle GoldenGate Processing
- 15.1 Using the Information Commands
- 15.2 Monitoring an Extract Recovery
- 15.3 Monitoring Lag
- 15.4 Using Automatic Heartbeat Tables to Monitor
- 15.5 Monitoring Processing Volume
- 15.6 Using the Error Log
- 15.7 Using the Process Report
- 15.8 Using the Discard File
- 15.9 Maintaining the Discard and Report Files
- 15.10 Reconciling Time Differences
- 15.11 Getting Help with Performance Tuning
-
16
Tuning the Performance of Oracle GoldenGate
- 16.1 Using Multiple Process Groups
- 16.2 Splitting Large Tables Into Row Ranges Across Process Groups
- 16.3 Configuring Oracle GoldenGate to Use the Network Efficiently
- 16.4 Eliminating Disk I/O Bottlenecks
- 16.5 Managing Virtual Memory and Paging
- 16.6 Optimizing Data Filtering and Conversion
-
16.7
Tuning Replicat Transactions
- 16.7.1 Tuning Coordination Performance Against Barrier Transactions
- 16.7.2 Applying Similar SQL Statements in Arrays
- 16.7.3 Preventing Full Table Scans in the Absence of Keys
- 16.7.4 Splitting Large Transactions
- 16.7.5 Adjusting Open Cursors
- 16.7.6 Improving Update Speed
- 16.7.7 Set a Replicat Transaction Timeout
- 16.8 Using Healthcheck Scripts to Monitor and Troubleshoot
-
17
Performing Administrative Operations
- 17.1 Performing Application Patches
- 17.2 Initializing the Transaction Logs
- 17.3 Shutting Down the System
-
17.4
Changing Database Attributes
- 17.4.1 Changing Database Metadata
- 17.4.2 Adding Tables to the Oracle GoldenGate Configuration
- 17.4.3 Coordinating Table Attributes between Source and Target
- 17.4.4 Performing an ALTER TABLE to Add a Column on DB2 z/OS Tables
- 17.4.5 Dropping and Recreating a Source Table
- 17.4.6 Changing the Number of Oracle RAC Threads when Using Classic Capture
- 17.4.7 Changing the ORACLE_SID
- 17.4.8 Purging Archive Logs
- 17.4.9 Reorganizing a DB2 Table (z/OS Platform)
- 17.5 Adding Process Groups to an Active Configuration
- 17.6 Changing the Size of Trail Files
- 17.7 Switching from Classic Extract
- 17.8 Switching Replicat from Non-Integrated Mode to Integrated Mode
- 17.9 Switching Replicat from Integrated Mode to Non-Integrated Mode
- 17.10 Switching Replicat to Coordinated Mode
- 17.11 Administering a Coordinated Replicat Configuration
- 17.12 Synchronizing Threads After an Unclean Stop
- 17.13 Restarting a Primary Extract after System Failure or Corruption
- 17.14 Using Automatic Trail File Recovery
-
Part I Securing Oracle GoldenGate
- 18 Overview of Security Options
- 19 Managing Encryption Using a Key Management Service in Oracle GoldenGate
- 20 Configuring Kerberos Authentication
- 21 Managing Identities in a Credential Store
- 22 Encrypting Data with the Master Key and Wallet Method
- A Connecting Microservices Architecture to Classic Architecture
- B Connecting Oracle GoldenGate Classic Architecture to Microservices Architecture
- C Supported Character Sets
- D Encrypting a Password in a Command or Parameter File
- E Encrypting Data with the ENCKEYS Method
- F Oracle GoldenGate Globalization Support
- G Supported Locales
- H About the Oracle GoldenGate Trail
- I Using the Commit Sequence Number
- J About Checkpoints