You are on page 1of 16

Document: Oracle Data Integrator 11g (11.1.

1) ODI Common Format Designer


Description: (This document contains step by step process for creating and populating datastores by using common format designer in ODI)

History:
Version Description Change Author Publish Date

0.1 0.1

Initial Draft Review 1st

Gourav Atalkar Amit Sharma

28-Oct-2011 28-Oct-2011

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

Table of Contents
1)

Introduction
a. b. c.

3 3 3 3 4 16

Common Format Designer Generating DDL scripts Generate Interface IN/OUT

2) 3)

Goal Result

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

1) Introduction
Common Format Designer
Common Format Designer (CFD) is used to quickly design a data model from the Designer user interface. This data model may be designed as an entirely new model or assembled using elements from other data models. CFD can automatically generate the Data Definition Language (DDL) scripts for implementing this model in a data server. CFD enables a user to modify an existing model design through the user interface. It can automatically generate the DDL scripts for synchronizing differences between a data model described in Oracle Data Integrator and its implementation in the data server. Users can for example use Common Format Designer to create operational datastores, data marts, or master data canonical format by assembling heterogeneous sources.

Generating DDL scripts


When data structure changes have been performed in a data server, you usually perform an incremental reverse-engineering in Oracle Data Integrator to retrieve the new meta-data from the data server. When a diagram or data model is designed or modified in Oracle Data Integrator, it is necessary to implement the data model or the changes in the data server containing the model implementation. This operation is performed by generated DDL scripts. The DDL scripts are generated in the form of Oracle Data Integrator procedures containing DDL commands (create table, alter table, etc). This procedure may be executed by on the data server to impact the changes.

Generate Interface IN/OUT


For a given model or datastore assembled using Common Format Designer, Oracle Data Integrator is able to generate:

Interfaces IN: These integration interfaces are used to load the model's datastores assembled from other datastores/columns. They are the integration process merging data from the original datastores into the composite datastores.

Interfaces OUT: These integration interfaces are used to extract data from the model's datastores. They are generated using the interfaces (including the interfaces IN) already loading the model's datastore. They reverse the integration process to propagate the data from the composite datastore to the original datastores.

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

2) Goal
I have a set of tables in my source database in my case Ill use MS SQL Server2000. If I want to move that set of tables, with data across to Oracle, Ill need to have a schema in Oracle where I can put the tables. In ODIs Topology Navigator I need to define the Data Servers, the physical schemas and associate them with the relevant logical schemas. This is the point at which Ill begin; I have a data model in ODI which has my source data defined in it. Step: 1) Create data server in Topology Navigator for the MS SQL server specify the name data server details and user password credential for log in and move to JDBC tab.

After specifying Driver and URL click Test Connection button

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

Step: 2) Now create the Physical schema for the database where we have the tables.

Step: 3) Select the database name from the drop down list and owner as dbo and same way define database (work Catalog) and owner and save it.

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

Step: 4) Newly created physical schema is ready now needed to define the logical schema and map it with appropriate context.

Step: 5) Specify the name of the logical schema and map it with the context on which you want to work.

Save it. Now we will perform the same step for the oracle database

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

Step: 6) Create data server in Topology Navigator for the Oracle Database specify the name data server details and user password credential for log in and move to JDBC tab.

After specifying Driver and URL click Test Connection button

Step: 7) Now create the Physical schema for the database where we want to load tables.

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

Step: 8) Newly created physical schema is ready now needed to define the logical schema and map it with appropriate context.

Both the data server are ready now with physical schema we need to create the model based on the data server.

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

Step:9) From the designer on the model tab create model for ms sql server and oracle both. First we need to create model for the MS SQL server Step:10) Select the MS SQL server model folder right click and from context menu select New Model define required details and save it.

Step: 11) Perform the reverse engineer for extracting metadata from source to ODI

The entire tables from the ms sql server database are visible now. Now we will create the data model for the Oracle schema.

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

Step: 12) Select the Oracle server model folder right click and from context menu select New Model define required details and save it.

Step: 13) Perform the reverse engineer for extracting metadata from source Oracle to ODI basically there is no table in source oracle we are just ensuring that it extract the table if it is available there.

Now I create a diagram, by using the Right-Mouse-Button on the Diagrams Node:

Then, we go to the Diagram tab so we can start creating the data stores

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

10

Now we drag & drop the data stores from our MS SQL Server model, onto the new diag_temp diagram, ODI will prompt us with a dialog box. The table is then added to the model, automatically using the metadata about data type translations to construct the target table.

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

11

We can then drag across additional data stores to make our model

Save the diagram and close it.

If we select this option, ODI will ask if we want to process tables not in the model (i.e. generate deletes to synchronize the two, or just to generate the delta code for the tables we have in the model. Ill select No for this:

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

12

This will bring up a dialog where I can choose which of the differences I want synchronized. Browse the generated folder box and browse the folder where you want to generate the DDL Procedure.

If I select all, and press the OK, it will generate an ODI procedure for me in the Default Folder I entered when I defined the model.

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

13

I can press the Play/Execute button to get ODI to execute the generated code, which I can then follow in the Operator Navigator:

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

14

Often, you will get errors with the tables which contain DATE/DATETIME/TIMESTAMP fields as ODI is not always clever about translating them. In this instance I just edited the generated code to take out the TIMESTAMP(23) and changed it to TIMESTAMP. So now I have a fully created data model. The next step is to get some data moved in, so I need interfaces. ODI will of course remember where the data stores were dragged from, and to, so will generate for me an interface which just does a one-to-one mapping using the default knowledge modules:

I select the Generate Interfaces In and ODI brings up a dialog for the tables:

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

15

3) Result
The required interfaces are then generated in that default directory I need to go into each one in order to execute it (If you try to execute without going in and saving it, you will get an error) You have to force a change, so that ODI can go through the process of saving it, which in turn makes it do some internal stuff, enabling execution. Then execute it.

You can verify the data by opening every single table.

Learnhyperion.wordpress.com | learnodi.wordpress.com | http://odinetwork.blogspot.com/

16

You might also like