The blog for Oracle Data Integrator ( ODI )

Repository Architecture – Just one Master – Part 1

Hi Everyone!

I believe this is a really good subject to start to talk about Oracle Data Integrator (ODI), once it is, necessarily, the first step in an ODI environment.

My first point could be a little confuse to be understood at first because of the common way in programming language and “Development” concept itself but, once understood, it will becomes very clear how ODI environment must be treated.

I hope you get this understanding when all parts of this post finish to be published.

To start, a brief discussion about what are the ODI repositories for:

Definition of the ODI as Software, how it works: –

  • A client-server application that uses a centralized database to store any imputed information from this client side.
  • In this centralized database, ODI uses 3 set of tables (data model) called “Repository”
    1. Master Repository – Used to stores information about:
      • ODI User access rights (Security module)
      • Connection information like IP, database user, file directory, etc (Topology module)
      • Code Version information
    2. Developing Work Repository – Stores developing data information like:
      • Projects,  Packages, KM’s, Variables, Scenarios, etc (Designer module)
      • Executions from any object from Designer (Operator module)
    3. Execution Work Repository – Stores only code ready for execution called Scenarios. They are like a “compiled” program:
      • Executions from any imported Scenario (Operator module)

Obs: Is knew that ODI has features to work through browser interface but they aren’t still not so advanced to achieve all development needs like Designer does (ref. version

Let me create an example to make myself clear:

  • A company will start a data integration from ground and ODI is the toll for that
  • As the project is “from ground” there is no production environment yet and, in cause of that, all ODI requirements for installation were supplied by a development environment with a good hardware.
  • This hardware has the Database where the repositories (Master and developing work) and an ODI agent to test the developed scenarios are installed. I will call this development server as DEV_ENV.
  • There are 5 professionals working on this ODI installation, each one with his own workstation accessing the DEV_ENV like:
Initial Development Environment

Initial Development Environment

Three months after the project start, just 1 week before start the tests from the Business Users (or End users, as you wish) a CRASH of any kind of “no recovering” situation happens to this server… And now? What do to????

 Possible Cases:

Case 1 – The bad one!!!

Situation:  As a Development server, there is no backup policy. The nightmare!

Solution: There is no solution. All work need to be done once again, I mean, the 3 worked months.. I wouldn’t like to be you when you go to your manager office to tell him….


Case 2 – No so bad, but a lot of work..

Situation:  As a Development server, there is no backup policy but as you knew that, you made some ODI exports from Designer as backup. (Those who have this kind of environmet but never did an export stop to read the post and go to make it now!)

Solution: Create empty repositories and try to import the “backup” into them. I already saw some bugs in this process, but they are less at each new version. I still do not trust in that feature, but could work and will bring back your development to the last “export”.

I do not recommend or trust in this procedure once it is dependent of human action, I mean, it is completely manual and a human can “forget” to do it.


Case 3 – Less problems.

Situation:  It is a Development server but there is some backup police

 Solution: You have your development environment as old as is the backup frequency. In my experience, it is really rare to have a company with daily backup police on development servers….



Well my friends, I hope that you understood the problems and risks that this kind of architecture can bring to an ODI project.

In the Repository Architecture – Just one Master – Part 2 I will suggest an architecture that I consider ideal when is possible to have just one Master Repository and too, why and how to use the 2 types of Work Repository (Developing Work Repository and Execution Work Repository).

Thanks you for visit us!

Cezar Santos


Leave a Reply

Required fields are marked *.

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