You are on page 1of 19

Data Integrator (ODI) Interview

questions
2

22) 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.
22) 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.
23) 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.
24) 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.
25) 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.
26) What are the types of Knowledge Modules?

1. LKM(used to extract data from heterogeneous


source systems (files, middleware, databases, etc.)
to a staging area).
2. IKM(used to integrate (load) data from staging to
target tables)
3. RKM(used to perform a customized reverseengineering of data models for a specific technology.
It extracts metadata from a metadata provider to
ODI repository. These are used in data models.)
4. JKM(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.)
5. CKM( 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.)
27) What is An Interface ?
Interface is an object in ODI which will map the sources to
target datamarts.
28) 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.
29) Explain some differences between ODI 20g and
ODI 22g?
1. ODI 22g 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.
20) 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.
22) 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.
22) How to load data from file to file and what are the
KM's required for this requirement?
IKM File to File
23) 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.
24) what is a constraint?
It is a condition which you want to apply while transferring
the data from source to target.
25) what is E$ table in ODI ?
Temporary Error table created by ODI. This is created by
CKM.

26) 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.
27) 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).
28) 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.
29) 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.
22) 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 2.


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 (multithreaded). 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:
2. 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.
32) 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 2 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.
42) 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 20 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.
52) 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 25 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-thebox, 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.
62) 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.