Oracle Data Integrator (ODI) Review

We can make all the EPM tools work together as one and we can create a puzzle that will increase the performance and capability of all EPM tools.

What is our primary use case?

Very large and complexes environments implementation, 10000+ users with 24x7 global operation and multiple EPM tools working in sync.

How has it helped my organization?

For the EPM environment, the ODI is the key to transforming a good project into a great project. With ODI, we can make all the EPM tools work together as one and we can create a puzzle that will increase the performance and capability of all EPM tools. We can have an integrated environment and decrease the close time from two days to one hour.

What is most valuable?

It's the best tool for data integration. It can do anything you want, but the only downside is that you need to know what you are doing. You can take 10 times longer to do the same thing if you don't know how to use the tool.

You have to know how to change the KM, how to use the dynamic coding, how to create dynamic models, and so on. In a lot of places, I see people using ODI wrongly, but the good thing about the tool is that isn't hard to fix common mistakes. With this you can improve performance, and in some cases, more than 10 times.

What needs improvement?

Right now, we have two very different GUIs - 11g and 12c. 11g is faster to develop than 12c as it takes more steps to do exactly the same as 11g, but you have a lot of things that you need to do yourself.

12c implemented some things for which you have to use some specialized code automatically, like parallel data load, but it is slower to develop. For me, the best thing would be to merge the GUI from 11g into the capabilities of 12c.

For how long have I used the solution?

More than 10 years.

What do I think about the stability of the solution?

There were issues mainly because of a Java memory leak.

What do I think about the scalability of the solution?

We have had no issues with scaling it for our needs.

How are customer service and technical support?

The technical support for EPM is bad. I don't remember anytime that the service support helped me with something. The problem is bigger when you have an environment with more than one product like Hyperion Planning and ODI.

This happens because the products have different owners within Oracle and then different supports, and because of this, if you open a trouble ticket of loading data to planning and you say the words ODI, you'll be pushed around the two separate support teams indefinitely, even if your company has an Oracle support director just for you.

How was the initial setup?

The bigger the environment, the bigger the challenge is you need to face. Maybe one day Oracle will integrate all their tools. It'll be easier, and the good thing is that I saw a lot of improvements over the years.

What's my experience with pricing, setup cost, and licensing?

All tools are expensive, but I think ODI is the most expensive since it depends on your sources and target databases. I think the best way to go is by doing packages and try to include free tools (if you buy Planning you have an ODI for BI licenses for free) or try to get discounts from your Oracle supplier. It's always good to explore what could happen if you get another tool or hardware together. Sometimes, you get more for less than if you get just one tool. Just be careful to not buy things that you won't use.

Which other solutions did I evaluate?

I'm a consultant and my only evaluation was on the database. I decided on Oracle because of the database and during my career, their other tools are starting to come naturally.

What other advice do I have?

Because Oracle products are development frameworks, your final results are as good as the people that implemented it. Make sure that your implementation team is the best it could be, at least for the first implementation. If something is implemented incorrectly at the start, it'll cost you a lot more to fix than to build a new system from scratch. Sometimes it can be so badly designed that it is impossible to fix.

I've been working on implementations for 21 years and I have seen bad implementations everywhere. In fact, I have seen the same tools implemented in the same team by two different people, with one being a success and the other a failure. In the same company, one department says that the tool does not work for them and another says that the tool is the best. The only difference was the implementer. Make sure you get a good team to implement it. The tool has its flaws but most of time (99%) it is the implementer's fault that you have a bad or slow model.

Which deployment model are you using for this solution?


Which version of this solution are you currently using?

11 or 12
**Disclosure: IT Central Station contacted the reviewer to collect the review and to validate authenticity. The reviewer was referred by the vendor, but the review is not subject to editing or approval by the vendor. The reviewer's company has a business relationship with this vendor other than being a customer: We're platinum partners.
More Oracle Data Integrator (ODI) reviews from users
Learn what your peers think about Oracle Data Integrator (ODI). Get advice and tips from experienced pros sharing their opinions. Updated: June 2021.
511,521 professionals have used our research since 2012.
Add a Comment
ITCS user

author avatarGaryM
Top 5PopularReal User

How does it compare to other ETL tools or have you only ever used this ETL tool? Thanks

author avatarRicardo Giampaoli
Top 5LeaderboardConsultant

Hi Gary how are you? I already used OWB and informatica.
I would say that depends of the version you use! If you use ODI 11, it's different from everything else. It'ls more like a integration tool then a ETL tool because, out of the box, you will always have multiple sources that will transform and load to one target.

If you use ODI 12, oracle basically merged OWB with ODI, and now, out of the box, you can have multiple sources transforming and loading multiple targets at same time.

But the real nice thing about ODI that any other tools has, is that for me, ODI is not a ETL tool, it's a code generator tool. That changes everything because you can use ODI to manage everything.

For example, you can use ODI to run OS commands, with that you can basically manage all your EPM (or any tool) environment, you can create java/jython code inside ODI, with that you can use the essbase API and change applications, create applications based in your table data....

You can ask why you would like to have java, os commands inside ODI, the thing is, if everything is inside ODI, you have supreme control over everything. You can do the essbase backups and when it finishes it'll automatic start to load data on it, and since everything is ODI, you don't need to check using OS commands to see if the bkp finished or not, everything is in the ODI flow.

The possibilities are endless, and for that I say that ODI is by far the most useful tool out there.

Take a look in my blog, I have a few examples on how I use ODI and how to do what I'm talking about (

I hope this answer your question!

author avatarGaryM
Top 5PopularReal User

Thanks Ricardo, sounds like ODI is vastly improved. The ability to run things like OS code is actually one of the things I like about SSIS as its easy to call out to anything external via script components. However what isn't always easy from any job control type of activity is detecting issues and passing back helpful error messages. Is that possible via calling external language operations in ODI? How does ODI know if the OS command had an error.

author avatarRicardo Giampaoli
Top 5LeaderboardConsultant

That depends. If you are issuing one command (like a MAXL command) the error will be the same error that you'll see in a DOS windows (not too helpful hehehe). But, you can use a extended version of "OS Execution" that allow you to write a .log and a .err file (The extension can be anything you like .txt, .xxx...). This normally gets more detailed info. With these you can check if the step error out and send a email with the link to the error file (that I normally create in the agent machine since is easier and a centralized place.

If you want to run a script (like a huge script that does a lot of thing at once) it's a good idea to pass to the script as variables the log location, error location everything that you can from ODI, this way you can create generic scripts that changes the behavior depending of what ODI sends to it.

Take a look here:

These, in my opinion, is the best feature of ODI. Command on source and command on target!
Basically you can have a select in the source, and for each row it return, it runs something on target. Then if you pass the info from the source to the target, you change the behavior of the target.

That means, you can create one script to, for example, load data and execute a rule in PBCS with EPM Automate and create just one step with a select on source that will inform the script all info to execute that through all your applications, even if the scripts change names or, paths or anything.

Also, you can use instead of EPM Automate the API as well to do the same.

You can also use the essbase API to get info from the application and use it to change your behaviors.

you can do pretty much everything!