Managed Oracle CDC Source Connector Troubleshooting¶
Review the following troubleshooting information if you run into issues with the connector.
Note
Be sure to review the Oracle Database Prerequisites doc first to be sure 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 managed connector version.