3 Replies Latest reply: Dec 7, 2012 3:13 PM by RG 007 RSS

    How CDC Works  : need autorefresh on target

    RG 007
      Hi Gurus,

      My requirement is : whenever there is a change in source data my interface should run automatically and update the target data.
      if in 24 hours my source data is changed only 3 times then my interface should run only 3 times.

      I thought CDC will work on this, but it's working partly, seems like I am missing something.

      What I have done
      On my source table I created CDC, selected JKM, started Journal. I think it's working fine because I see green clock symbol.
      whenever I make any changes in source table, I also see new row in j$source_table, but I don't see any row in jv$source_table.

      then I created interface, in my interface I clicked on source table and selected checkbox for "Journalized data only".

      Testing then for testing I made a change in source table, I thought my interface will run automatically and make changes in target, but it didn't happen.
      Then I run interface manually, even though It didn't update target, I noticed it's happening because jv$source_table is empty.

      Please advice, what I am missing..
      Do I need to create a package and need to add some step to run interface automatically whenever there is any change in source data.

      Thanks
        • 1. Re: How CDC Works  : need autorefresh on target
          Sutirtha Roy
          RG 007 wrote:
          Hi Gurus,

          My requirement is : whenever there is a change in source data my interface should run automatically and update the target data.
          if in 24 hours my source data is changed only 3 times then my interface should run only 3 times.

          I thought CDC will work on this, but it's working partly, seems like I am missing something.

          What I have done
          On my source table I created CDC, selected JKM, started Journal. I think it's working fine because I see green clock symbol.
          whenever I make any changes in source table, I also see new row in j$source_table, but I don't see any row in jv$source_table.

          then I created interface, in my interface I clicked on source table and selected checkbox for "Journalized data only".

          Testing then for testing I made a change in source table, I thought my interface will run automatically and make changes in target, but it didn't happen.
          Then I run interface manually, even though It didn't update target, I noticed it's happening because jv$source_table is empty.

          Please advice, what I am missing..
          Do I need to create a package and need to add some step to run interface automatically whenever there is any change in source data.
          Yes .. you need to create a package .
          Use OdiWaitForLogData to see changes made to the journalized tables based on subscriber . After that connect to your Interface . You can specify the number of rows to be modified before your interface runs .

          Thanks,
          Sutirtha
          • 2. Re: How CDC Works  : need autorefresh on target
            PeakIndicators_Alastair
            RG 007 wrote:
            Hi Gurus,
            Testing then for testing I made a change in source table, I thought my interface will run automatically and make changes in target, but it didn't happen.
            Then I run interface manually, even though It didn't update target, I noticed it's happening because jv$source_table is empty.

            Please advice, what I am missing..
            Have you read the documentation on how it should work? Its quite clear on what you need to do.

            See this blog for a good introduction : http://www.google.ie/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC0QFjAA&url=http%3A%2F%2Fsoainfrastructure.blogspot.com%2F2009%2F02%2Fsetting-up-oracle-data-integrator-odi.html&ei=FqvBUP2zGcazhAeokoGoDw&usg=AFQjCNGZ5dSGjCoPXNA7LG-GkEmNpuPwqg&cad=rja

            Basically you need to add a subscriber, lock the journal, extend the window, run your interfaces, unlock subscriber, purge jounal, repeat from lock the journal.
            • 3. Re: How CDC Works  : need autorefresh on target
              RG 007
              Hi all, Thanks for your reply.

              My CDC is working, but one question.
              Now, In my package ODI object "ODIWaitForLogData" will keep polling on Journalize table every few seconds(whatever we have mentioned).
              But I don't want polling.
              I want, whenever there is a change in source data, immediately my interface should run.

              For example : if my source table is updated only 3 times a day, so as soon as Trigger creates record in J$V table, it should also run the package also.
              is it possible?