2 Replies Latest reply: Apr 11, 2012 8:48 PM by user9253626 RSS

    Asynchronous HotLog CDC Space to Null Issue

    user9253626
      I have established Asynchronous HotLog CDC in one of our testing database. I have done the following steps (as described in the Asynchronous HotLog CDC oracle documentation):

      ALTER DATABASE FORCE LOGGING;
      ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
      ALTER TABLE #SCHEMA#.#TABLE_NAME# ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

      In addition, all of the other steps were followed for permissions, pool sizes, change set setup, change table setup, and so forth. This work is being done as a conversion from Synchronous to Asynchronous.

      The issue encountered is that when characters that have a space (' '), it is substituted with a null and inserted into the CT table. I understand per documentation if the supplemental logging is not setup correctly, you can encounter nulls for values that remain static. The problem is this is occurring on our data inserts, with the correct supplemental logging on the table as per documentation.

      Any suggestions are appreciated, DB is 11.2.0.1

      Thanks
        • 1. Re: Asynchronous HotLog CDC Space to Null Issue
          damorgan
          Look for the CDC Demos here:
          http://www.morganslibrary.org/library.html

          They are titled:
          Change Data Capture - Synchronous Demo
          Change Data Capture - Asynch HotLog Demo
          Change Data Capture - Asynch AutoLog Demo
          • 2. Re: Asynchronous HotLog CDC Space to Null Issue
            user9253626
            Thank you damorgan, your example was very thorough and helpful. Unfortunately though, after following your steps with my table I was testing, I am still receiving nulls where the insert statement had a space, besides that the asynchronous cdc process works fine.

            It is almost like there is a trimming occurring when inserting into the change table, even though in the source table there is a space ' '. I might just need to stay with synchronous CDC because at least the trigger is capturing the correct change data, not sure why the Asynchronous would be different with the space becoming a null.

            Thanks.