-
Bug
-
Resolution: Duplicate
-
Blocker
-
None
-
1.5.0.CR1
-
None
-
False
-
False
-
Undefined
-
Hello, I am collecting Oracle 11g with XStream, and an exception occurred during the collection process.
The exception information is:
Caused by: java.lang.IllegalArgumentException: No metadata registered for captured table orcl1.ORACLE_XSTREAM_CDC.oracle_cdc_source
at io.debezium.pipeline.EventDispatcher.errorOnMissingSchema(EventDispatcher.java:262)
at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:195)
I debugged the code and found the following problems.
The value "orcl1.oracle_xstream_cdc.oracle_cdc_source" is Obtained by the method shown in the figure below.
Since the Oracle database I am using is 11g, the tableID returned by it will be processed as follows:
ORACL1.ORACLE_XSTREAM_CDC.ORACLE_CDC_SOURCE --> orcl1.ORACLE_XSTREAM_CDC.oracle_cdc_source
However, when I construct the OracleDatabaseSchema, I will call the method in the following image.
so the generated TableID will be processed as follows:
ORACL1. ORACLE_XSTREAM_CDC. ORACLE_CDC_SOURCE ->ORACL1.ORACLE_XSTREAM_CDC.oracle_cdc_source
Therefore, the above exception is thrown.
My solution is to increase this setting items."database.tablename.case.insensitive": "false" and didn't deal with tableID.
The value of catalogName is in uppercase ORCL1. I'm not sure if my database is not working properly or if this is a bug.
- relates to
-
DBZ-3240 Remove deprecated Oracle connector option "database.tablename.case.insensitive"
- Closed