Warning: Illegal string offset 'ssb_og_tags' in /home/content/10/4632510/html/wp-content/plugins/simple-social-buttons/simple-social-buttons.php on line 1466


The blog for Oracle Data Integrator ( ODI )

Direct load by interface with no work tables (C$, I$)

Hi friends…

I got this video from Craig Stewart that shows us how to direct load data from source to target with no work (C$ and I$) table use.


Simple, fast and very clever!

Thank you for share your expertize Craig!


  1. How do i find C$, I$ and E$ tables?

  2. IKM SQL to SQL append not present in need help.

  3. Hi,

    I am trying to direct load in my ODI interface without work tables (C$ and I$). I am using ODI version

    I am not able to find out Staging area : MYSQL:MYSQL Source
    Not able to find out IKM SQL to SQL append

    Is it not possible in ODI version or should I need to import any IKM or any drivers to achive this requirement.

    Please help me on this.

  4. Hi ,

    I have a requirement wherein I need to avoid C$ and I$. But in my case, I have fetch/extract data from many tables and I don’t want to create staging in Source db as my source application is a web commerce portal and the portal team does not recommend to create staging area on an OLTP db as it might have a un-nesessary IO. The interface will run on a daily basis and it will extract around 200 thousand records.

    Do you know if there is any other way of bypassing I$ and C$.

    • Hi,

      it’s a simple KM customization where you alter the “target” in the LKM to be the “real” target and, for IKM kill all steps.

      BUT, it’ll work only if you have every single data transformation, filters or joins mapped to be executed at source.

      Let me know if works and thank you for visit us!

      • Hi.

        Sorry, I didn’t understand what you mean by customizing the KLM to a “real” target. Can you pls give an example.

        Since my source area has tables from different data servers, I don’t think we can bypass C$table. Correct? Please do let me know.

      • Hi can any one help me.. I have to load data into target table from flat life. I will removed all steps in km and hard coded load data with insert statement.. But my file data as to converted into timestamp any1 can help

  5. Hi ,

    I have tried with SQL Server (source database) to Oracle (target database) and Oracle (source database) to Oracle (target database) but in flow tab we should select LKM also or else while saving the interface it is showing error pop up box.

    Could you please suggest me to avoid the C$ table or how to get bulk data from source database instead of 30 records every time.

    ODI installed on Oracle 10g.

    Thanks and Regards,

    • Hi,

      the amount of data that is fetched from some connection is controlled in the correspondent Data Server (Topology). You can change it over there.

      About the Bulk SQL, if you have distinct databases instances as source and target unless it possible to build some kind of “bridge” (DBLink, External Table, etc) it’s necessary go thru some text files to get a fast integration. But if a bridge is possible, then is just indicate it at ODI and use the right LKM.

      Make sense?

      Thank you for visit us!

  6. Raul can you be more specific on how to modify “generate ctl ” step.


  7. hi, i was use another method.
    working with sql loader integrated feature, (file to oracle), i modified the lkm specific “generate ctl ” step , i change odi variable to load data directly to target table rather than temp c$ table.

  8. Yes indeed, this has always been available, it is just one of those “you gotta know it to use it!” things.
    I hope you found this useful.

  9. Is it working only in ODI 11g or is it possible in 10g also ?

Leave a Reply

Required fields are marked *.

This site uses Akismet to reduce spam. Learn how your comment data is processed.