cancel
Showing results for 
Search instead for 
Did you mean: 
Data Engineering
Join discussions on data engineering best practices, architectures, and optimization strategies within the Databricks Community. Exchange insights and solutions with fellow data engineers.
cancel
Showing results for 
Search instead for 
Did you mean: 

Oracle CDC Ingestion Pipeline - Schema Exploration finds 0 tables when DB_DOMAIN

karuppusamy
Databricks Partner
Hi,
I'm setting up an Oracle Integrated CDC Managed Ingestion Pipeline (LakeFlow Connect) on Azure Databricks. The pipeline connects to Oracle 19c successfully but Schema Exploration always returns 0 tables.

Error:

Schema Exploration has COMPLETED in 5 seconds. Found 0 table(s) in connection.
Extractor FAILED. [DLT ERROR CODE: INGESTION_GATEWAY_INTERNAL_ERROR]
Timed out waiting for all replicated tables.

Environment:

- Azure Databricks (Workspace with Unity Catalog)
- Oracle 19c Standard Edition 2 (Single-Tenant, non-CDB, non-RAC)
- Previews enabled: "Direct Cdc Managed Ingestion Pipeline" = ON, "Integrated Cdc Oracle Connector" = ON
- Pipeline type: MANAGED_INGESTION
- Channel: PREVIEW

Oracle Configuration (all verified by direct connection):

- ARCHIVELOG mode: Enabled
- Supplemental logging: MIN=YES, PK=YES (DB level) + ALL COLUMN at table level
- Table has Primary Key
- DB_DOMAIN = example.com
- Registered service name: `mydb.example.com` (with domain)
- No service registered without domain (connecting to just `MYDB` gives ORA-12514)

User Privileges (all confirmed):

- CREATE SESSION, SELECT ANY TABLE, SELECT ANY DICTIONARY, LOGMINING, SELECT ANY TRANSACTION, FLASHBACK ANY TABLE
- EXECUTE_CATALOG_ROLE granted
- Explicit SELECT grants on all target tables
- EXECUTE on DBMS_LOGMNR, DBMS_LOGMNR_D

CDC Validation (run by the pipeline itself): All 10 checks PASSED

The Problem:

My Oracle DB has `DB_DOMAIN` set, so the only valid service name is `mydb.example.com` (contains dots). But the Databricks documentation for INGESTION_GATEWAY_ORACLE_MISSING_CONFIGURATION states:

> The 'source_catalog' parameter must contain only printable ASCII characters such as letters, numbers, and underscores.

This creates a conflict:

- `source_catalog: MYDB` → Connection fails (ORA-12514, service doesn't exist without domain)
- `source_catalog: mydb.example.com` → Connection succeeds, TLS established, DB version detected, CDC validation passes, but Schema Exploration returns 0 tables

What I've tried (all failed with 0 tables):

- source_catalog: mydb (lowercase)
- source_catalog: MYDB (uppercase)
- source_catalog: mydb.example.com (full service name)
- channel: CURRENT and PREVIEW
- Full refresh

Connection config:

- Host: 10.x.x.x
- Port: 1521
- Service Name: mydb.example.com
- Encryption: native_network_encryption

Questions:

1. Does the Oracle CDC connector support databases with DB_DOMAIN set?
2. How should source_catalog be configured when the only valid service name contains dots?
3. Is adding a static listener registration (without domain) the recommended workaround?

Any help appreciated. Thanks!

Karuppusamy
Databricks Data Engineer
0 REPLIES 0