Hi Everyone…
One more post in our “Oracle Data Integrator 11g” serie.
In the last two features of the ODI 11g we have been covering the Initial and repository logic part . Now in this Post we will be covering few of the Inside looks, option changes in ODI 11g.
The idea is show what changed in the GUI. How to find some features that we already know and some new.
As I already said, now there is just an “ODI Studio” and the 4 ODI modules are inside the same visual interface.
Once logged into the ODI 11g we find that unlike different component in ODI 10g we have all the Designer, Topology , Operator and Security Manager integrated into Sub tabs which can be Closed and called again. If you have accidently closed any Navigator , you can call from View options.

Even in the each Component, instead of Tabs we find Sub sections.

Others and Solution are something we don’t use more and we can minimize them to have more space. To minimize, at the end you will find down arrow under each sub section and you can click on it and click on Minimize.

All the minimized sections are stored under this small bar with three dots at the end .

Once click you will find all the minimized objects. Click on it to expand.

Option which were seen in the title bar option in ODI 10g is not available as Scroll bar option


You can find the Import Work Repository option and other options which we found in File in 10g are now again as scroll menu at the top tab in Designer.

Similar such categorization and formatting is pretty much applied to other components of ODI.
ODI 11g also allows few good handling of Tabs while working with multiple or parallel Interface or Models etc . By default when you open objects in ODI they open by tabs .

and if you want to see two parallel tabs , and select New Editor Tab Group and see the objects in parallel and you can do for multiple objects.


The Interface is a little different in ODI 11g .

In ODI 11g we can split the Inter face into two screens, you can enable those options

And this way,you can see the two part of the ODI Interface simultaneously, the only restriction you cant see the same option on both section.

We can also view the source data store as Compact and symbolic.


There is also new add a lookup functionality ,where you can add datastore and make the required joins in a form of wizard.



and has a different color for lookup

You can also optimize the size of Datastore .


There are more user defined Flags

There is also a Quick Edit tab where we can see all our joins , lookup and all other information and we can edit and modify them accordingly .

The Flow Control bar is little different from previous version and you can select the IKM and LKM when you select the Staging Area.

ODI 11g supports Partition and Sub partition too and we shall cover them in a separate post in near future in detail .

The Models are pretty much having the same functionality except instead of Reverse button we have an icon to do that . The green arrow icon lets us to do our Reverse engineer.

In the Column as we have discussed before we have support for Partition and Sub Partitioning

Well, we tried to give you a general vision of everything in the graphical interface and its characteristics. More will come in the next days….
Thank you for visit us!
GD Star Rating
loading...
Posted: August 31st, 2010 |
Author: Cezar Santos |
Filed under: Architecture,
How to,
Logic,
ODI,
Tips and Tricks |
Tags: INTERFACES,
MODEL,
ODI 11g,
ODI GUI,
Oracle Data Integrator 11g,
REVERSE,
Sunopsis |
Comments: 2 Comments »
Hi People,
There is a “bug” in Oracle Data Integrator that doesn’t clean the SNP_EXP_TXT when the “parent” records are deleted.
That happens because, in the repository data model, there is no FK between the SNP_EXP_TXT and its several parents table exactly because they are several.
This situation can bring a huge increase of records and, the most of then, absolutely useless. I already see environments with more than 50 millions of records and with less than 100 k useful…
A consequence of this behavior could be a very slow answer when try to acess objects from Designer and/or Operator. That is very commom.
To solve, all you need is just execute the following DML (NOT TESTED ON 11G, ONLY FOR 10 version):
WARNNIG: THIS IS A DML AGAINST ODI WORK REPOSITORY TABLES. ONLY EXECUTE IT WITH ALL TABLES IN UNION SUB-QUERY. IF NOT, YOU CAN DELETE VALID RECORDS AND SEVERLY DAMAGE YOUR ODI INSTALATION UP TO UNRECOVERY STATE.
delete snp_exp_txt
where not exists
(select 0
from ( select distinct I_TXT_TASK_MESS I_TXT
from SNP_SESS_TASK_LOG
union all
select distinct I_TXT_SCEN I_TXT
from SNP_SCEN
union all
select distinct I_TXT_SESS_MESS I_TXT
from SNP_SCEN_REPORT
union all
select distinct I_TXT_DESCRIPTION I_TXT
from SNP_SCEN_FOLDER
union all
select distinct I_TXT_SESS_MESS I_TXT
from SNP_SESSION
union all
select distinct I_TXT_SESS_PARAMS I_TXT
from SNP_SESSION
union all
select distinct I_TXT_STEP_MESS I_TXT
from SNP_STEP_REPORT
union all
select distinct I_TXT_STEP_MESS I_TXT
from SNP_STEP_LOG
union all
select distinct I_TXT_VAR I_TXT
from SNP_VAR_SESS
union all
select distinct I_TXT_DEF_T I_TXT
from SNP_VAR_SESS
union all
select distinct I_TXT_VAR I_TXT
from SNP_VAR_SCEN
union all
select distinct I_TXT_DEF_T I_TXT
from SNP_VAR_SCEN
union all
select DISTINCT I_TXT as I_TXT
FROM SNP_TXT
union all
select DISTINCT I_TXT_VAR_IN as I_TXT
FROM SNP_VAR
) as UNION_TABLES
where UNION_TABLES.I_TXT = snp_exp_txt.I_TXT )
This is an Oracle DB query, adapt it for you Work Repository technology.
You can, either, create a Topology to Work Repository and use an ODI Procedure to schedule this DML once a month, for instance!
As always, comments are welcome!!
Talk to you soon, friends!
GD Star Rating
loading...
Posted: August 19th, 2010 |
Author: Cezar Santos |
Filed under: Administration,
Architecture,
Common Errors,
ODI,
ODI Bug,
Tips and Tricks |
Tags: ODI,
ODI Adminstration,
ODI Experts,
ODI Procedure,
Oracle Data Integrator,
repositories,
repository,
SNP_EXP_TXT |
Comments: 6 Comments »
This post is all about explaining how the internal Id in ODI plays and acts and what is the best practice and what actually happens when most of the error occurs.
Internal Id is an important element in ODI when its comes to Import Export of Object and so a good understanding of it can help us save time and above all errors related to Export Import . Internal ID apart being an incrementing code also have relationship to Work and Master Repository.
If you are keen on knowing how the internal Id objects have relation to Work (WR)and Master Repository. Here is the key , when you define your 2 or 3 digit number as the Internal ID to Repository, this number(WR Internal ID ) acts like a base in all the object.
Lets say my internal id for Work Repository is 200 .
My project will have the Internal Id – 1200
My Folder will have Internal Id of -2200
Interface1 – 2200
Interface2- 3200
Interface3- 1200
Variable1- 2200.
If you have notice all the different objects have suffix 200( WR Internal ID) to their incrementing number.
Note : ODI can have same internal Id for different objects but never for the same object , since while storing into the SNP work repository tables it increments accordingly by 1000 or other number as defined in its code.
Similarly its go for the Master Repository.
Lets say my Master Repository internal id 50 .
Data Server 1- 2050
Data Server 2 – 3050
Physical Schema1 – 1050
Physical Schema2 – 2050
Agent1-1050
[Please note some of the Default Data server created while Initial ODI installation( Ex - XML_GEO_DIM , File Generic etc ) will have different Internal ID not matching to your Master Repository IDs. ]
We hope till now , you would have got an good understanding of ODI objects , Repository Internal ID and their relationship .
Now let us cover the importance and the simple reason why Repositories needs to have different Internal ID and which is the highly suggested and the best practise to do with few simple scenarios.
Scenario 1. Two DWR having the same internal ID.
Let us call them DWR1 and DWR2. They both have the same Internal Id of 200 connected to different Master Repository.
Let say the development is being carried on both the repository or even the Development and Testing environment are both DWR .
Let say we have reveresed engineered datastore
Source Data Store – ABC (121200)
Target Data Store – TRG (321200)
and created the interface
Interface – XMT_Interface (143200)
The interface is ready and some body in the DWR2 needs the same Interface for their development build, but unfortunately some one have already reverse engineered the same in the DWR and their internal id as follows .
Source Data Store – ABC (122200)
Target Data Store – TRG (322200)
When the Developer brings in the Interface XMT_Interface thinking that already the Data store exists in the DWR2 , it will fail because of improper links , since Interface will look for Datastore ABC (121200) and TRG (321200) and KM and when they are different it error out.
To solve this either the developer have to bring in Duplicate mode and also change the Source Data stores. In short he pretty much needs to rebuild the whole interface again.
The other sub scenario can be Interface with the same ID can exists with different name and code. Again the Developer need to import in duplicate and assign the required datastore , in short rework .
Scenario 2. Two DWR having different internal ID.
Let me call them DWR1 and DWR2. They both have the different internal id of 200 and 201 respectively.
Now let say the developer is moving the Interface from the DWR1 to DWR 2. Well even now the interface will fail , not becuase of Interface id but becuase of the datastore can be different in the DWR2.
To solve this we need to import the data store too but that’s like having two different data stores for single purpose.
Well here the steps to handle in such a scenarios.
Step1. Sync Global Variable and other Global ODI objects , Model and Datastore when imported in One DWR to another DWR immediately or at the End of the Day.
Step2. Import the Codes in this order Project, KM, Local Variable, Procedure ,Interface and Packages for sync [ if required ]
Well with these above conditions in place, the Developer can easily migrate the code since
Source Data Store – ABC (121200)
Target Data Store – TRG (321200)
Will be present and also being a different internal id we can use Insert_Update and import the codes.
Above all, what ever is the case, have different internal Id for Work Repository.
Scenario -3 Importing from DWR to EWR having the same internal ID. (100)
Lets take an Example where a Developer in the EWR makes a duplicate of the present scenario ( 12100) and ODI starts to define a new Internal ID but here comes the issue , that
scenario internal id can be already present or in future when trying to import makes an Error ,since we have created a duplicate interface with that ID.
Scenario -4 Importing from DWR to EWR having the different internal ID. (200 and 201 )
If in case the EWR would have had a different internal id DWR (200) and EWR (201) , so when the Developer make a duplicate the new id will be with some thing like this (12201) and so its does not updates or modify or error out because of an existing object or even when importing scenarios in the future ,since the base ODI have scenarios with numbers ending in 200 .
Similarly the Internal ID can impact for different ODI objects in Topology and Security Manager, so use different Internal ID.
I hope this post have given you an understanding and the relationship of Internal Id , its generation method and why the objects gets error out.
Moral of the Post – Create Different internal Id for both Work Repository and Master Repository always .
Look for odiexperts.com for more tips, tricks and best practices.
GD Star Rating
loading...
Posted: August 17th, 2010 |
Author: Kshitiz Devendra and
Cezar Santos |
Filed under: Administration,
Architecture,
How to,
ODI,
Technology,
Tips and Tricks |
Tags: Export,
Import,
insert update mode,
odi internal id,
ODI repository |
Comments: No Comments »
Hello Dear Readers
Nothing better to start our analysis that the real first step to start an Oracle Data Integrator 11g environment. It’s means REPOSITORIES!
The visual interface is all new but the functionality is just the same… I liked this new interface to create “ODI things” once it’s just one place to do all.
The big difference from 10g version is that, now, is possible to define a “external user validation” since the Master Repository creation. Pretty good to security protocols!
Let’s show you the screen and process to create the repositories… it will allow all of you to see the new design and learn how to manipulate it:
When you First Login to ODI Studio, you will see an option to connect to Repository.
Creating Master Repository
File – > New -> Master Repository Creation Wizard



For this post we are going with ODI authentication , the default SUPERVISOR password is still SUNOPSIS.

Click Finish for ODI to create the required Master Repository. Once completed Login into Topology.

Click Connect to Repository and furnish the required information,similar to 10g

Creating Work Repository
Once logged in , Go to Repositories and Right click on Work Repositories - > New Work Repository



You can specify the password for ODI Work Repository , as any one trying to open the Work Repository need to enter the password created now.


Provide the ID and Name of the Work Repository and click Finish and once created .

Click Connect to Repository and provide the necessary details and also selec the Work repository and once done Login into Designer.


Well guys, as you can see, it’s not so different from previous version but, in my opinion, looks really better!!!!!
See you all in the “3/11g post”
GD Star Rating
loading...
Posted: August 5th, 2010 |
Author: Cezar Santos |
Filed under: Administration,
Architecture,
How to,
ODI,
Tips and Tricks |
Tags: Create Master Repository,
Create Work Repository,
ODI,
ODI Experts,
ODI repository,
Oracle Data Integrator,
Oracle Data Integrator 11g,
repositories,
repository,
Sunopsis |
Comments: No Comments »
The below post shows the an easy method to create a SCD TYPE 3 functionality.
Step 1 . Create a copy of the IKM Oracle Incremental Update and rename to IKM Oracle Incremental SCD Type 3
Step 2 . Add the following codes as a command and name it ” Historical Update Rows ” and scroll the level to before ” Update existing Rows ”
UPDATE <%=odiRef.getTable("L", "TARG_NAME", "A")%> T
set <%=odiRef.getColList("", "T.[COL_NAME]", ",\n\t", "", "(UD2)")%> =
<%=odiRef.getColList("", "T.[COL_NAME]", ",\n\t", "", "(UD1)")%>
where (<%=odiRef.getColList("","T.[COL_NAME]", ", ", "", "UK")%>)
in (
select <%=odiRef.getColList("","T.[COL_NAME]", ",\n\t\t\t", "", "UK")%>
from <%=odiRef.getTable("L", "TARG_NAME", "A")%> T ,
<%=odiRef.getTable("L", "INT_NAME", "A")%> S
where <%=odiRef.getColList("","T.[COL_NAME]", ", ", "", "UK")%> =
<%=odiRef.getColList("","S.[COL_NAME]", ", ", "", "UK")%> AND
<%=odiRef.getColList("", "T.[COL_NAME]", ",\n\t", "", "(UD1)")%>!=
<%=odiRef.getColList("", "S.[COL_NAME]", ",\n\t", "", "(UD1)")%>
)

Step 3. Go to your interface and assign UD1 to Column having current Value say for ex Salary and UD2 to column to be maintained for historical value say for ex Previous Salary (Uncheck Insert and Update and check only UD2)
Step 4 . Lets take a look at an example for a complete overview.
Here i have two columns Salary and Previous Salary . I have marked the Salary as UD1 and previous_salary as UD2(uncheck Insert and Update and check only UD2)



I am updating the salary to 8210 and 7710 respectively at the source side .
Step 5 . Save and run the interface .
Let me change salary data for two records and lets see if it comes through.

It does. Have fun and look for odiexperts for more fun and interesting ideas.
GD Star Rating
loading...
Posted: July 30th, 2010 |
Author: Kshitiz Devendra and
Cezar Santos |
Filed under: Architecture,
How to,
Logic,
ODI,
Tips and Tricks |
Comments: 2 Comments »