PacktLib: Oracle Data Integrator 11g Cookbook

Oracle Data Integrator 11g Cookbook



About the Authors

About the Reviewers


Installation, Deployment, and Configuration


Deploying and configuring a standalone agent manually

Deploying a JEE ODI Agent

Configuring a standalone agent with OPMN

Deploying JDBC drivers with a JEE ODI Agent

Defining the Oracle Data Integrator Security


Setting up LDAP security for Oracle Data Integrator

Setting external authentication with Oracle Data Integrator

Creating users using generic profiles

Creating users using non-generic profiles

Creating new custom profiles in the Security navigator

Advanced Topology


Creating a new technology

Modifying actions to get more from your diagrams

Modifying and expanding datatypes

Changing the case sensitivity for code generation

Best practice – using the Staging Area User to access your target schema

Using Variables


Passing start-up parameters to a scenario using variables

Using table names that run in all contexts using getObjectName

Using variables to filter data based on a timestamp

Using variables in KM options (and reusing the variables in an interface, package, and so on)

Using variables in topology

Using variables to control loops inside packages

Knowledge Module Internals


Using the substitution passes

Using Java variables in KMs

Using Java for condition code generation

Invoking Java from the KMs

Using substitution methods in Java

Combining substitution methods in a KM

Inside Knowledge Modules – SCD and CDC


Implementing Slowly Changing Dimensions (SCD) using ODI

Modifying a Slowly Changing Dimension KM to allow undefined behaviors

Using Changed Data Capture (CDC) - simple

Using Changed Data Capture (CDC) - consistent set

Using one single interface to load changes that occur in any dimensions

Advanced Coding Techniques


Using diagrams to develop and maintain models

Generating DDL from data models

Generating interfaces from data models or diagrams

Creating a temporary interface (subquery)

Loading data from an SQL query

Performing a pivot

Loading data using partition exchange

Package Loops and File Processing


Defining packages and loops for near real-time execution using a hybrid loop

Using a file from a parameter variable

Detecting files with a variable name

Processing all files in a directory

Processing a large number of files in parallel

XML and Web Services


Defining a connection to XML within ODI

Processing complex files with ODI

Processing XML data within an RDBMS not in memory

Invoking web services from ODI

Invoking asynchronous ODI web services with callbacks

Configuring container-based authentication with ODI web services

Advanced Coding Techniques Using the ODI SDK


Creating the Master and Work repositories using the SDK

Creating a project using the SDK

Automating the import of artifacts using the SDK

Creating models and datastores using the SDK

Creating an interface using the SDK

Invoking and monitoring a scenario using the SDK

More on ODI


Invoking an external program that requires a password

Tuning a standalone ODI agent

Loading a file containing a LOB

Using ODI versioning

Performing a Smart Export/Smart Import

Accessing an Excel spreadsheet

Impacting the data flow by changing the staging area location

Automating Smart Export/Smart Import with the ODI SDK