Troubleshooting Oracle CDC Source Connector for Confluent Cloud¶
Review the following troubleshooting information if you run into issues with the connector.
Tip
Review the Oracle Database Prerequisites for Oracle CDC Source Connector for Confluent Cloud doc first to ensure no prerequisites were missed.
Empty topics¶
Topics may be empty for a number of reasons. You must ensure the following:
- You can access the database from where you run the connector.
- The database user has permission to select from the tables.
- The table has at least one row.
- The
table.inclusion.regex
configuration property matches the fully qualified table name (for example,dbo.Users
) and that the regular expression in thetable.exclusion.regex
configuration property does not match the fully qualified table name. - If
start.from
is set to a particular SCN, ensure the rows in the database have changed since that SCN. - If
start.from=snapshot
(the default), ensure the rows in the database have changed since the snapshot for the table was created.
Regex pattern issues¶
The following sections provide regex pattern guidance.
Note that the letter case used for the SID section in the regex must always match the case used for the SID or ServiceName on the DB side. If the SID or ServiceName is in lowercase letters, then the SID section of the regex must also be lowercase. If the SID is in uppercase, the regex must use uppercase. For example:
Upper case SID matches regex:
"oracle.sid":"ORCL",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCL[.]C##MYUSER[.](CONFLUENT.*|DEMO|TESTING)",
Lower case SID matches regex:
"oracle.sid":"orclcdb",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"orclcdb[.]C##MYUSER[.](CONFLUENT.*|DEMO|TESTING)",
Amazon RDS instances for Oracle¶
Scenario: You have tables named CONFLUENT_CUSTOMERS
, CONFLUENT_ORDERS
,
CONFLUENT_PRODUCTS
, DEMO
, and TESTING
under the schema C##MYUSER
,
tables EMPLOYEES
and DEPARTMENTS
under the schema HR
, tables
CUSTOMERS
and ORDERS
under the schema SALES
.
To capture changes to tables starting with CONFLUENT, use the following regex pattern:
"oracle.sid":"ORCL",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCL[.]C##MYUSER[.]CONFLUENT.*",
To capture changes to starting with DEMO and TESTING, use the following regex pattern:
"oracle.sid":"ORCL",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCL[.]C##MYUSER[.](DEMO|TESTING)",
To capture changes to tables starting with CONFLUENT, DEMO and TESTING, use the following regex pattern:
"oracle.sid":"ORCL",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCL[.]C##MYUSER[.](CONFLUENT.*|DEMO|TESTING)",
To capture changes in the schema HR
for tables EMPLOYEES
and DEPARTMENTS
and the schema SALES
for tables CUSTOMERS
and ORDERS
, use the following regex pattern:
"oracle.sid":"ORCL",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCL[.](HR[.](EMPLOYEES|DEPARTMENTS)|SALES[.](CUSTOMERS|ORDERS))",
Oracle Non-container and container Databases (CDBs)¶
Scenario: You have tables named CONFLUENT_CUSTOMERS
, CONFLUENT_ORDERS
,
CONFLUENT_PRODUCTS
, DEMO
, and TESTING
under the schema C##MYUSER
,
tables EMPLOYEES
and DEPARTMENTS
under the schema HR
, tables
CUSTOMERS
and ORDERS
under the schema SALES
.
To capture changes to tables starting with CONFLUENT, use the following regex pattern:
"oracle.sid":"ORCLCDB",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCLCDB[.]C##MYUSER[.]CONFLUENT.*",
To capture changes to tables starting with DEMO and TESTING, use the following regex pattern:
"oracle.sid":"ORCLCDB",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCLCDB[.]C##MYUSER[.](DEMO|TESTING)",
To capture changes to tables starting with CONFLUENT, and DEMO and TESTING tables, use the following regex pattern:
"oracle.sid":"ORCLCDB",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCLCDB[.]C##MYUSER[.](CONFLUENT.*|DEMO|TESTING)",
To capture changes in schema HR
for tables EMPLOYEES
and DEPARTMENTS
and schema SALES
for tables CUSTOMERS
and ORDERS
use the following regex pattern:
"oracle.sid":"ORCLCDB",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCLCDB[.](HR[.](EMPLOYEES|DEPARTMENTS)|SALES[.](CUSTOMERS|ORDERS))",
Oracle Pluggable Databases (PDBs)¶
Scenario: You have tables named CONFLUENT_CUSTOMERS
, CONFLUENT_ORDERS
,
CONFLUENT_PRODUCTS
, DEMO
, and TESTING
under the schema C##MYUSER
,
tables EMPLOYEES
and DEPARTMENTS
under the schema HR
, tables
CUSTOMERS
and ORDERS
under the schema SALES
.
To capture changes to tables starting with CONFLUENT, use the following regex pattern:
"oracle.sid":"ORCLCDB",
"oracle.pdb.name": "ORCLPDB1",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCLPDB1[.]C##MYUSER[.]CONFLUENT.*",
To capture changes to tables starting with DEMO and TESTING, use the following regex pattern:
"oracle.sid":"ORCLCDB",
"oracle.pdb.name": "ORCLPDB1",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCLPDB1[.]C##MYUSER[.](DEMO|TESTING)",
To capture changes to tables starting with CONFLUENT, and DEMO and TESTING, use the following regex pattern:
"oracle.sid":"ORCLCDB",
"oracle.pdb.name": "ORCLPDB1",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCLPDB1[.]C##MYUSER[.](CONFLUENT.*|DEMO|TESTING)",
To capture changes in the schema HR
for tables EMPLOYEES
and
DEPARTMENTS
and the schema SALES
for tables CUSTOMERS
and
ORDERS
, use the following regex pattern:
"oracle.sid":"ORCLCDB",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCLPDB1[.](HR[.](EMPLOYEES|DEPARTMENTS)|SALES[.](CUSTOMERS|ORDERS))",
Note
For additional troubleshooting guidance, see the Troubleshooting docs for the self-managed Oracle CDC Source connector. Note that not all of the self-managed troubleshooting information may apply to the fully-managed connector version.