Tuesday, June 5, 2012

ODI TRAINING IN BANGALORE

Prerequisites

·  40 GB HD
·  2  GB RAM
·   ORACLE 11G R2
·   Web logic Server 11G
·   ODI 11G
·   RCU 11G

Datawarehousing Concepts:
  • Physical and Logical Data modeling
  • Creating Physical tables and schemas
  • Creating Oracle Queries
  • Data base installations
  • Dataware house concepts
  • Star Schema , Snowflake Schema and Galaxy Schema
  • SCD Types  ( slowly changing dimentions)
  • Dimentional modeling
  • Data modeling
  • ODI Installations
  • Weblogic Installations and configurations
  • Oracle Data Integrator 11G New Features Overview

Course Objectives:
  • Overview of the architecture of the complete Oracle Data Integrator system
  • Define the Information System architecture
  • Get started with projects in Oracle Data Integrator and release your work for deployment
  • An overview of models, reverse-engineering model metadata from your database, and how and why to flesh out models with missing metadata
  • Manage metadata in Oracle Data Integrator: models and data quality
  • Create simple interfaces and add multiple sources to an interface
  • Launch a session to run an interface
  • Enforce data quality constraints in an interface
  • Manage packages
  • Add more advanced integration components
  • Customize data flow and get the best performance out of your system
  • An overview of sessions, use Operator to monitor, stop and start sessions, and basic troubleshooting.



Introduction :  2 Hrs
·  Identifying the Course Content
·  What is Oracle Data Integrator?
·  Why Oracle Data Integrator?
·  Overview of ODI 11g Architecture
·  Overview of ODI 11g Components
·  About Graphical Modules
·  Types of ODI Agents
·  Overview of Oracle Data Integrator Repositories

 Installations & Configurations : 3Hrs
·  Oracle 11G Database.
·  ODI 11G
·  Weblogic Server 11G
·  Configurations

Administering ODI Repositories and Agents : 3 Hrs
·  Administrating the ODI Repositories
·  Creating Repository Storage Spaces
·  Creating and Connecting to the Master Repository
·  Creating and Connecting to the Work Repository
·  Managing ODI Agents
·  Creating a Physical Agent
·  Launching a Listener, Scheduler and Web Agent
·  Example of Load Balancing
ODI Topology Concepts :  3 Hrs
·  Overview of ODI Topology
·  About Data Servers and Physical Schemas
·  Defining the Physical Architecture
·  Defining the Logical Architecture
·  Mapping Logical and Physical Resources
·  Defining Agents
·  Defining a Topology
·  Planning the Topology
Describing the Physical and Logical Architecture : 2 Hrs
·  Overview of Topology Navigator
·  Creating Physical Architecture
·  Creating a Data Server
·  Testing a Data Server Connection
·  Creating a Physical Schema
·  Creating Logical Architecture
·  Overview of Logical Architecture and Context Views
·  Linking the Logical and Physical Architecture
Setting Up a New ODI Project : 2 Hrs
·  Overview of ODI Projects
·  Creating a New Project
·  Using Folders
·  Organizing Projects and Folders
·  Understanding Knowledge Modules
·  Exchanging ODI Objects
·  Exporting and Importing Objects
·  Using Markers
Oracle Data Integrator Model Concepts :  2 Hrs
·  What is a Model?
·  Understanding Metadata in ODI
·  Understanding Reverse Engineering
·  Creating Models
·  Organizing Models
·  Creating Data stores
·  Using Constraints in ODI
·  Creating Keys and References
Organizing ODI Models and Creating Data stores : 2 Hrs
·  What is an Interface?
·  Business Rules for Interfaces
·  What is a Mapping?
·  What is a Join?
·  What is a Filter?
·  What is a Constraint?
·  What is a Staging Area?
·  Creating a Basic Interface
ODI Interface Concepts  : 2 Hrs
·  What is an Interface?
·  Business Rules for Interfaces
·  What is a Mapping, Filter, Join?
·  Overview of Integration Process
·  What is a Staging Area?
·  About Execution Location
·  Using Knowledge Modules (KM) with ODI Interface
·  Creating a Basic Interface
Designing Interfaces : 2 Hrs
·  Designing an Interface
·  Multiple Source Data stores
·  Creating Joins
·  Filtering data
·  Disabling Transformations
·  Overview of the Flow
·  Specifying the Staging Area
·  Selecting Knowledge Modules
Interfaces: Monitoring and Debugging : 1 Hrs
·  Monitoring Interfaces
·  Using Operator
·  Viewing Sessions and Tasks
·  How to Monitor Execution of an Interface
·  How to Troubleshoot a Session
·  Keys to Reviewing the Generated Code
·  Working with Errors
·  Tips for Preventing Errors
Designing Interfaces: Advanced Topics : 3 Hrs
·  Using Business Rules in Interfaces
·  Overview of Business Rule Elements
·  Using variables
·  Using User Functions
·  Using Substitution Methods
·  Modifying a KM
·  Developing Your Own KM
·  Using RKM for Customized Reverse Engineering
Using ODI procedures : 2 Hrs
·  What is a Procedure?
·  Examples of Procedures
·  Creating Procedures
·  Adding Commands
·  Adding Options
·  Running a Procedure
·  Using Operator to View Results
Using ODI Packages : 2 Hrs
·  What is a package?
·  Creating a package
·  Executing a package
·  Creating Advanced Packages
·  Error handling
·  Controlling an Execution Path
·  Creating a Loop
·  Using the Advanced tab
Managing ODI Scenarios and Versions :  2 Hrs
·  What is a Scenario?
·  Managing Scenarios
·  Preparing Scenarios for Deployment
·  Automating Scenario Management
·  Scheduling the ODI Scenario
·  Overview of ODI version management
·  Using Version Browser and Version Comparison Tool
·  Handling concurrent changes
Enforcing Data Quality and Auditing Data with ODI : 4 Hrs
·  Why Data Quality?
·  When to Enforce Data Quality?
·  Data Quality in Source Applications
·  Data Quality Control in the Integration Process
·  Data Quality in the Target Applications
·  Enforcing Data Quality
·  Exploring Your Data
·  Auditing Data Quality
Working with Changed Data Capture :  2 Hrs
·  Overview of ODI version management
·  Techniques of Changed Data Capture
·  Changed Data Capture in ODI
·  CDC Strategies and Infrastructure
·  CDC Consistency
·  Using CDC
·  Viewing Data/Changed data
·  Using Journalizing
Administering ODI Resources: Advanced Topics : 3 Hrs
·  Using Open Tools
·  Installing Open Tools
·  Using Open Tools in a Package
·  Using Open Tools in a Procedure or in a KM
·  Developing Your Own Open Tools
·  Setting Up ODI Security
·  Defining Security Policies
·  Defining Password Policies

Monday, June 4, 2012

LKM File to Oracle SQLLDR ODI

LKM File to Oracle SQLLDR ODI

One of the most common problem people are facing while using Oracle Data Integrator's LKM File to Oracle (SQLLDR) is that the step which invokes the OS based sqlldr results in an error even if LOA_ERRORS is set to non-zero number.

For eg. you have a file that contains 1000 records and 10 of them are erroneous (bad), then ODI will create a .bad file and move the records in there. Theoretically, you will expect that setting up the LKM parameter LOA_ERRORS should solve the problem. So, if you want a maximum of 20 records to error out, you will set LOA_ERRORS=20.
But, even if the number of actual errors is less than 20, ODI will indicate failure of that step.

This is a known bug 8560194 with ODI LKM File to Oracle (SQLLDR) and it has not been resolved yet.
Lets get into the details as to why this is a bug. This has to do with the way sqlldr returns the code when it terminates. Following is the list of codes that sqlldr returns for different conditions:
  1. SQLLDR if successful returns 0
  2. SQLLDR if unsuccessful returns 1
  3. SQLLDR if successful but even 1 record erred out to .bad or .dsc file returns 2
For ODI anything that is not 0 is an error. And that will be true for any system that is dependent on the return codes

To resolve this bug, you will have to customize this KM and change the step "Invoke SQLLDR" to selectively handle each error condition.
Follow the steps:
  1. Duplicate the KM.
  2. Goto the step Call sqlldr. and change the technology to Jython.
  3. Replace the existing code with the following:
import os
retVal = os.system(r'sqlldr control=<%=snpRef.getSrcTablesList("", "[WORK_SCHEMA]/[TABLE_NAME].ctl", "", "")%> log=<%=snpRef.getSrcTablesList("", "[WORK_SCHEMA]/[TABLE_NAME].log", "", "")%> userid=<%=snpRef.getInfo("DEST_USER_NAME")%>/<%=snpRef.getInfo("DEST_PASS")%>@<%=snpRef.getInfo("DEST_DSERV_NAME")%> > <%=snpRef.getSrcTablesList("", "[WORK_SCHEMA]/[TABLE_NAME].out", "", "")%>')

if retVal == 1 or retVal > 2:
----->
raise 'SQLLDR failed. Please check the <%=snpRef.getSrcTablesList("", "[WORK_SCHEMA]/[TABLE_NAME].log", "", "")%> for details '
Replace the -----> with spaces or tab. You can enhance the above code by putting variables and further checking for the .bad, .dsc and .log files.
 
 
Source:
 
http://askankit.blogspot.in/2010/06/odi-load-multiple-xml-files.html