Oracle Data Integrator 12c release : Part 1

October 17th, 2013 by

That’s it! The long awaited Oracle Data Integrator 12c is out!  You can find the 12.1.2 version on the ODI Downloads page and discover the new features here while it gets downloaded. The main news is surely the new flow-based paradigm and the ability to load multiple targets within the same interface… Oh no wait, we don’t talk about “interfaces” anymore, it’s now called “mappings”! Fantastic, ODI developers can now communicate with developers using other ETL tools using the same vocabulary. This new terminology and the flow-based paradigm also bring ODI and Oracle Warehouse Builder (OWB) closer than ever. Let’s have a glance at some of the new features.

ODI12c Logo

New mappings

So this release brings a whole new way to develop your integration jobs. In the new logical tab of your mapping, you can drag and drop source datastores from your model as in the previous versions of ODI. But you will also have to drag your target datastores in the same canvas.

ODI12c Mapping SRC-TGT

To map your source to your target and build the logic, a new “component” panel, very similar to the OWB one, has been added on the right hand side of ODI Studio. From there you can drag and drop join, filter, expression, union and lookup components into your canvas. There is even a distinct component, which means we are done with creating a yellow interface just to select distinct rows from the source. Isn’t it nice? And more than that, it was announced during OOW that more components stand on the ODI roadmap.

ODI12c Components Panel

Every datastores and components have an IN and an OUT connector. Dataflows are created by dragging a connector on another one. What is interesting is that you can map an OUT connector to multiple IN connectors, and therefore load multiple targets at the same time!

ODI12c Mapping multi-targets

<old-school>Good news for the nostalgics, it’s still possible to develop a mapping using the interface-style paradigm… More information in a future post.</old-school>

The physical tab of you mapping is similar to the former flow tab of ODI 11g. That’s where you can select your KMs and their options. What is interesting is that you can now have multiple physical implementations – called deployment specifications – while keeping the same business logic. You can for instance create only one mapping for both your initial and your incremental load by selecting a different IKM in each of these deployment specifications (DS) and select which one you want to use at run-time.

ODI12c Deployment Specifications

The new mappings also introduce a few useful features :

  • in-mapping lineage and impact analysis : When a column in one datastore/component of the mapping is selected, all the columns used to load it and all the columns loaded by it are highlighted.
  • syntax highlighting appears in the expression fields.
  • autocompletion is available in every expression fields. Columns are suggested based on the few characters already typed. This is the best announcement ever for a lazy developer like me!

ODI12c Lineage - Autocompletion

Reusable Mappings

ODI 12c introduces the concept of reusable mapping, similar to those in OWB. It is designed like a standard mapping except that it use an input and/or an output signature in replacement of datastores. This allow to reuse it in multiple regular mappings by connecting these signatures to other components.

When upgrading from ODI 11g to ODI 12c, yellow (temporary) interfaces will turned on Reusable Mappings.


Instead of running a mapping, you can now also debug it from ODI Studio. A brand new pane appears where you can see the blueprints of your mapping. From there, you can set breakpoints or you can control your execution step by step. Thanks to this, it’s possible review to temporary state of your data or the values of variables at every step of an execution.

ODI12c Debugger

What about your old OWB jobs?

ODI 12.1.2 enables the execution and monitoring of OWB jobs within ODI. A new OWB technology is now supported in the topology in order to plug the OWB repository. Once it’s done you can run an OWB mapping or process flow from a package or a procedure thanks to a new ODI Tool called OdiStartOwbJob.

According to the ODI and OWB Statement of Direction, a migration utility should be available later to automatically translate some of the OWB objects in their ODI equivalent. Of course some manual work will be required as well.

To be continued…

Of course Part 2 is coming with other new features… Also expect a lot more to come from other Rittman Mead guys in the next few days!

[Update 04-Nov-2013] The second part is published.

Tags: , , , , ,


  1. Nish Says:


    Nice overview of ODI 12c. Looking forward your next blog for it’s new feature and functionality.


  2. Denis Says:

    Great post Jerome!

  3. Rickson Lewis Says:

    this was much awaited, wonderful post!

  4. Fiston Says:

    Great post, thanks!

  5. Jérôme Françoisse Says:

    Thanks everyone!

    Amazing work from the ODI team at Oracle, this release is excellent.


  6. Bibin Kumar Says:

    Is OBIA11g certified for ODI 12c. It would be nice if it were. any insight folks?


  7. Antoine Drieux Says:

    Thanks Jerome for this post !

    This release seems very interesting ! But with this new “logical diagram”, are the KM totally modified ?

    How does-it works with multiple target. Each datastore has its own IKM, or is the IKM shared for all (target) datastores ?

  8. Kiran Says:

    thanks for the post… cheers

  9. _Phil Says:

    Great blog Jérôme – I’m looking forward to having a play around with the new release myself.

  10. Jérôme Françoisse Says:

    Bibin Kumar,
    According to OBIA certification matrix it is not :
    It is not the same team working on OBIA so I guess we will need to wait a bit.

    Former KMs should still work. Each target datastore its own IKM.
    Along with the standard KMs, a new type has been introduced for IKM and LKM : Component KMs. More on this in part2 very soon.

  11. Madhu Nair Says:

    Great post Jerome!

  12. Brian Dandeneau Says:

    I think everyone is going to love this release. It brings a lot of user friendly features into ODI. I had the distinct pleasure to be part of the trial class on ODI 12c and part of Beta testing as well.

    ODI team Thanks for the great product and keep up the even better work.

    Looking forward to doing my first webcast on it.

  13. Mark Matten Says:

    Any sign of any decent source / version control integration yet!?

    It’s the MAJOR issue with ODI!

  14. michel Says:

    Dear Jérôme

    Congratulations on the publication of these articles.

  15. Michael Rainey Says:

    @Mark – no source control integration at this point, unfortunately.

    Michael Rainey

  16. Jérôme Françoisse Says:

    As Michael said, nothing new on this point yet.
    Is ODI-SCM compatible with 12c?

  17. Manjunath Kumbar Says:

    Very nice post. ODI 12C looks superb

  18. Vincenzo Says:

    Good to know that after 5 years Oracle decided to integrate ODI and OWB, maybe ODI user will not be familiar with this kind of interface but the ODI team put ODI into OWB… that’s all.

    It’s was expected already into the release 11g but with one release of delay they did it.

    Right now ODI is quite similar to Informatica, it’s necessary to understand if is possible to feed two destinations with the same itnerface or mapping.

  19. Christopher Hanley Says:

    Very nice.. downloading now. I really look forward to part II.


  20. Jérôme Françoisse Says:

    @ Vincenzo : I think it’s more some OWB concepts that are now present in ODI than the opposite. Apart from the flow-based paradigm (and the resulting multi-target capability), ODI 11g developer will see very familiar things.

    @ Christopher : Thanks. Just publish part 2 :

  21. Tom Says:

    Jerome, wonderful post -very well written!!

    My fav new feature among many is the “deployment specifications” – no more having 2 interfaces(one for initial bc load and another for incremental).

    Quick question on the multi-target load. Do you know if you can filter the delivery to each target? In other words deliver shipped orders to the shipped_orders table and open orders to the open_orders table? (I have to imagine so!)

  22. Jérôme Françoisse Says:

    Thanks Tom!

    I agree with you, Deployment Specs are really useful.

    Regarding your question : yes, you can filter the delivery of each target table thanks to the split component. You can define the condition for each target on the “Output Connector Points” tab.
    More info here :


  23. Stewart Bryson Says:

    @Mark Matten

    You already have source-code integration if you think about it. I can dump out exports or Smart Exports and check them into version control such as Git. This allows me to do branch-based development, which can also allow multi-user development in most cases.

    When the tool produces file-based collateral, then basic version control systems will work.

  24. Ashraf Omar Hussein Says:

    Much appreciate your valuable post

Website Design & Build: