ODI Experts Blog-Changed Data Capture (CDC)
ODI Experts Blog-Changed Data Capture (CDC)
ODI Experts Blog-Changed Data Capture (CDC)
Home
Author
POST
Contact
BLOG
RSS
Simple is used for CDC implementation on a single table and Consistent on Multiple tables or Model.
In this post i will be covering Simple CDC concept . Look for my future post for Consistent based CDC implementation.
I am going to implement the Simple CDC concept on this particular table – SRC_AGE_GROUP.
Execute it
In the above execution ODI creates a Subscriber table in the work schema, J$ table, view and a trigger to capture any data changes when any Insert, Update and Deletion takes places.
After successful execution you will be able to see a small green clock icon.
Drag the Journalized Table as source and the required target. On the Source Data store, check mark the option “ JOURNALIZED DATA ONLY “ and ODI will automatically add a
filter with a required date condition and subscriber information, use the proper LKM and IKM as per your technology. For this Example I have used IKM Oracle Incremental Update.
I have run it once to check whether its working fine or not. Now let me show you an example.
Original Source
Modified source
I have removed the last column and change the third row age_max 39 to 35.
On the Journalized Interface source and Right click on filter and click on data.
Here is the sql from where the journalized data is being retrived
select * from ODI_TEMP.JV$DSRC_AGE_GROUP SRC_AGE_GROUP where (JRN_SUBSCRIBER = ‘SUNOPSIS’ /* AND JRN_DATE < sysdate */)
The Other way is to right click on Journalized data store in Model and Changed Data capture – > Journal Data and you will see the above data again too.
MSSQL – SIMPLE
Repeat the above steps for Journalizing SQL Server table as we did for Oracle namely
Add to CDC
Start Journal
Although there is update and Delete on the source but there is just delete in the ODI reason being I have update the same value DayNumberOfWeek=4 again for update so ODI have
correctly did only the Delete as the target already had the same value which is DayNumberOfWeek=4
How to say whether you have which JKM you have , right click on your model , Edit – >Journalizing Tab and you see what JKM is being used and whether Simple or Consistent
Hello there,
Thanks in advance.
Hi Alberto…
there is few tools into package that are used for “wait” new CDC records…
Hi Cezar
Thanks for explaining so nicely.
I tried the steps that you mentioned and was successful in doing so.
Now, as per this tutorial, we are deleting the records manually from the table which is journalized. What if we need to automate the deletion.
Eg: I extract members from Essbase database into a database table. I apply journalizing on this DB table. Now whenever a new member gets
added or any member gets updated, the journalized data shows records with JRN_FLAG as ‘I’. What if i delete any member from Essbase? When
these members are extracted, journalized data should show records with JRN_FLAG as ‘D’. Is it possible?
Hi,
Will the interface run automatically as soon the changes are made in the source table?
Thanks,
Ritika
ritika,
CDC make use of the source trigger to capture the changed record and it wont trigger the interface ,but when you trigger the interface or if you
call it in the package and scheduler it accordingly it can capture the changed records and sync the target.
Hi Dev,
Thanks for the reply
Does ODIExperts site have steps to step up consistent CDC?
I was trying to find out but was unsuccessful!
Leave a Reply
SEARCH
TRANSLATE
Translate to:
AUTHOR
Cezar Santos
Kshitiz Devendra
Invited Experts
Craig Stewart
CATEGORIES