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.regexconfiguration property matches the fully qualified table name (for example,dbo.Users) and that the regular expression in thetable.exclusion.regexconfiguration property does not match the fully qualified table name. - If
start.fromis 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.