Skip to main content

Oracle integrated CDC connector reference

Beta

This feature is in Beta. Workspace admins can control access to this feature from the Previews page. See Manage Databricks previews.

This page contains reference material for the Oracle integrated CDC connector in Databricks Lakeflow Connect.

Automatic data transformations

The connector maps Oracle data types to Databricks (Delta-compatible) types as follows:

Oracle type

Databricks type

NUMBER

STRING

NUMBER(p)

DECIMAL(p, 0)

NUMBER(p, s) where s < 0

DECIMAL(p + |s|, 0) if p + |s| <= 38, otherwise STRING

NUMBER(p, s) where 0 <= s <= p

DECIMAL(p, s)

NUMBER(p, s) where s > p

DECIMAL(s, s) if s <= 38, otherwise STRING

FLOAT

DECIMAL(38, 10)

BINARY_FLOAT

FLOAT

BINARY_DOUBLE

DOUBLE

CHAR, NCHAR, VARCHAR, VARCHAR2, NVARCHAR2, LONG

STRING

DATE

TIMESTAMP

TIMESTAMP

STRING

TIMESTAMP(p) WITH TIME ZONE (p <= 6)

TIMESTAMP with zoneId

TIMESTAMP(p) WITH LOCAL TIME ZONE (p <= 6)

TIMESTAMP with zoneId

TIMESTAMP(p) WITH [LOCAL] TIME ZONE (p > 6)

STRING

INTERVAL YEAR TO MONTH

INTERVAL YEAR TO MONTH. Mapped to STRING if the leading precision exceeds 8.

INTERVAL DAY TO SECOND

INTERVAL DAY TO SECOND. Mapped to STRING if the leading precision exceeds 8 or the fractional-seconds scale exceeds 6.

LONG RAW, RAW

BINARY (partially supported)

CLOB, NCLOB

STRING (partially supported)

BLOB

BINARY (partially supported)

ROWID, UROWID

STRING

XML (XMLTYPE), BFILE, JSON, VECTOR, BOOLEAN, and spatial types (for example, SDO_GEOMETRY)

Not supported

Oracle type

Databricks type

NUMBER

STRING

NUMBER(p)

DECIMAL(p, 0)

NUMBER(p, s) where s < 0

DECIMAL(p + |s|, 0) if p + |s| <= 38, otherwise STRING

NUMBER(p, s) where 0 <= s <= p

DECIMAL(p, s)

NUMBER(p, s) where s > p

DECIMAL(s, s) if s <= 38, otherwise STRING

FLOAT

DECIMAL(38, 10)

BINARY_FLOAT

FLOAT

BINARY_DOUBLE

DOUBLE

CHAR, NCHAR, VARCHAR, VARCHAR2, NVARCHAR2, LONG

STRING

DATE

TIMESTAMP

TIMESTAMP

STRING

TIMESTAMP(p) WITH TIME ZONE (p <= 6)

TIMESTAMP with zoneId

TIMESTAMP(p) WITH LOCAL TIME ZONE (p <= 6)

TIMESTAMP with zoneId

TIMESTAMP(p) WITH [LOCAL] TIME ZONE (p > 6)

STRING

INTERVAL YEAR TO MONTH

INTERVAL YEAR TO MONTH. Mapped to STRING if the leading precision exceeds 8.

INTERVAL DAY TO SECOND

INTERVAL DAY TO SECOND. Mapped to STRING if the leading precision exceeds 8 or the fractional-seconds scale exceeds 6.

LONG RAW, RAW

BINARY (partially supported)

CLOB, NCLOB

STRING (partially supported)

BLOB

BINARY (partially supported)

ROWID, UROWID

STRING

XML (XMLTYPE), BFILE, JSON, VECTOR, BOOLEAN, and spatial types (for example, SDO_GEOMETRY)

Not supported

Large object (LOB) columns

The connector captures RAW, BLOB, CLOB, and NCLOB values that LogMiner delivers inline in the redo record. LogMiner includes these values inline with the SQL statement in the change log, so the connector reads them directly from the change. Large-object values that are written out of line, and that LogMiner therefore does not include in the redo record, are not captured.