Presentation on theme: "3-1 4 Oracle Data Integrator First Project – Simple Transformations: One source, one target."— Presentation transcript:
3-1 4 Oracle Data Integrator First Project – Simple Transformations: One source, one target
3-2 Objectives Create a first, basic interface Create a filter Select a Knowledge Module and set the options Understand the generated code in the Operator Interface After completing this lesson, you will know how to:
4-3 Which KMs for What Flow? When processing happens between two data servers, a data transfer KM is required. Before integration (Source Staging Area) Requires an LKM, which is always multi-technology At integration (Staging Area Target) Requires a multi-technology IKM When processing happens within a data server, it is entirely performed by the server. A single-technology IKM is required. No data transfer is performed
4-4 More on KMs KMs can skip certain operations Unnecessary temporary tables will not be created Some KMs lack certain features Multi-technology IKMs can not perform Flow control IKMs to File, JMS, etc do not support Static control All KMs have configurable Options
4-5 How to a Specify an LKM 1.Go to the interface’s Flow tab. 2.Select the Source Set from which data will be extracted. The KM property panel opens. 3.Change the Name of the Source Set (optional) 4.Select an LKM. 5.Modify the LKM’s Options.
4-6 Note – Default KMs ODI chooses a default KM wherever possible. A flag appears in the flow if a default KM is used (X) or if no KM is set (X).
4-7 How to Specify an IKM 1.Go to the interface’s Flow tab. 2.Select the Target. The KM property panel opens. 3.Check/Uncheck Distinct Rows. 4.Select an IKM. 5.Set the IKM’s Options.
4-8 Common KM Options The following options appear in most KMs: INSERT UPDATE COMMIT FLOW CONTROL STATIC CONTROL TRUNCATE DELETE ALL Should data be inserted/updated in the target? Should the interface commit the insert/updates? If “no”, a transaction can span several interfaces. Should data in the flow be checked? Should data in the target be checked after the interface? Should the target data be truncated or deleted before integration? DELETE TEMPORARY OBJECTS Should temporary tables and views be deleted or kept for debugging purposes?
3-9 Interface An Interface will define Where the data are sent to (the Target) Where the data are coming from (the Sources) How the data are transformed from the Source format to the target format (the Mappings) How the data are physically transferred from the sources to the target (the data Flow) Source and target are defined using Metadata imported from the databases and other systems Mappings are expressed in SQL Flows are defined in Templates called Knowledge Modules (KMs)
3-10 Creating, Naming a New Interface Interfaces are created in Projects To create any object in ODI, right-click on the parent node and select “Insert xyz” This is true for interfaces as well: On the project’s Interfaces entry, select Right-Click/Insert Interface.
3-11 Interfaces: The Diagram
3-12 Selection of Sources and Target Source Tables Target Table (single target) Metadata Drag and drop the Metadata from the tree into the interface to make these sources or targets
3-13 Automatic Mappings Automatic Mapping creates mappings by matching column names automatically. ODI will prompt you before doing so: you have the option to disable this feature.
3-14 Mappings in the Interface Target Columns (click here to open the mapping field) Mapping expressions (read only) Type or edit your mapping expressions here Expression Editor button
3-15 Using the Expression Editor 1.Click the expression editor button ( ) in the mapping window 2.Build your SQL expressions from the SQL help at the bottom, and from the Columns at the left
3-16 Note An interface only populates a single target datastore. To populate several targets, you need several interfaces.
3-17 Valid Mapping Types The following type of clauses may be used in the mappings: Value Source Column DBMS Function DBMS Aggregate Combination String values should be enclosed in single quotes: ‘ SQL ', ' 5 ‘ but 10.3 Drag and drop the column or use the expression editor. It is prefixed by the datastore’s alias. E.g.: SRC_SALES.PROD_ID Use the expression editor for the list of supported functions and operators MAX(), MIN(), etc. ODI automatically generates the GROUP BY clause. Any combination of clauses is allowed: SRC_SALES_PERSON.FIRST_NAME || ' ' || UCASE(SRC_SALES_PERSON.LAST_NAME)
3-18 Filtering Data SQL filter expression Execution location Expression editor Save expression Check expression. Drag and drop a column on the background area Then type the filter expression
3-19 Saving the Interface Click the Apply button to save the interface You can press the OK button to save and close the interface. The Cancel button closes the interface without saving it. Interfaces are saved in the Work Repository.
3-20 Interfaces: The Flow
3-21 Graphical Representation of the Flow Source and target systems are graphically represented in the Flow tab This is where KM are chosen, and KM options are set
3-22 KM and KM Options Select the appropriate KM Click on the caption to display Loading KM choices and options Set the option values as needed Click on the caption to display the Integration KM choices and options
3-23 Interfaces: Execution
3-24 Requirements To run an interface, you need at least the following: A target table An Integration Knowledge Module (selected in the Flow tab) A Loading Knowledge Module if there is a remote source. If you have all the prerequisites, you are ready to execute the interface.
3-25 Running an Interface Simply click the Execute button
3-26 Follow-up of the Execution: Logs and Generated Code
3-27 Code Generation When we ask ODI to Execute the transformations, ODI will generate the necessary code for the execution (usually SQL code) The code is stored in the repository The execution details are available in the Operator Interface: Statistics about the jobs (duration, number of records processed, inserted, updated, deleted) Actual code that was generated and executed by the database Error codes and error messages returned by the databases if any
3-28 The Operator Interface Start the operator interface from the Windows menu or from the ODI toolbar
3-29 Refresh the Logs Display By default, ODI will not refresh the logs. There are two ways to refresh the logs: Manual refresh: click on this icon in the toolbar: Automatic refresh: Set the refresh rate (in seconds) in the toolbar and click on this icon in the toolbar:
3-30 Multiple Levels of Details Job level details Specific step in the job Actual code sent to the systems (SQL or other)
3-31 Errors Reporting The red icon in the tree indicates the steps that failed Error Codes and Error Messages are reported at all levels
3-32 Information Available for each Level Time Information Statistical Information Generated Code
3-33 Understanding the Operator Icons Running Success Failure Warning Waiting to be executed Queued by the agent`