<a id="cc-oracle-cdc-source-troubleshooting"></a>

# Troubleshooting Oracle CDC Source Connector for Confluent Cloud







Review the following troubleshooting information if you run into issues with the
connector.

## 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 the `table.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**:

```json
"oracle.sid":"ORCL",
"oracle.username": "C##MYUSER",
"table.inclusion.regex":"ORCL[.]C##MYUSER[.](CONFLUENT.*|DEMO|TESTING)",
```

**Lower case SID matches regex**:

```json
"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:

```json
"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:

```json
"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:

```json
"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:

```json
"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:

```json
"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:

```json
"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:

```json
"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:

```json
"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:

```json
"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:

```json
"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:

```json
"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:

```json
"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](https://docs.confluent.io/kafka-connectors/oracle-cdc/current/troubleshooting.html)
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.
