Oracle Goldengate Limitations and Restrictions
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
Classic Capture
Integrated 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
The following scalar data types are supported for both classic and integrated capture:
NUMBER
BINARY FLOAT
BINARY DOUBLE
CHAR
VARCHAR2
LONG
NCHAR
NVARCHAR2
RAW
LONG RAW
DATE
TIMESTAMP
Scalar columns are captured from the redo by both classic capture and integrated capture.
INTERVAL DAY
INTERVAL YEAR
TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH LOCAL TIME ZONE
The following large object types are supported in both classic and integrated capture modes:
CLOB
NCLOB
BLOB
For LOBs exceeding 4K in size, it is stored in segments in the GoldenGate trail. The first 4K is stored in
the base segment; the remainder is stored in 2K segments.
For LOBs exceeding 4K in size, filtering, column mapping or manipulation is not supported
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:
Update is complete
LOB is not transformed (compressed, encrypted or deduplicated)
LOB is stored out-of-row
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:
XMLType columns
XMLType tables stored as:
o XML CLOB
o XML Binary
In addition XMLType tables stored as XML Object Relational are supported for integrated capture mode only.
In both classic and integrated capture modes:
For XML Binary, additional row data is fetched from the source database because redo log does not
contain enough information - can lead to inconsistency.
Tables containing XMLType columns must have primary key, unique index or unique constraint
User-defined types are supported in both classic and integrated capture modes:
Source and target objects containing UDTs must have the same structure. Schema names can differ
UDTs are fetched from the database. Tables containing UDTs must have a primary key, unique index or
unique constraint
UDTs containing the following types are not supported:
o CLOB
o CFILE
o BFILE
o INTERVAL_YM
o INTERVAL_DS
o OPAQUE (except XMLType)
GoldenGate RMTTASK parameter does not support UDTs
CHAR and VARCHAR attributes containing binary or unprintable characters are not supported.
REF types are not supported
Collection Types
VARRAYs and nested tables are supported in both classic and integrated capture modes:
When data in a nested table is updated, the row containing the nested table must also be updated at the
same time
When VARRAYs and nested tables are fetched, the entire contents of the column are fetched each
time, not just the changes
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:
SDO_GEOMETRY
SDO_TOPO_GEOMETRY
SDO_GEORASTER
Abstract data types with scalar, LOBs, VARRAYS, nested tables and/or REFs
ANYDATA
ANYDATASET
ANYTYPE
BFILE
MLSLABEL
ORDDICOM
TIMEZONE_ABBR
URITYPE
UROWID
DML Support
Regular tables,
Index-organized tables
Clustered tables
Materialized views.
INSERT
UPDATE
DELETE
Associated transaction control operations
The following are not supported in either classic or integrated capture mode:
Database replay
EXTERNAL tables
Synonyms
One column tables are supported except where the column is one of the following data types:
LOB
LONG
Nested Table
User defined data type
VARRAY
XML
Unused Columns
Partitioning
The following types of partitioning are supported in both classic and integrated capture modes:
Range partitioning
Hash partitioning
List partitioning
Interval partitioning
System partitioning
Composite partitioning
Reference partitioning
Virtual column-based partitioning
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.
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.
For integrated capture, source database must be 11.1 or above with COMPATIBLE parameter set to 11.0.0.0.0
or above.
TRUNCATE Statements
TRUNCATE statements are supported in both classic and integrated capture modes as either:
Distributed Transactions
Distributed transactions
XA and PDML distributed transactions
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
Direct-Load Inserts
Capture of direct-load inserts is supported in both classic and integrated capture modes.
APPEND hint
PARALLEL hint
SQLLDR with DIRECT=TRUE
In classic capture mode the PARALLEL hint is only supported for non-RAC databases
In both classic and integrated capture modes the following limitations apply:
DDL for an IOT with mapping table will be replicated correctly, but subsequent DML on the IOT will fail.
Views
Views are supported in both classic capture and integrated capture modes with the following limitations:
Capture from a view is supported when Extract is in initial-load mode (capture directly from source view,
not the redo log)
Change data is not captured from a view, but it can be captured from the underlying tables of the view
View replication is only supported for inherently updateable views in which case the source table and
target view structures must be identical.
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.
Sequences
Active-Passive (uni-directional) - replication of sequence values is supported for both classic capture and
integrated capture modes
CACHE and INCREMENT BY settings on source and target database must be identical. NOCACHE can
be specified
Sequence can be CYCLE or NOCYCLE. Setting must be identical on both source and target.
GoldenGate ensures target sequence values will always be higher than those of the source (or equal if
CACHE is 0)
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:
DDL Support
DDL is supported as follows for both classic capture and integrated capture modes.
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.