Sie sind auf Seite 1von 28

Oracle Data Integrator (ODI) Interview

questions
1) What components make up Oracle Data Integrator?
"Oracle Data Integrator" comprises of the following
1. Oracle Data Integrator + Topology Manager + Designer + Operator + Agent.
2. Oracle Data Quality for Data Integrator.
3. Oracle Data Profiling.
2) What is a model in ODI ?
A data model corresponds to group of tabular data structure stored in a data server
and is based on a Logical Schema defined in the topology and contain only
metadata.
ODI Model stores the metadata about the source and target tables.
An ODI model is a set of ODI datastore (table). A model can contain all tables or a
subset of the tables from a database schema. ODI does not call the tables tables,
but call them datastore since they may not come from database. XML files, LDAP
Tree, flat files, etc, are also datastores.
Unlike Informatica, which requires you to know whether a database table is a source
or a target during the time when you importing the database table definition, ODI lets
you to keep the model definition independently from the usage of the model.
The data warehouse staging tables are the source of the target tables and are the
target of the OLTP tables. You have to import them and copy them when you do ETL
development using Informatica.
ODI allows you to group datastores into model folders and sub models.

Partitioning In ODI:
Range Partitioning
Range partitioning maps data to partitions based on ranges of partition key values that
you establish for each partition. It is the most common type of partitioning and is often
used with dates. For example, you might want to partition sales data into monthly
partitions.

Range partitioning maps rows to partitions based on ranges of column values. Range
partitioning is defined by the partitioning specification for a table or index
in PARTITION BY RANGE(column_list) and by the partitioning specifications for each
individual partition in VALUES LESS THAN(value_list), wherecolumn_list is an ordered
list of columns that determines the partition to which a row or an index entry belongs.
These columns are called the partitioning columns. The values in the partitioning
columns of a particular row constitute that row's partitioning key.
An ordered list of values for the columns in the column list is called a value_list. Each
value must be either a literal or a TO_DATE or RPAD function with constant arguments.
Only the VALUES LESS THAN clause is allowed. This clause specifies a non-inclusive upper
bound for the partitions. All partitions, except the first, have an implicit low value
specified by the VALUES LESS THAN literal on the previous partition. Any binary values of
the partition key equal to or higher than this literal are added to the next higher partition.
Highest partition being where MAXVALUE literal is defined. Keyword, MAXVALUE, represents
a virtual infinite value that sorts higher than any other value for the data type, including
the null value.
The following statement creates a table sales_range that is range partitioned on
the sales_date field:
CREATE TABLE sales_range (salesman_id NUMBER(5), salesman_name
VARCHAR2(30), sales_amount NUMBER(10), sales_date
DATE)COMPRESSPARTITION BY RANGE(sales_date)(PARTITION sales_jan2000 VALUES
LESS THAN(TO_DATE('02/01/2000','DD/MM/YYYY')), PARTITION sales_feb2000
VALUES LESS THAN(TO_DATE('03/01/2000','DD/MM/YYYY')), PARTITION
sales_mar2000 VALUES LESS THAN(TO_DATE('04/01/2000','DD/MM/YYYY')),
PARTITION sales_apr2000 VALUES LESS
THAN(TO_DATE('05/01/2000','DD/MM/YYYY')));
Hash Partitioning
Hash partitioning maps data to partitions based on a hashing algorithm that Oracle
applies to a partitioning key that you identify. The hashing algorithm evenly distributes
rows among partitions, giving partitions approximately the same size. Hash partitioning is
the ideal method for distributing data evenly across devices. Hash partitioning is also an
easy-to-use alternative to range partitioning, especially when the data to be partitioned
is not historical.
Oracle Database uses a linear hashing algorithm and to prevent data from clustering
within specific partitions, you should define the number of partitions by a power of two
(for example, 2, 4, 8).
The following statement creates a table sales_hash, which is hash partitioned on
the salesman_id field:
CREATE TABLE sales_hash(salesman_id NUMBER(5), salesman_name VARCHAR2(30),
sales_amount NUMBER(10), week_no NUMBER(2)) PARTITION BY HASH(salesman_id)
PARTITIONS 4;

List Partitioning
List partitioning enables you to explicitly control how rows map to partitions. You do this
by specifying a list of discrete values for the partitioning column in the description for
each partition. This is different from range partitioning, where a range of values is
associated with a partition and with hash partitioning, where you have no control of the
row-to-partition mapping. The advantage of list partitioning is that you can group and

organize unordered and unrelated sets of data in a natural way. The following example
creates a list partitioned table grouping states according to their sales regions:
CREATE TABLE sales_list(salesman_id NUMBER(5), salesman_name
VARCHAR2(30),sales_state
VARCHAR2(20),sales_

3) What are User Parameters in Oracle Data Integrator?


Oracle Data Integrator saves user parameters such as default directories, windows
positions etc. User parameters are saved in the userpref.xml file in /bin.
4) What are the Types of repositories in ODI and explain them?
There are two types of repositories in ODI.
1. Master repository: This is a data structure containing information on the
topology of the companys IT resources, on security and on version
management of projects and data models. This repository is stored on a
relational database accessible in client/server mode from the different Oracle
Data Integrator modules.
2. Work repository: This is a data structure containing information on data
models, projects, and their use. This repository is stored on a relational
database accessible in client/server mode from the different Oracle Data
Integrator modules. Several work repositories can be created with several
master repositories if necessary. However, a work repository can be linked
with only one master repository for version management purposes.
5) Can I create more than one Master Repository in ODI?
Yes. In general, you need only one master repository. However, it may be necessary
to create several master repositories if the Project construction over several sites not
linked by a high-speed network (off-site development, for example) or Necessity to
clearly separate the interfaces operating environments (development, test,
production), including on the database containing the master repository. This may be
the case if these environments are on several sites.
6) What are the types of Knowledge Modules?
ODI Uses Six Different Types of Knowledge Modules
1. RKM (Reverse Knowledge Module) are used to perform a customized
reverse-engineering of data models for a specific technology. It extracts
metadata from a metadata provider to ODI repository. These are used in data
models. A data model corresponds to group of tabular data structure stored in
a data server and is based on a Logical Schema defined in the topology and
contain only metadata.

2. LKM (Loading Knowledge Module) are used to extract data from


heterogeneous source systems (files, middleware, databases, etc.) to a
staging area. These are used in Interfaces. An interface consists of a set of
rules that define the loading of a datastore or a temporary target structure
from one or more source datastores.
3. JKM (Journalizing Knowledge Modules) are used to create a journal of data
modifications (insert, update and delete) of the source databases to keep
track of changes. These are used in data models and used for Changed Data
Capture.
4. IKM (Integration Knowledge Module) are used to integrate (load) data from
staging to target tables. These are used in Interfaces.
5. CKM (Check Knowledge Module) are used to check data consistency i.e.
constraints on the sources and targets are not violated. These are used in
data models static checks and interfaces flow checks. Static check refers to
constraint or rules defined in data model to verify integrity of source or
application data. Flow check refers to declarative rules defined in interfaces to
verify an applications incoming data before loading into target tables.
6. SKM (Service Knowledge Module) are used to generate code required for
data services. These are used in data models. Data Services are specialized
web services that enable access to application data in datastores, and to the
changes captured for these datastores using Changed Data Capture.

7) What is An Interface?
Interface is an object in ODI which will map the sources to target datamarts.
8) What is a temporary Interface (Yellow Interface) ?
The advantage of using a yellow interface is to avoid the creation of Models each
time we need to use it in an interface. Since they are temporary, they are not a part
of the data model and hence dont need to be in the Model.
9) Explain some differences between ODI 10g and ODI 11g?
1. ODI 11g provides a Java API to manipulate both the design-time and run-time
artifacts of the product. This API allows you for example to create or modify
interfaces programmatically, create your topology, perform import or export
operations, launch or monitor sessions. This API can be used in any Java SE
and Java EE applications, or in the context of Java-based scripting languages
like Groovy or Jython.
2. External Password Storage, to have source/target data servers (and contexts)
passwords stored in an enterprise credential store. External Authentication, to

have user/password information stored in an enterprise identity store (e.g.:


LDAP, Oracle Directory, Active Directory), and ODI authenticating against this
store. These two features let you optionally store critical information in
dedicated storages and not within the ODI repository. The ODI Console may
also use Oracle's single-sign on systems with ODI.
10) What is CKM and when we will use this CKM?
Check control module is used when we are creating constraints on target datastore.
We can say that CKM is used in Data Quality control.
11) What is SKM and when we will use this SKM?
SKM (Service Knowledge Module) is used to generate code required for data
services. These are used in data models. Data Services are specialized web
services that enable access to application data in datastores, and to the changes
captured for these datastores using Changed Data Capture.
12) How to load data from file to file and what are the KM's required for this
requirement?
IKM File to File
13) What are the types of data quality control?
There are two ways to data quality control
1. Static: We will run the constraints on existing target data. This is done after
loading the data into target.
2. Flow: we will run the constraints on incoming data. This is done before loading
the data into target.
14) what is a constraint?
It is a condition which you want to apply while transferring the data from source to
target.
15) what is E$ table in ODI ?
Temporary Error table created by ODI. This is created by CKM.
16) what is I$ table in ODI ?
This is a flow table created by IKM while integrating data in the datamart. This is a
temporary table used by ODI.
17) what is J$ table in ODI ?
This is where all changes are recorded. Journals contain references to the changed
records along with the type of change (insert, update or delete).

18) What is Journalization and why we are using in ODI ?


It is the way to implement change data capture in ODI. We use JKM for this purpose.
19) Explain step by step procedure to enable Journalization?
The first step is to import a proper JKM. After creating model and reverse
engineering we have to add the model to CDC and then we need to subscribe to the
table we want. This will enable the Journalization.
20) What is a scenario in ODI? Explain about scenario.
When a component such as a ODI interface or package has been created and
tested, you can generate the scenario corresponding its actual state. Now Oracle
defines the scenario code (the language generated) as the frozen component, and
all subsequent modifications of the components which contributed to creating it will
not change it in any way.
It is possible to generate scenarios for packages, procedures, interfaces or variables.
21) What is package and main advantages?
ODI Package is the largest unit of execution in Oracle Data Integrator. A Package is
made up of a sequence of steps organized into an execution diagram.
We can run multiple interfaces in one step based on the success of the all interfaces.
We can use various ODI toolbox components along with interfaces and variables.
22) How to create a package ?
Go to Designer and select your project. Once you located your project highlight
Packages and right click your mouse, select New Package..Once you have done
the following you will now be able to create your ODI package. Before doing so, you
will need to enter a name for your ODI package. Once you have added the name for
your ODI package, click on the Diagram tab on the left corner. Now you need to
add the interfaces and variables etc. to this diagram and connect them accordingly.
23) Explain about ODI toolbox ?
While creating a package we can use the ODI toolbox to achieve some special
needs.

ODIFileAppend Append multiple flat files into 1.


ODIFtpGet Obtain flat files on your server for loading.
ODISendMail Send an email once your package has complete or failed.

24) Differences between package and load plans?


In a package you will have various objects such as interfaces, variables etc. which
are connected in an order. They will get executed in an order based on the result of
the previous object. A package will simplify the work of a developer by making a
multi-step process into single click executable.
In Load plan, the scenarios will be executed In either serial or parallel manner. Load
plan cannot be represented diagrammatically which is the case in a package.
25) What is an agent and What are the types of agents?
A physical agent is an ODI Java service that runs on a host as a listener on a TCP/IP
port. It can execute your scenarios when it is invoked from one of the ODI GUI
modules or schedule these executions when it is started as a scheduler. A physical
agent should have a unique name in Topology Manager. It is referenced by its hosts
IP address or name and the TCP port it is listening on. A physical agent can run
multiple sessions in parallel (multi-threaded). For optimization purposes, it is
recommended that you adjust the maximum number of concurrent sessions it is
allowed to execute. When this maximum number is reached, any new incoming
session will be queued by the agent and executed later when other sessions have
terminated. If you plan to run multiple parallel scenarios, you can use Load balancing
with other agents.
Types of Agents:
1. Stand Alone agent
2. J2EE agent
26) What is flexfileds and use of flexfileds in ODI ?
In ODI you can create user-defined fields on certain objects. You can think of these
fields as additional attributes for certain objects. At design time you populate these
attributes with values that are then used at runtime, e.g. by a Knowledge Module.
There are various Flexfields defined out of the box for very specific...
27) What is profile in ODI ?
Profile is a set of objective wise privileges. we can assign this profiles to the users.
Users will get the privileges from profile.
28) What are the types of profiles in ODI ?
CONNECT: Minimum generic profile for connecting to Oracle Data Integrator. All
users must have at least this profile.
DESIGNER: Generic profile for interface developers, or users working on the

interfaces. This profile give access to any project and project sub components
(folders, interfaces, knowledge modules, etc.) stored in the repository. It also
authorize users to perform journalizing actions (start journal, create subscriber, etc.)
or to run static controls over models and datastores.
METADATA ADMIN: Generic profile for users responsible for managing models and
reverse-engineering. Users having this profile are allowed to browse any project in
order to select a CKM, RKM or JKM and to attach it to a specific model.
OPERATOR: Generic profile for operators. It allows users to browse execution logs.
REPOSITORY EXPLORER: Generic profile for meta-data browsing through
Metadata Navigator. It also allows scenario launching from Metadata Navigator.
SECURITY ADMIN: Generic profile for administrators of user accounts and profiles.
TOPOLOGY ADMIN: Generic profile for users responsible for managing the
information system topology. Users granted with this profile are allowed to perform
any action through the Topology Manager module.
VERSION ADMIN: Generic profile for managing component versions as well as
solutions. This profile must be coupled with DESIGNER and METADATA ADMIN.
NG DESIGNER: Non-Generic profile for DESIGNER.
NG METADATA ADMIN: Non-Generic profile for METADATA ADMIN.
NG REPOSITORY EXPLORER: Non-generic profile for meta-data browsing through
Metadata Navigator.
NG VERSION ADMIN: Non-generic profile for VERSION ADMIN. It is recommended
that you use this profile with NG DESIGNER and NG METADATA ADMIN.
29) Difference between generic and non-generic profiles ?
If an administrator wants a user to have the rights on no instance by default, but
wishes to grant the rights by instance, he must grant the user with a non-generic
profile.
If an administrator wants a user to have the rights on all instances of an object type
by default, he must grant the user with a generic profile.
30) What are the types of Generic profiles types in ODI ?
Connect, Designer, Metadata Admin, Operator, Repository Explorer, Security Admin,
Topology, Admin, Version Admin.
31) What are the types of non-Generic profiles types in ODI ?
NG DESIGNER, NG METADATA ADMIN, NG REPOSITORY EXPLORER, NG
VERSION ADMIN.

32) Which profile required to access Models in Designer tool?


CONNECT, DESIGNER, METADATA ADMIN (to be able to do reverse engineering)
33) Which profile required to access solution in Designer tool?
CONNECT and DESIGNER profiles.
34) Which profile required to access ODI Console?
I think it doesn't depend on ODI profiles, but on your WebLogic users and rights.
35) How to move objects from DEV to QA and QA to PROD Environments ?
Use the "export" and "import" utility
36) What are types of LOG LEVELS in ODI ?
Notification, Incident_error, error, warning, trace etc. High priority is log level 1 and
low priority is 32.
37) What is the use of Markers?
Markers will give the info about priority orders.
38) What's Memos?
A memo is an unlimited amount of text attached to virtually any object, visible on its
Memo tab. When an object has a memo attached.
39) What are Sequences?
A sequence is a variable that increments itself each time it is used. Between two
uses, the value can be stored in the repository or managed within an external
RDBMS table. Oracle Data Integrator supports two types of sequences: Standard
sequences, whose last value is stored in the Repository. Specific sequences , whose
last value is stored in an RDBMS table cell. Oracle Data Integrator undertakes to
read the value, to lock the row (for concurrent updates) and to update the row after
the last increment.
40) What is Session?
A session is an execution (of a scenario, an interface, a package or a procedure etc.)
undertaken by an execution agent. A session is made up of steps which are made up
of tasks.
41) What is Session Tasks?
The task is the smallest execution unit. It corresponds to a procedure command in a
KM, a procedure, assignment of a variable, etc

42) Does ODI support web services?


Yes. ODI supports web services, ODI is 'SOA' enabled and its web services can be
used in 3 ways: The Oracle Data Integrator Public Web Service, that lets you
execute a scenario (a published package) from a web service call Data Services,
which provide a web service over an ODI data store (i.e. a table, view or other data
source registered in ODI) The ODIInvokeWebService tool that you can add to a
package to request a response from a web service.
43) what is the ODI Console?
ODI console is a web based navigator to access the Designer, Operator and
Topology navigators through browser.
44) Suppose I having 10 interfaces and running the interface 5th one failed
how to run remaining interfaces?
If you are running Sequential load it will stop the other interfaces. so go to operator
navigator and right click on failed interface and click on restart. If you are running all
the interfaces are parallel only one interface will fail and other interfaces will finish.
45) what's load plans and types of load plans?
Load plan is a process to run or execute multiple scenarios as a Sequential or
parallel or conditional based execution of your scenarios. And same we can call
three types of load plans , Sequential, parallel and Condition based load plans.
46) How to write the sub-queries in ODI ?
We can follow anyone of the following to create a sub query.
1. Using Yellow interface and sub queries option we can create sub queries in
ODI.
2. Using a VIEW we can go for sub queries.
3. Using ODI Procedure we can call direct database queries in ODI.
47) Remove the duplicate in ODI ?
Use DISTINCT, in IKM level. it will remove the duplicate rows while loading into
target.

48) Suppose having unique and duplicate but i want to load unique record one
table and duplicates one table?
Create two interfaces or once procedure and use two queries one for Unique values
and one for duplicate values.

49) how to implement data validations?


Use Filters & Mapping Area AND Data Quality related to constraints use CKM Flow
control.
50) How to handle exceptions?
Exceptions In packages advanced tab and load plan exception tab we can handle
exceptions.
51) In the package one interface got failed how to know which interface got
failed if we no access to operator?
Make it mail alert or check into SNP_SESS_LOG tables for session log details.
52) How to implement the logic in procedures if the source side data deleted
that will reflect the target side table?
User this query on Command on target Delete from Target_table where not exists
(Select 'X' From Source_table Where Source_table.ID=Target_table.ID).
53) If the Source have total 15 records with 2 records are updated and 3
records are newly inserted. Which knowledge module we should use to get
these changes at the target side.
We have to load the newly changed and inserted records Use IKM Incremental
Update Knowledge Module for Both Insert n Update operations.
54) Can we implement package in package?
Yes. we can ,call one package into other package.
55) How to load the data with one flat file and one RDBMS table using joins?
Drag and drop both File and table into source area and join as in Staging area.
57) How to reverse engineer views(how to load the data from views)?
In Models Go to Reverse engineering tab and select Reverse engineering object as
VIEW.
58) What systems can ODI extract and load data into?
ODI brings true heterogeneous connectivity out-of-the-box, it can connect natively to
Oracle, Sybase, MS SQL Server, MySQL, LDAP, DB2, PostgreSQL, Netezza. It can
also connect to any data source supporting JDBC, its possible even to use the
Oracle BI Server as a data source using the JDBC driver that ships with BI Publisher
59) Suppose having unique and duplicate but I want to load unique record one
table and duplicates one table?

Create two interfaces or once procedure and use two queries one for Unique values
and one for duplicate values.
60) What is a procedure and how to write the procedures in ODI ?
A Procedure is a reusable component that allows you to group actions that do not fit
in the Interface framework. (That is load a target datastore from one or more
sources). A Procedure is a sequence of commands launched on logical schemas. It
has a group of associated options. These options parameterize whether or not a
command should be executed as well as the code of the commands.
61) What are the prime responsibilities of Data Integration Administrator?

Scheduling and executing the batch jobs.

Configuring, starting and stopping the real-time services

Adapters configuration and managing them.

Repository usage, Job Server configuration.

Access Server configuration.

Batch job publishing.

Real-time services publishing through web services.

Explain what is ORACLE DATA INTEGATOR? why is it different from the other ETL
tools.
Ans 1: ORACLE DATA INTEGATOR stands for Oracle Data Integrator. It is
different from another ETL tool in a way that it uses E-LT approach as opposed
to ETL approach. This approach eliminates the need of the exclusive
Transformation Server between the Source and Target Data server. The power of
the target data server can be used to transform the data. i.e. The target data
server acts as staging area in addition to its role of target databasel. While
loading the data in the target database (from staging area) the transformation
logic is implemented. Also, the use of appropriate CKM (Check Knowldege
Module) can be made while doing this to implement data quality requirement.

Q3.How will you bring in the different source data into ORACLE DATA
INTEGATOR?
you will have to create dataservers in the topology manager for the different
sources that you want.

Q4.How will you bulk load data?


In ORACLE DATA INTEGATOR there are IKM that are designed for bulk loading of
data.
Q6.How will you bring in files from remote locations?
We will invoke the Service knowledge module in ORACLE DATA INTEGATOR,this
will help us to accesses data thought a web service.
Q7.How will you handle dataquality in ORACLE DATA INTEGATOR?
There are two ways of handling dataquality in ORACLE DATA INTEGATOR....the
first method deals with handling the incorrect data using the CKM...the second
method uses Oracle data quality tool(this is for advanced quality options).

ODI Interview Questions and Answers


What is Oracle Data Integrator (ODI)?
Oracle acquired SUNOPSIS with its ETL tool called "Sunopsis Data Integrator" and renamed
to Oracle Data Integrator (ODI) is an E-LT (Extract, Load and Transform) tool used for
high-speed data movement between disparate systems.

The latest version, Oracle Data Integrator Enterprise Edition (ODI-EE 12c) brings together
"Oracle Data Integrator" and "Oracle Warehouse Builder" as separate components of a
single product with a single licence.

Explain what is ODI?why is it different from the other ETL tools.


ODI stands for Oracle Data Integrator. It is different from another ETL tool in a way that it
uses E-LT approach as opposed to ETL approach. This approach eliminates the need of the
exclusive Transformation Server between the Source and Target Data server. The power of
the target data server can be used to transform the data. i.e. The target data server acts
as staging area in addition to its role of target database.
while loading the data in the target database (from staging area) the transformation logic
is implemented. Also, the use of appropriate CKM (Check Knowldege Module) can be made
while doing this to implement data quality requirement.

What is E-LT? Or What is the difference between ODI and other ETL Tools?

E-LT is an innovative approach to extracting, loading and Transforming data. Typically ETL
application vendors have relied on costly heavyweight , mid-tier server to perform the
transformations required when moving large volumes of data around the enterprise.

ODI delivers unique next-generation, Extract Load and Transform (E-LT) technology that
improves performance and reduces data integration costs, even across heterogeneous
systems by pushing the processing required down to the typically large and powerful
database servers already in place within the enterprise.

Components of Oracle Data Integrator?


"Oracle Data Integrator" comprises of:
- Oracle Data Integrator + Topology Manager + Designer + Operator + Agent
- Oracle Data Quality for Data Integrator
- Oracle Data Profiling

What systems can ODI extract and load data into?


ODI brings true heterogeneous connectivity out-of-the-box, it can connect natively to
Oracle, Sybase, MS SQL Server, MySQL, LDAP, DB2, PostgreSQL, Netezza.

It can also connect to any data source supporting JDBC, its possible even to use the Oracle
BI Server as a data source using the jdbc driver that ships with BI Publisher

What are Knowledge Modules?


Knowledge Modules form the basis of 'plug-ins' that allow ODI to generate the relevant
execution code , across technologies , to perform tasks in one of six areas, the six types of
knowledge module consist of:

Reverse-engineering knowledge modules are used for reading the table and other
object metadata from source databases
Journalizing knowledge modules record the new and changed data within either a
single table or view or a consistent set of tables or views

Loading knowledge modules are used for efficient extraction of data from source
databases for loading into a staging area (database-specific bulk unload utilities can be
used where available)
Check knowledge modules are used for detecting errors in source data
Integration knowledge modules are used for efficiently transforming data from
staging area to the target tables, generating the optimized native SQL for the given
database
Service knowledge modules provide the ability to expose data as Web services
ODI ships with many knowledge modules out of the box, these are also extendable, they
can modified within the ODI Designer module.
Does my ODI infrastructure require an Oracle database?No, the ODI modular repositories
(Master + and one of multiple Work repositories) can be installed on any database engine
that supports ANSI ISO 89 syntax such as Oracle, Microsoft SQL Server, Sybase AS
Enterprise, IBM DB2 UDB, IBM DB2/40.
Does ODI support web services?
Yes, ODI is 'SOA' enabled and its web services can be used in 3 ways:

The Oracle Data Integrator Public Web Service, that lets you execute a scenario (a
published package) from a web service call
Data Services, which provide a web service over an ODI data store (i.e. a table,
view or other data source registered in ODI)
The ODIInvokeWebService tool that you can add to a package to request a response
from a web service

what
is
the
ODI
Console?
ODI console is a web based navigator to access the Designer, Operator and Topology
components through browser.
suppose I having 6 interfaces and running the interface 3 rd one failed how to run
remaining
interfaces?
If you are running Sequential load it will stop the other interfaces. so goto operator and
right click on filed interface and click on restart. If you are running all the interfaces are
parallel only one interface will fail and other interfaces will finish.

what
is
load
plans
and
types
of
load
plans?
Load plan is a process to run or execute multiple scenarios as a Sequential or parallel or
conditional based execution of your scenarios. And same we can call three types of load
plans , Sequential, parallel and Condition based load plans.

what
is
profile
in
ODI?
profile is a set of objective wise privileges. we can assign this profiles to the users. Users
will
get
the
privileges
from
profile
How
to
write
the
sub-queries
in
ODI?
Using Yellow interface and sub queries option we can create sub queries in ODI. or Using
VIEW we can go for sub queries Or Using ODI Procedure we can call direct database queries
in
ODI.
How
to
remove
the
duplicate
in
ODI?
Use DISTINCT in IKM level. it will remove the duplicate rows while loading into target.
Suppose having unique and duplicate but i want to load unique record one table and
duplicates
one
table?
Create two interfaces or once procedure and use two queries one for Unique values and
one for duplicate values.
how
to
implement
data
validations?
Use Filters & Mapping Area AND Data Quality related to constraints use CKM Flowcontrol.
How
to
handle
exceptions?
Exceptions In packages advanced tab and load plan exception tab we can handle
exceptions.

In the package one interface got failed how to know which interface got failed if we no
access
to
operator?
Make it mail alert or check into SNP_SESS_LOg tables for session log details.

How to implement the logic in procedures if the source side data deleted that will
reflect
the
target
side
table?
User this query on Command on target Delete from Target_table where not exists (Select
'X' From Source_table Where Source_table.ID=Target_table.ID).
If the Source have total 15 records with 2 records are updated and 3 records are newly
inserted at the target side we have to load the newly changed and inserted records
Use IKM Incremental Update Knowledge Module for Both Insert n Update operations.
Can
we
implement
package
Yes, we can call one package into other package.

in

package?

How to load the data with one flat file and one RDBMS table using joins?
Drag and drop both File and table into source area and join as in Staging area.
If the source and target are oracle technology tell me the process to achieve this
requirement(interfaces, KMS, Models)
Use LKM-SQL to SQL or LKM-SQL to Oracle , IKM Oracle Incremental update or Control
append.
what we specify the in XML data server and parameters for to connect to xml file?

File name with location :F and Schema :S this two parameters


How to reverse engineer views(how to load the data from views)?
In Models Go to Reverse engineering tab and select Reverse engineering object as
VIEW.

Qs> What is Oracle Data Integrator (ODI)?


Oracle acquired Sunopsis in 2006 and with it Sunopsis Data Integrator.
Oracle Data Integrator (ODI) is an E-LT (Extract, Load and Transform) tool
used for high-speed data movement between disparate systems.
The latest version, Oracle Data Integrator Enterprise Edition (ODI-EE) brings
together Oracle Data Integrator and Oracle Warehouse Builder as separate
components of a single product with a single licence.
Qs> What is E-LT?
E-LT is an innovative approach to extracting, loading and Transforming data.
Typically ETL application vendors have relied on costly heavyweight , mid-tier
server to perform the transformations required when moving large volumes of
data around the enterprise.
ODI delivers unique next-generation, Extract Load and Transform (E-LT)
technology that improves performance and reduces data integration costs, even
across heterogeneous systems by pushing the processing required down to the
typically large and powerful database servers already in place within the
enterprise.
Qs> What components make up Oracle Data Integrator?
Oracle Data Integrator comprises of:
- Oracle Data Integrator + Topology Manager + Designer + Operator + Agent
- Oracle Data Quality for Data Integrator
- Oracle Data Profiling
Qs> What is Oracle Data Integration Suite?
Oracle data integration suite is a set of data management applications for
building, deploying, and managing enterprise data integration solutions:
Oracle Data Integrator Enterprise Edition
Oracle Data Relationship Management
Oracle Service Bus (limited use)
Oracle BPEL (limited use)

Oracle WebLogic Server (limited use)


Additional product options are:
Oracle Goldengate
Oracle Data Quality for Oracle Data Integrator (Trillium-based DQ)
Oracle Data Profiling (Trillium based Data Profiling)
ODSI (the former Aqualogic Data Services Platform)
Qs> What systems can ODI extract and load data into?
ODI brings true heterogeneous connectivity out-of-the-box, it can connect
natively to Oracle, Sybase, MS SQL Server, MySQL, LDAP, DB2, PostgreSQL,
Netezza.
It can also connect to any data source supporting JDBC, its possible even to use
the Oracle BI Server as a data source using the jdbc driver that ships with BI
Publisher
Qs> What are Knowledge Modules?
Knowledge Modules form the basis of plug-ins that allow ODI to generate the
relevant execution code , across technologies , to perform tasks in one of six
areas, the six types of knowledge module consist of:
Reverse-engineering knowledge modules are used for reading the table and other
object metadata from source databases
Journalizing knowledge modules record the new and changed data within either a
single table or view or a consistent set of tables or views
Loading knowledge modules are used for efficient extraction of data from source
databases for loading into a staging area (database-specific bulk unload utilities
can be used where available)
Check knowledge modules are used for detecting errors in source data
Integration knowledge modules are used for efficiently transforming data from
staging area to the target tables, generating the optimized native SQL for the
given database
Service knowledge modules provide the ability to expose data as Web services
ODI ships with many knowledge modules out of the box, these are also
extendable, they can modified within the ODI Designer module.
Qs> How do Contexts work in ODI?
ODI offers a unique design approach through use of Contexts and Logical
schemas. Imagine a development team, within the ODI Topology manager a

senior developer can define the system architecture, connections, databases,


data servers (tables etc) and so forth.
These objects are linked through contexts to logical architecture objects that
are then used by other developers to simply create interfaces using these
logical objects, at run-time, on specification of a context within which to
execute the interfaces, ODI will use the correct physical connections,
databases + tables (source + target) linked the logical objects being used in
those interfaces as defined within the environment Topology.
Qs> Does my ODI infrastructure require an Oracle database?
No, the ODI modular repositories (Master + and one of multiple Work
repositories) can be installed on any database engine that supports ANSI ISO
89 syntax such as Oracle, Microsoft SQL Server, Sybase AS Enterprise, IBM
DB2 UDB, IBM DB2/40.
Qs> Does ODI support web services?
Yes, ODI is SOA enabled and its web services can be used in 3 ways:
The Oracle Data Integrator Public Web Service, that lets you execute a scenario
(a published package) from a web service call
Data Services, which provide a web service over an ODI data store (i.e. a table,
view or other data source registered in ODI)
The ODIInvokeWebService tool that you can add to a package to request a
response from a web service
Qs> Is ODI Used by Oracle in their products?
Yes there are many Oracle products that utilise ODI, but here are just a few:
Oracle Application Integration Architecture (AIA)
Oracle Agile products
Oracle Hyperion Financial Management
Oracle Hyperion Planning
Oracle Fusion Governance, Risk & Compliance
Oracle Business Activity Monitoring
Oracle BI Applications also uses ODI as its core ETL tool in place of
Informatica , but only for one release of OBIA and when using a certain source
system.
ELT Vs ETL
The ability to dynamically manage a staging area

The ability to generate code on source and target systems alike, in the same
transformation
The ability to generate native SQL for any database on the marketmost ETL
tools will generate code for their own engines, and then translate that code for
the databaseshence limiting their generation capacities to their ability to
convert proprietary concepts
The ability to generate DML and DDL, and to orchestrate sequences of
operations on the heterogeneous systems
1.Explain what is ODI?why is it different from the other ETL tools.
ANS: ODI stands for Oracle Data Integrator. It is different from another ETL tool in a
way that it uses E-LT approach as opposed to ETL approach. This approach eliminates
the need of the exclusive Transformation Server between the Source and Target Data
server. The power of the target data server can be used to transform the data. i.e. The
target data server acts as staging area in addition to its role of target databasel. While
loading the data in the target database (from staging area) the transformation logic is
implemented. Also, the use of appropriate CKM (Check Knowldege Module) can be made
while doing this to implement data quality requirement.
2.Explain about what you have done using ODI?

3.How will you bring in the different source data into ODI?
ANS:you will have to create dataservers in the topology manager for the different
sources that you want.
4.How will you bulk load data?
ANS:In Odi there are IKM that are designed for bulk loading of data.
5.How will you install ODI?
ANS: http://subbus.blogspot.in/2014/03/oracle-data-integrator-odisunopsis.html
6.How will you bring in files from remote locations?
ANS:We will invoke the Service knowledge module in ODI,this will help us to accesses
data thought a web service.
7.How will you handle dataquality in ODI?
ANS:There are two ways of handling dataquality in Odi....the first method deals with
handling the incorrect data using the CKM...the second method uses Oracle data quality
tool(this is for advanced quality options)

8. what is load plans and types of load plans?


ANS) Load plan is a process to run or execute multiple scenarios as a Sequential or
parallel or conditional based execution of your scenarios. And same we can call three
types of load plans , Sequential, parallel and Condition based load plans.
9. what is profile in odi?
ANS) profile is a set of objective wise privileges. we can assign this profiles to the users.
Users will get the privileges from profile. Please
refer http://oditraining.blogspot.co.uk/2012/06/odi-security-manager-all-profiles.html

10 what is the odi console?


ANS) ODI console is a web based navigator to access the Designer, Operator and
Topology components through browser.
11.how to write the sub queries in odi?
ANS:)Using Yellow interface and sub queries option we can create sub queries in odi.
or Using VIEW we can go for sub queries Or Using ODI Procedure we can call direct DB
queries
in ODI.
12.suppose i having 6 interfaces and running the interface 3 rd one failed how
to run remaining interfaces?
ANS: ) if you are running Sequential load it will stop the other interfaces. so goto
operator and right click on filed interface and click on restart. If you are running all the
interfaces are parallel only one interface will fail and other interfaces will finish.
13. how to remove the duplicate in odi?
ANS) Use DISTINCT in IKM level. it will remove the duplicate rows while loading into
target.
14. suppose having unique and duplicate but i want to load unique record one
table and duplicates one table?
ANS) Create two interfaces or once procedure and use two queries one for Unique values
and one for duplicate values.
15. how to write the procedures in odi?
ANS) Procedure is a step by step any technology code operations . you can refer

What
is
Oracle
Data
Integrator
(ODI)?
Oracle acquired SUNOPSIS with its ETL tool called Sunopsis Data Integrator and renamed
to Oracle Data Integrator (ODI) is an E-LT (Extract, Load and Transform) tool used for highspeed data movement between disparate systems.
The latest version, Oracle Data Integrator Enterprise Edition (ODI-EE 12c) brings together
Oracle Data Integrator and Oracle Warehouse Builder as separate components of a single
product with a single licence.

Explain what is ODI?why is it different from the other ETL tools.


ODI stands for Oracle Data Integrator. It is different from another ETL tool in a way that it
uses E-LT approach as opposed to ETL approach. This approach eliminates the need of the
exclusive Transformation Server between the Source and Target Data server. The power of
the target data server can be used to transform the data. i.e. The target data server acts as
staging area in addition to its role of target database.
while loading the data in the target database (from staging area) the transformation logic is
implemented. Also, the use of appropriate CKM (Check Knowldege Module) can be made
while doing this to implement data quality requirement.
What is E-LT? Or What is the difference between ODI and other ETL Tools?
E-LT is an innovative approach to extracting, loading and Transforming data. Typically ETL
application vendors have relied on costly heavyweight , mid-tier server to perform the
transformations required when moving large volumes of data around the enterprise.
ODI delivers unique next-generation, Extract Load and Transform (E-LT) technology that
improves performance and reduces data integration costs, even across heterogeneous systems
by pushing the processing required down to the typically large and powerful database servers
already in place within the enterprise.
Components
of
Oracle
Data
Integrator?
Oracle
Data
Integrator
comprises
of:
Oracle Data Integrator + Topology Manager + Designer + Operator + Agent

Oracle
Data
Quality
for
Data
Integrator
Oracle Data Profiling
What
systems
can
ODI
extract
and
load
data
into?
ODI brings true heterogeneous connectivity out-of-the-box, it can connect natively to Oracle,
Sybase, MS SQL Server, MySQL, LDAP, DB2, PostgreSQL, Netezza.
It can also connect to any data source supporting JDBC, its possible even to use the Oracle BI
Server as a data source using the jdbc driver that ships with BI Publisher
What
are
Knowledge
Modules?
Knowledge Modules form the basis of plug-ins that allow ODI to generate the relevant
execution code , across technologies , to perform tasks in one of six areas, the six types of
knowledge module consist of:
Reverse-engineering knowledge modules are used for reading the table and other object
metadata from source databases.
Journalizing knowledge modules record the new and changed data within either a single table
or view or a consistent set of tables or views

Loading knowledge modules are used for efficient extraction of data from source databases
for loading into a staging area (database-specific bulk unload utilities can be used where
available)
Check knowledge modules are used for detecting errors in source data
Integration knowledge modules are used for efficiently transforming data from staging area to
the target tables, generating the optimized native SQL for the given database
Service knowledge modules provide the ability to expose data as Web services
ODI ships with many knowledge modules out of the box, these are also extendable, they can
modified within the ODI Designer module.
Does my ODI infrastructure require an Oracle database?No, the ODI modular repositories
(Master + and one of multiple Work repositories) can be installed on any database engine that
supports ANSI ISO 89 syntax such as Oracle, Microsoft SQL Server, Sybase AS Enterprise,
IBM DB2 UDB, IBM DB2/40.
Does ODI support web services?
Yes, ODI is SOA enabled and its web services can be used in 3 ways:
The Oracle Data Integrator Public Web Service, that lets you execute a scenario (a published
package)
from
a
web
service
call
Data Services, which provide a web service over an ODI data store (i.e. a table, view or other
data
source
registered
in
ODI)
The ODIInvokeWebService tool that you can add to a package to request a response from a
web service
What is the ODI Console?
ODI console is a web based navigator to access the Designer, Operator and Topology
components through browser.
suppose I having 6 interfaces and running the interface 3 rd one failed how to run remaining
interfaces?
If you are running Sequential load it will stop the other interfaces. so goto operator and right
click on filed interface and click on restart. If you are running all the interfaces are parallel
only one interface will fail and other interfaces will finish.
what is load plans and types of load plans?

Load plan is a process to run or execute multiple scenarios as a Sequential or parallel or


conditional based execution of your scenarios. And same we can call three types of load plans
, Sequential, parallel and Condition based load plans.
What is profile in ODI?
Profile is a set of objective wise privileges. we can assign this profiles to the users. Users will
get the privileges from profile
How to write the sub-queries in ODI?
Using Yellow interface and sub queries option we can create sub queries in ODI. or Using
VIEW we can go for sub queries Or Using ODI Procedure we can call direct database queries
in ODI.
How to remove the duplicate in ODI?
Use DISTINCT in IKM level. it will remove the duplicate rows while loading into target.
Suppose having unique and duplicate but i want to load unique record one table and
duplicates
one
table?
Create two interfaces or once procedure and use two queries one for Unique values and one
for
duplicate
values.
how
to
implement
data
validations?
Use Filters & Mapping Area AND Data Quality related to constraints use CKM Flowcontrol.
How to handle exceptions?
Exceptions In packages advanced tab and load plan exception tab we can handle exceptions.
In the package one interface got failed how to know which interface got failed if we no
access to operator?
Make it mail alert or check into SNP_SESS_LOg tables for session log details.
How to implement the logic in procedures if the source side data deleted that will reflect
the target side table?
User this query on Command on target Delete from Target_table where not exists (Select X
From Source_table Where Source_table.ID=Target_table.ID).
If the Source have total 15 records with 2 records are updated and 3 records are newly
inserted at the target side we have to load the newly changed and inserted records
Use IKM Incremental Update Knowledge Module for Both Insert n Update operations.

Can we implement package in package?


Yes, we can call one package into other package.
How to load the data with one flat file and one RDBMS table using joins?
Drag and drop both File and table into source area and join as in Staging area.
If the source and target are oracle technology tell me the process to achieve this
requirement(interfaces,
KMS,
Models)
Use LKM-SQL to SQL or LKM-SQL to Oracle , IKM Oracle Incremental update or Control
append.
what we specify the in XML data server and parameters for to connect to xml file?
File name with location :F and Schema :S this two parameters
How to reverse engineer views(how to load the data from views)?
In Models Go to Reverse engineering tab and select Reverse engineering object as
VIEW.
What are the types of Variables?
-Global
-Project
A variable is an object that stores a single value. This value can be a string, a number or a
date. The value is stored in Oracle Data Integrator, and can be updated at run-time.
The value of a variable can be updated from the result of a query executed on a logical
schema. For example, it can retrieve the current date and time from a database.
A variable can be created as a global variable or in a project. Global variables can be used in
all projects, while project variables can only be used within the project in which they are
defined.
Where we can use variables?
Variables can be used in all Oracle Data Integrator expressions:
Mapping,
Filters,
Joins,
Constraints,
What is Work Repository ?

Each work repository is attached to a master repository, therefore, information about the
physical connection to a work repository is stored in the master repository it is attached to.
Defining a connection to a work repository consists of defining a connection to a master
repository, then selecting one of the work repositories attached to this master repository.
What is Master Repository ?
The Master Repository is a data structure containing information on the topology of a
companys IT resources, on security and on version management of projects and data models.
This repository is stored on a relational database accessible in client/server mode from the
different modules.
Generally, only one master repository is necessary.
However, in exceptional circumstances, it may be necessary to create several master
repositories in one of the following cases:
-Project construction over several sites not linked by a high-speed network (off-site
development, for example).
-Necessity to clearly separate the interfaces operating environments (development, test,
production), including on the database containing the master repository. This may be the case
if these environments are on several sites.
What is a Procedure?
A Procedure is a reusable component that allows you to group actions that do not fit in the
Interface framework. (That is load a target datastore from one or more sources).
A Procedure is a sequence of commands launched on logical schemas. It has a group of
associated options. These options parameterize whether or not a command should be
executed as well as the code of the commands.
What is Model ?
An Oracle Model is a set of datastores corresponding to views and tables contained in an
Oracle Schema. A model is always based on a Logical Schema. In a given Context, the
Logical Schema corresponds to a Physical Schema. The Data Schema of this Physical
Schema contains the Oracle models tables and views.
What is a Package ?
The package is the biggest execution unit in Oracle Data Integrator. A package is made of a
sequence of steps organized in an execution diagram.

What is User Parameters?


Oracle Data Integrator saves user parameters such as default directories, windows
positions,etc. User parameters are saved in the userpref.xml file in /bin.
What is a Project?
A project is a group of objects developed using Oracle Data Integrator.
What is Folder?
Certain objects in a project are organized into folders and sub-folders.
What is an Interface?
An interface consists of a set of rules that define the loading of a Datastore or a temporary
target structure from one or more source Datastores.
What is Sequence?
A sequence is an variable automatically incremented when used. Between two uses the value
is
persistent.
The sequences are usable like variable in interfaces, procedures, steps,
A sequence can also be defined outside a project (global scope), in order to be used in all
projects.
What is User Functions ?
User functions enable to define customized functions or functions aliases, for which you
will define technology-dependant implementations. They are usable in the interfaces and
procedures.
What
is
Marker?
Elements of a project may be flagged in order to reflect the methodology or organization of
the
developments.
Flags are defined using the markers. These markers are organized into groups, and can be
applied to most objects in a project.
What
is
Scenario?
When a package, interface, procedure or variable component is finished, it is compiled in a
scenario. A scenario is the execution unit for production, that can be scheduled.
What
is
Context?
A context is a set of resources allowing the operation or simulation of one or more data

processing applications. Contexts allow the same jobs (Reverse, Data Quality Control,
Package, etc) to be executed on different databases and/or schemas.
In Oracle Data Integrator, a context allows logical objects (logical agents, logical schemas) to
be linked with physical objects (physical agents, physical schemas).
What
is
Sequences?
A sequence is a variable that increments itself each time it is used. Between two uses, the
value can be stored in the repository or managed within an external RDBMS table.
Oracle Data Integrator supports two types of sequences:
-Standard sequences, whose last value is stored in the Repository.
-Specific sequences , whose last value is stored in an RDBMS table cell. Oracle Data
Integrator undertakes to read the value, to lock the row (for concurrent updates) and to update
the row after the last increment.
What
is
Session?
A session is an execution (of a scenario, an interface, a package or a procedure, )
undertaken by an execution agent. A session is made up of steps which are made up of tasks.
What is Session Tasks?
The task is the smallest execution unit. It corresponds to a procedure command in a KM, a
procedure, assignment of a variable, etc