Skip to main content

Issue:

Oracle CDC fails with the below error:

SELECT SCN, USERNAME, OPERATION_CODE, TIMESTAMP, SQL_REDO, TABLE_NAME, COMMIT_SCN, SEQUENCE#, CSF, XIDUSN, XIDSLT, XIDSQN, RS_ID, SSN, SEG_OWNER FROM V$LOGMNR_CONTENTS WHERE ((( ) AND (OPERATION_CODE IN (1,3,2,25))) OR (OPERATION_CODE = 7 OR OPERATION_CODE = 36)), OriginalSql = SELECT SCN, USERNAME, OPERATION_CODE, TIMESTAMP, SQL_REDO, TABLE_NAME, COMMIT_SCN, SEQUENCE#, CSF, XIDUSN, XIDSLT, XIDSQN, RS_ID, SSN, SEG_OWNER FROM V$LOGMNR_CONTENTS WHERE ((( ) AND (OPERATION_CODE IN (1,3,2,25))) OR (OPERATION_CODE = 7 OR OPERATION_CODE = 36)), Error Msg = ORA-00936: missing expression

at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)

 

Solution:

Following possibilities can cause the Oracle CDC origin to throw this error.

  1. Either the schema or tables do not exist, or the table/schema name cases do not match.
  2. Try and use the same case for the tables, if you created it within double quotes.Alternatively, for simplicity, just use upper case in schema and table names.
  3. Quotes were incorrectly added to the table pattern which resulted in the table pattern not working. For example '%TABLE%' instead of %TABLE%.
Be the first to reply!

Reply