Oracle GoldenGate - Limitations and Restrictions

This page describes which Oracle data types are supported by Oracle GoldenGate. It is intended to help determine whether classic or integrated capture is the more appropriate mode to replicate a specific database. The decision will largely be determined support limitations and restrictions for the tables that need to be replicated.

Classic capture will probably be suitable for most databases. Integrated capture is appropriate for databases with tables containing columns of advanced data types such as LOBs and XMLType.

This page attempts to summarize the Oracle GoldenGate Oracle Installation and Setup Guide Release 11.2.1 (E35957-01). For complete and current details please refer to this document.

At the time of writing the current Oracle GoldenGate version was 11.2.1.0.1

Introduction

Oracle GoldenGate supports two types of capture:

Classic capture is a recent name for the original GoldenGate capture mechanism which reads data directly from the online redo logs and/or archived redo logs where possible. Additional data may be fetched from the database file where necessary.

Integrated capture was introduced in Oracle GoldenGate 11.2.1. It was initially available for Oracle 11.2.0.3 with the 11.2.0.3 Database specific bundle patch for Integrated Extract 11.2.x (MOS Note 1411356.1)

Integrated capture uses a log mining server on the source system or in a downstream Oracle database, similar to a Data Guard logical standby or Oracle Streams.

Where possible, data is captured from the redo log. However, for some data types the redo data is incomplete and it is necessary to fetch additional data from the database. Where additional data is fetched as part of a separate transaction, there is a possibility of inconsistency

Data Type Support

Scalar Data Types

The following scalar data types are supported for both classic and integrated capture:

Scalar columns are captured from the redo by both classic capture and integrated capture.

Date and Timestamp

DATE and TIMESTAMP columns are fully supported.

There is limited support for:

Large Object Types (LOBs)

The following large object types are supported in both classic and integrated capture modes:

BASICFILE and SECUREFILE LOBs are both supported

For both classic and integrated capture modes:

For classic capture mode only BASICFILE LOBs are fetched from the database when:

For classic capture mode only SECUREFILE LOBs are captured from redo logs only when:

For classic capture mode only SECUREFILE LOBs are fetched from the database when:

XML Types

The following XML types are supported in both classic and integrated capture mode:

In addition XMLType tables stored as XML Object Relational are supported for integrated capture mode only.

In both classic and integrated capture modes:

In integrated capture mode the following additional limitations apply:

In classic capture mode the following additional limitations apply:

User Defined Types

User-defined types are supported in both classic and integrated capture modes:

Collection Types

VARRAYs and nested tables are supported in both classic and integrated capture modes:

Object Tables

Object tables are supported in both classic and integrated capture modes:

Spatial Types

The following spatial types are supported in both classic and integrated capture modes:

Additional configuration is required

Other Data Types

The following data types are not supported:

DML Support

DML is supported to:

The following operations are supported:

The following are not supported in either classic or integrated capture mode:

The following are not supported in classic capture mode:

Single Column Tables

One column tables are supported except where the column is one of the following data types:

Unused Columns

Support of tables with unused columns are supported

Partitioning

The following types of partitioning are supported in both classic and integrated capture modes:

Virtual Columns

Tables with virtual columns are supported. Data is not captured from or applied to virtual columns

Changes to virtual columns are not logged in the online redo log and therefore cannot be extracted by GoldenGate.

Initial load data cannot be applied to a virtual column.

Virtual source columns can be mapped to non-virtual target columns

Virtual columns in unique keys and indexes are ignored

If a virtual column is the only unique identifier for a table, the remaining columns will be used for row identification. This can lead to table corruption if the remaining columns do not ensure uniqueness.

Transparent Data Encryption

TDE is supported in both classic and integrated capture modes

For integrated capture, source database must be 11.1 or above with COMPATIBLE parameter set to 11.0.0.0.0 or above.

For classic capture, TDE requires some additional configuration.

TRUNCATE Statements

TRUNCATE statements are supported in both classic and integrated capture modes as either:

Distributed Transactions

The following are not supported in classic capture mode:

In Oracle 11.1.0.6 and above distributed transactions can be captured if they non-distributed transactions have been configured at database level by setting the static _CLUSTERWIDE_GLOBAL_TRANSACTIONS database parameter to FALSE

Compression

The following are not supported in classic capture mode:

Direct-Load Inserts

Capture of direct-load inserts is supported in both classic and integrated capture modes.

The following direct-load methods are supported:

In classic capture mode the PARALLEL hint is only supported for non-RAC databases

Index Organized Tables

In both classic and integrated capture modes the following limitations apply:

In classic capture mode the following limitations apply:

Views

Views are supported in both classic capture and integrated capture modes with the following limitations:

Materialized Views

Materialized views are supported in both classic capture and integrated capture modes with the following limitations:

Clustered Tables

Index clusters and hash clusters are both supported in classic capture and integrated capture mode.

In classic capture mode, the following limitations apply:

Sequences

Active-Passive (uni-directional) - replication of sequence values is supported for both classic capture and integrated capture modes

Active-Active (bi-directional) replication of sequence values is not supported for either mode

Oracle-Reserved Schemas

The following schema names are reserved by Oracle and should be excluded from GoldenGate replication:

$AURORA DBSNMP ORDPLUGINS SYSMAN
$JIS DMSYS ORDSYS SYSTEM
$ORB DSSYS OSE$HTTP$ADMIN TRACESVR
$UNAUTHENTICATED EXFSYS OUTLN WKPROXY
$UTILITY MDSYS PERFSTAT WKSYS
ANONYMOUS ODM PUBLIC WMSYS
AURORA ODM_MTR REPADMIN XDB
CTXSYS OLAPSYS SYS

DDL Support

DDL is supported as follows for both classic capture and integrated capture modes.

DDL is supported for all Oracle GoldenGate topology configurations

DDL operations up to 2MB in size are supported on the following objects:

Clusters Procedures Tablespaces
Functions Roles Triggers
Indexes Sequences Types
Materialized Views Synonyms Users
Packages Tables Views

The 2MB size limitation includes packages, procedures and functions.

Active-active (bi-directional) replication of DDL is supported between two (and only two) databases that contain identical metadata.

The following DDL constructs are not supported by either capture method:

In addition classic capture mode does not support DDL involving password-based column encryption e.g.

CREATE TABLE t1 (c1 NUMBER,c2 VARCHAR2(32) ENCRYPT IDENTIFIED BY password);

ALTER TABLE t1 ADD COLUMN (c3 VARCHAR2(32) ENCRYPT IDENTIFIED BY password);