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

Support table level supplemental logging

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • 1.4.0.Final
    • oracle-connector
    • None
    • False
    • False
    • Undefined

      Today, an oracle connector using Logminer requires the database to have supplemental logging turned on at database level. This has a considerable performance penalty for large and busy databases where only some tables are meant to be replicated. If supplemental logging is not turned on at database level the connector will simply refuse to run.

      However, Oracle does support selective supplemental logging at table level, where a DBA can actually select which tables will get additional information logged. I'm wondering whether Debezium's Oracle connector could support this mode by:

      1. Either simply removing the current mandatory supplemental check and replacing it with a warning
      2. or, by supporting some connector property that would instruct Debezium to skip the above check, e.g. skipGlobalSupplementLogsCheck:true
      3. or by checking to see if there is an included tables connector property and checking if supplemental logging is turned on for those tables alone.

      I can understand option 1. could cause some support concerns as an exception is easier to spot than a warning, and I can understand option 3. could require quite a bit of coding. What about option 2. ? I think we could contribute that one easily.

      I'm assuming there are no other places in source code that check for supplemental logging and I'm also assuming there are no other limitations preventing us from using table logging. Let me know otherwise.

              Unassigned Unassigned
              martper2 Martin Perez (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: