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
Initial Draft
Gourav Atalkar
28-Oct-2011
0.1
Review 1st
Amit Sharma
28-Oct-2011
Learnhyperion.wordpress.com Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com com | http://odinetwork.blogspot.com/
1
Table of Contents 1)
Introduct Intr oduction ion a. b. c.
2)
Goal
3)
Resultt Resul
Comm on Form Common Format at Desi Designer gner Generati Gene rating ng DDL scri scripts pts Generate Gene rate Inter Interfface IN/OU IN/OUT T
3
3 3 3 4 16
Learnhyperion.wordpress.com Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com com | http://odinetwork.blogspot.com/
2
1)Introduction Common Format Designer Common Format Designer (CFD) is used to quickly design a data model from the Designer user user inter nterfface ace. This This data data model odel may be desig esigne ned d as an enti ntirely ely new new mod 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: •
•
integration interfaces interfaces are used to load the model's datastores Interfaces IN: IN: These integration assembl assembled ed from from other other datast datastore ores/c s/colu olumns mns.. They They are the integr integrati ation on proces processs merging data from the original datastores into the composite datastores.
Interfaces OUT: 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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com com | http://odinetwork.blogspot.com/
3
2)Goal I have a set of tables in my source database in my case I’ll use MS SQL Server2000. If I want to move that set of tables, with data across to Oracle, I’ll need to have a schema in Oracle where I can put the tables. In ODI’s 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 I’ll 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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com com | http://odinetwork.blogspot.com/
4
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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com com | http://odinetwork.blogspot.com/
5
Step: 4) Newly created physical schema is ready now needed to define the logical schema and map it with appropriate context.
Step: 5) Specify Specify the name of the logical logical schema and map it with the context context on which you want to work.
Save it. Now we will perform the same step for the oracle database
Learnhyperion.wordpress.com Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com com | http://odinetwork.blogspot.com/
6
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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com com | http://odinetwork.blogspot.com/
7
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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com com | http://odinetwork.blogspot.com/
8
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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com com | http://odinetwork.blogspot.com/
9
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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com 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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com 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. I’ll select “No” for this:
Learnhyperion.wordpress.com Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com 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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com 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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com 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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com com | http://odinetwork.blogspot.com/
15
3) Result The required required interfaces are then generated in that default directory 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 Learnhyperion.wordpre ss.com | learnodi.wordpress. learnodi.wordpress.com com | http://odinetwork.blogspot.com/
16