Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-5439

Duplicate SCNs on same thread Oracle RAC mode incorrectly processed

XMLWordPrintable

      What Debezium connector do you use and what version?

      2.0.0.Alpha3

      What is the captured database version and mode of depoyment?

      Oracle 19

      PDB

      What behaviour do you expect?

      No missing transaction

      What behaviour do you see?

      Transaction 7D001200A36D0000 proceeded

      Transaction 17000A001A7B0600 has been skipped due to duplicate SCNs on Thread 2.

      SCN,START_SCN,COMMIT_SCN,TIMESTAMP,START_TIMESTAMP,COMMIT_TIMESTAMP,XIDUSN,XIDSLT,XIDSQN,XID,PXIDUSN,PXIDSLT,PXIDSQN,PXID,TX_NAME,OPERATION,OPERATION_CODE,ROLLBACK,SEG_OWNER,SEG_NAME,TABLE_NAME,SEG_TYPE,SEG_TYPE_NAME,TABLE_SPACE,ROW_ID,USERNAME,OS_USERNAME,MACHINE_NAME,AUDIT_SESSIONID,SESSION#,SERIAL#,SESSION_INFO,THREAD#,SEQUENCE#,RBASQN,RBABLK,RBABYTE,UBAFIL,UBABLK,UBAREC,UBASQN,ABS_FILE#,REL_FILE#,DATA_BLK#,DATA_OBJ#,DATA_OBJV#,DATA_OBJD#,SQL_REDO,SQL_UNDO,RS_ID,SSN,CSF,INFO,STATUS,REDO_VALUE,UNDO_VALUE,SAFE_RESUME_SCN,CSCN,OBJECT_ID,EDITION_NAME,CLIENT_ID,SRC_CON_NAME,SRC_CON_ID,SRC_CON_UID,SRC_CON_DBID,SRC_CON_GUID,CON_ID
      "3,307,587,376","3,307,586,951","3,307,587,376",2022-07-22 04:22:15.000,2022-07-22 04:22:14.000,2022-07-22 04:22:15.000,125,18,"28,067",7D001200A36D0000,125,18,"28,067",7D001200A36D0000,[NULL],COMMIT,7,0,[NULL],[NULL],[NULL],0,[NULL],[NULL],AAAAAAAAAAAAAAAAAA,AVENGERSDEVGTPPICKING,liquibase,gen-data-picking,"34,580,665","3,105","64,414",login_username=AVENGERSDEVGTPPICKING client_info= OS_username=liquibase Machine_name=gen-data-picking OS_terminal=gen-data-picking OS_process_id=1 OS_program_name=datagen,2,1,"3,555","1,793,347",468,"1,131",0,0,0,4,0,0,0,0,0,commit;,[NULL], 0x000de3.001b5d43.01d4 ,0,0,[NULL],0,"2,624,496","2,624,497","3,307,577,278","3,307,587,376",[NULL],[NULL],[NULL],DB,0,0,0,[NULL],0
      "3,307,587,376","3,307,586,805","3,307,587,376",2022-07-22 04:22:15.000,2022-07-22 04:22:14.000,2022-07-22 04:22:15.000,23,10,"424,730",17000A001A7B0600,23,10,"424,730",17000A001A7B0600,[NULL],COMMIT,7,0,[NULL],[NULL],[NULL],0,[NULL],[NULL],AAAAAAAAAAAAAAAAAA,AVENGERSDEVGTPPICKING,liquibase,gen-data-picking,"34,580,664",930,"37,587",login_username=AVENGERSDEVGTPPICKING client_info= OS_username=liquibase Machine_name=gen-data-picking OS_terminal=gen-data-picking OS_process_id=1 OS_program_name=datagen,2,1,"3,555","1,793,348",156,"1,131",0,0,0,4,0,0,0,0,0,commit;,[NULL], 0x000de3.001b5d44.009c ,0,0,[NULL],0,"2,624,498","2,624,499","3,307,577,278","3,307,587,376",[NULL],[NULL],[NULL],DB,0,0,0,[NULL],0

      Do you see the same behaviour using the latest relesead Debezium version?

      Yes

      Implementation ideas (optional)

      After some researches about SCN not increase in Oracle. I found these links:

      https://asktom.oracle.com/pls/apex/f?p=100:11:::::P11_QUESTION_ID:9541604100346416882

      https://fritshoogland.wordpress.com/2016/10/22/transactions-and-scns/

      They said:

      The changes itself do just read and pick the current global SCN from the instance, a commit of these changes does increase the global SCN, but as little as possible. You might find multiple changes in the same SCN, and you might even find commits with the same SCNs.

       

      => Use recentCommittedTxCache to check processed transaction condition (currently use commit_scn)

              ccranfor@redhat.com Chris Cranford
              thangdc94@gmail.com Phạm Thắng (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: