Details of Support for Oracle Data Types and Objects

Within the database, you can use the Dictionary view DBA_GOLDENGATE_SUPPORT_MODE to get information about supported objects. There are different types for replication support:

Most data types are supported (SUPPORT_MODE=FULL), which imply that Oracle GoldenGate captures the changes out of the redo. In some unique cases, the information cannot be captured, but the information can be fetched with a connection to the database (SUPPORT_MODE=ID KEY).

From Oracle GoldenGate 21c onward, DML on tables that are not supported will be automatically skipped when DBA_GOLDENGATE_SUPPORT_MODE.SUPPORT_MODE= NONE is set. However, DDLs for these objects are still captured based on the DDL INCLUDE/EXCLUDE settings. See Details of Support for Objects and Operations in Oracle DDL for DDL support.

Tables supported with ID KEY require a connection to the source database or an ADG Standby database for fetching to support those tables. If using downstream Extract, with NOUSERID you must specify a FETCHUSERID or FETCHUSERIDALIAS connection.

Other changes can be replicated with Procedural Replication (SUPPORT_MODE=PLSQL) that requires additional parameter setting of Extract. In the unlikely case that there is no native support, no support by fetching and no procedural replication support, there is no Oracle GoldenGate support.

Detailed support information for Oracle data types, objects, and operations starts with the following:

Extract Redo Support:

The following data types allow capturing directly from the redo logs and do not require any fetching. If used in a downstream mining configuration, the NOUSERID parameter may be used.

Data Types Fetched from the Database

Data types listed here are not readable in the redo logs and must be fetched by the Extract process during it’s processing. The method for fetching these records is controlled by the use of the FETCHOPTIONS parameter.

It is recommended that the database that is generating the redo data is the same database that Oracle GoldenGate uses to fetch the data. However, if this is not possible, an Active Data Guard Standby database open for read-only can also be used as the fetch database.

SECUREFILE LOBs

Object tables contain the following attributes:

Fetch does not support ANYDATA columns in a UDT.

Additional Considerations

SQLEXEC Limitations

There might be a few cases where replication support exists, but there are limitations of processing such as in case of using SQLEXEC. The following table lists these limitations:

Datatypes Supported By SQLEXEC Support Limitations
NUMBER, BINARY FLOAT, BINARY DOUBLE UROWID

Special cases of:

  • XML types

  • UDTs

  • Object tables

  • Collections or nested tables

Supports Infinity/-Infinity special values.

For more information on data types by databases that support special values, refer to Special Values Supported by Database Data Types.

Supports NaN special value except the NUMBER data type.

(N)CHAR, (N) VARCHAR2 LONG, RAW, LONG RAW (N)CLOB, CLOB, BLOB, SECUREFILE, BASICFILE and BFILE Not supported
XML columns, XMLType Not supported
Native JSON datatype VARCHAR2, NVARCHAR2, CLOB, NCLOB not supported with the Extract parameter binary_json_format.
UDT Not supported
ANYDATA Not supported
Hierarchy-enabled tables Not supported
RET Types Not supported
DICOM Not supported
SDO_TOPO_GEOMETRY, SDO_GEORASTER Not supported
Identity columns Not supported
SDO_RDF_TRIPLE_S Not supported

Note: SECUREFILE LOBs updated using DBMS_LOG.FRAGMENT or SECUREFILE LOBs that are set to NOLOGGING are fetched instead of read from the redo.

Note: Any datatype not listed in the table is fully supported by SQLEXEC with the same limitations as the regular product.