Oracle® Fusion Middleware

Migrating From Oracle Warehouse Builder to Oracle Data Integrator

12c (12.2.1.2.6)

E81002-02

February 2018

Oracle Fusion Middleware Migrating From Oracle Warehouse Builder to Oracle Data Integrator, 12c (12.2.1.2.6)

E81002-02

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Contents

Preface

- Audience

- Documentation Accessibility

- Related Documents

- Conventions

1 Understanding the Migration Process

- 1.1 About Migration

- 1.2 About the Migration Utility

- 1.3 What Is and Is Not Migrated

- 1.3.1 Objects That Are Migrated

- 1.3.2 Objects That Are Not Migrated

- 1.4 Roadmap for Migration

2 Preparing to Migrate

- 2.1 Migration Requirements

- 2.2 Migration Utility Run on a Non-64-bit Operating System

- 2.3 Creating the Migration Utility Configuration File

- 2.3.1 To Create the Migration Utility Configuration File

- 2.3.2 Configuration File Parameters

- 2.3.3 Configuration File Example

3 Using the Migration Utility to Migrate

- 3.1 Migration Utility Syntax and Parameters

- 3.2 Migrating an OWB Workspace

- 3.3 Migrating Specific Objects in an OWB Workspace

- 3.4 Performing a Test Migration

4 Reviewing Your Migration

- 4.1 Reviewing Log and Report Files

- 4.1.1 Reviewing the Migration Utility Log File

- 4.1.2 Reviewing the Migration Utility Exclusion Report

- 4.2 Verifying Your Migration

A Message Reference

B Reference to Migration Details

- B.1 OWB Repositories

- B.1.1 OWB Workspace to ODI Work Repository

- B.1.2 OWB Platform to ODI Technology

- B.1.2.1 Data Type Mapping for OWB GENERIC Platform to ODI Generic SQL Technology

- B.1.2.2 Data Type Mapping for OWB ORACLE Platform to ODI Oracle Technology

- B.1.2.3 Data Type Mapping for OWB DB2UDB Platform to ODI IBM DB2 UDB Technology

- B.1.2.4 Data Type Mapping for OWB SQLSERVER Platform to ODI Microsoft SQL Server Technology

- B.1.2.5 Data Type Mapping for OWB FILE Platform to ODI File Technology

- B.1.2.6 Data Type Mapping for OWB SAP Platform to ODI SAP ABAP Technology

- B.1.3 OWB Location to ODI Data Server

- B.1.3.1 Location Name to Data Server Name

- B.1.3.2 Location Properties to Data Server Properties

- B.1.3.3 Specific Location

- B.1.4 OWB Modules to ODI Models

- B.1.4.1 Module Name to Model Name

- B.1.4.2 Module Properties to Model Properties

- B.1.4.3 Additional Migration of OWB Modules to ODI Folders

- B.1.4.4 Physical Schema and Logical Schema

- B.1.5 OWB Projects to ODI Projects

- B.1.6 OWB Folders to ODI Folders

- B.2 OWB Data Objects

- B.2.1 OWB Table to ODI Datastore

- B.2.2 OWB View to ODI Datastore

- B.2.3 OWB Materialized View to ODI Datastore

- B.2.4 OWB External Table to ODI Datastore

- B.2.5 OWB Flat File to ODI Datastore

- B.2.6 OWB Sequence to ODI Sequence

- B.2.7 OWB Dimensions Under Database Module to ODI Dimension Model

- B.2.8 Property Migration Mapping Tables

- B.2.9 OWB Dimensions to ODI Dimensions

- B.2.10 OWB Cubes to ODI Cubes

- B.3 OWB Mappings

- B.3.1 OWB Mapping Properties

- B.3.1.1 OWB Mapping Logical Properties

- B.3.1.2 OWB Mapping Physical Properties

- B.3.1.3 PLSQL Physical Properties

- B.3.1.3.1 Chunking Options

- B.3.1.3.2 Runtime Parameters

- B.3.1.3.3 Code Generation Options

- B.3.1.4 SQL*LOADER Physical Properties

- B.3.1.4.1 SQL Loader Settings

- B.3.1.4.2 Runtime Parameters

- B.3.1.4.3 SQL Loader Data Files

- B.3.1.5 ABAP Mapping Physical Properties

- B.3.1.5.1 Runtime Parameters

- B.3.1.5.2 SQL Loader Settings

- B.3.1.6 SQLPLUS Mapping Physical Properties

- B.3.1.6.1 SQL*Plus Settings

- B.3.1.6.2 Runtime Parameters

- B.3.1.7 Code Template Mappings Physical Properties

- B.3.1.7.1 Chunking Options

- B.3.1.7.2 Code Generation Options

- B.3.1.7.3 Runtime Parameters

- B.3.1.7.4 SCD Updates

- B.3.2 Multiple Target Mapping Migration

- B.3.2.1 Target Load Order

- B.3.2.2 Multiple Target Insert (MTI)

- B.3.3 Mapping Operator

- B.3.4 Mapping Attribute

- B.3.4.1 General Properties

- B.3.4.2 Data Type Information

- B.4 OWB Pluggable Mappings

- B.4.1 Pluggable Mapping Folder

- B.4.2 Properties of Pluggable Mapping

- B.4.3 Input Signature and Output Signature

- B.4.4 Join Operator in Pluggable Mapping

C Migration Details for Operators

- C.1 Common Properties

- C.2 Aggregate Operator

- C.2.1 Logical Properties of the Aggregate Operator

- C.2.2 Physical Properties of the Aggregate Operator

- C.2.3 Attribute Groups and Attributes of the Aggregate Operator

- C.3 Cube Operator

- C.4 Deduplicator Operator

- C.4.1 Properties of the Deduplicator Operator

- C.4.2 Attribute Groups and Attributes of the Deduplicator Operator

- C.5 Dimension Operator

- C.6 Expression Operator

- C.6.1 Properties of the Expression Operator

- C.6.2 Attribute Groups and Attributes of the Expression Operator

- C.7 External Table Operator

- C.7.1 Logical Properties of the External Table Operator

- C.7.1.1 General Properties

- C.7.1.2 Chunking

- C.7.1.3 Error Table

- C.7.1.4 SCD Updates

- C.7.1.5 Temp Stage Table

- C.7.2 Physical Properties of the External Table Operator

- C.7.2.1 General Properties

- C.7.2.2 Hints

- C.7.2.3 Partition Exchange Loading

- C.7.2.4 Constraint Management

- C.7.3 Migrating the External Table Operator

- C.8 Flat File Operator

- C.8.1 Logical Properties of the Flat File Operator

- C.8.2 Logical Properties of the Map Attribute Group of the Flat File Operator

- C.8.3 Logical Properties of the Map Attribute of the Flat File Operator

- C.9 Join Operator

- C.9.1 Properties of the Join Operator

- C.9.1.1 ANSI SQL syntax

- C.9.1.2 Join Condition

- C.9.1.3 Join Input Role

- C.9.2 Migrating an ANSI Join Operator

- C.9.2.1 Scenario 1: Two Input Groups with Standard Join

- C.9.2.2 Scenario 2: Two Input Groups with Outer Join Using (+) Style

- C.9.2.3 Scenario 3: Two Input Groups with Outer Join Using Join Input Role

- C.9.2.4 Scenario 4: Two Input Groups with both (+) Style and Join Input Role

- C.9.2.5 Scenario 5: Multiple Input Groups

- C.9.3 Migrating a Non-ANSI Join Operator

- C.9.4 Migrating a Self Join

- C.10 Lookup Operator

- C.11 Lookup Properties Migration

- C.12 Mapping Input Parameter Operator

- C.12.1 Properties of the Attributes of the Mapping Input Parameter Operator

- C.12.2 Migration Logic

- C.12.3 How the Default Value Is Used

- C.13 Materialized View Operator

- C.13.1 Logical Properties of the Materialized View Operator

- C.13.1.1 General Properties

- C.13.1.2 Chunking

- C.13.1.3 Conditional Loading

- C.13.1.4 Data Rules

- C.13.1.5 Error Table

- C.13.1.6 SCD Updates

- C.13.1.7 Temp Stage Table

- C.13.2 Physical Properties of the Materialized View Operator

- C.13.3 Logical Properties of the Attributes of the Materialized View Operator

- C.13.4 Migrating an Unbound Materialized View Operator

- C.14 Pivot Operator

- C.14.1 Properties of the Pivot Operator

- C.14.1.1 General Properties

- C.14.1.2 Row Locator

- C.14.1.3 Pivot Transform

- C.14.2 Map Attribute Group and Map Attribute

- C.15 Pluggable Mapping Operator

- C.15.1 Properties of the Pluggable Mapping Operator

- C.15.2 Attribute Groups and Attributes of the Pluggable Mapping Operator

- C.15.3 Migrating an Unbound Pluggable Mapping Operator

- C.16 Post-Mapping Operator

- C.17 Pre-Mapping Operator

- C.18 Sequence Operator

- C.19 Set Operator

- C.19.1 Properties of the Set Operator

- C.19.1.1 Set Operation

- C.19.2 Attribute Groups and Attributes of the Set Operator

- C.20 Sorter Operator

- C.20.1 Logical Properties of the Sorter Operator

- C.20.2 Physical Properties of the Sorter Operator

- C.21 Splitter Operator

- C.21.1 Properties of the Splitter Operator

- C.21.1.1 Split Condition

- C.21.2 Attribute Groups and Attributes of the Splitter Operator

- C.22 Subquery Filter Operator

- C.22.1 Properties of the Subquery Filter Operator

- C.22.1.1 Name and Description

- C.22.1.2 Subquery Filter Condition

- C.22.1.3 Subquery Filter Input Role

- C.22.2 Map Attribute Groups

- C.22.3 Attributes

- C.22.3.1 Expression for DRIVER_INPUT Connector Point

- C.22.3.2 Expression for SUBQUERY_FILTER_INPUT Connector Point

- C.23 Table Operator

- C.23.1 Logical Properties of the Table Operator

- C.23.1.1 General Properties

- C.23.1.2 Change Data Capture

- C.23.1.3 Chunking

- C.23.1.4 Conditional Loading

- C.23.1.5 Control CT

- C.23.1.6 Data Rules

- C.23.1.7 Error Table

- C.23.1.8 SCD Updates

- C.23.1.9 Temp Stage Table

- C.23.1.10 Partition DML

- C.23.2 Physical Properties of the Table Operator

- C.23.2.1 General Physical Properties

- C.23.2.2 Hints

- C.23.2.3 Partition Exchange Loading

- C.23.3 Logical Properties of the Attributes of the Table Operator

- C.23.3.1 Loading Properties

- C.23.3.2 Code Template Metadata Tags

- C.23.4 Migrating an Unbound Table Operator

- C.24 Table Function Operator

- C.24.1 Logical Properties of the Table Function Operator

- C.24.2 Logical Properties of the Map Attribute Group of the Table Function Operator

- C.24.3 Logical Properties of the Map Attribute of the Table Function Operator

- C.24.4 Migrating the Table Function Operator

- C.24.4.1 Scenario 1: Table Function operator acts as source, no input map attribute group, only return group (output attribute group).

- C.24.4.2 Scenario 2: Table Function Operator has one input attribute group and one output attribute group, data type of input attributes is scalar

- C.24.4.3 Scenario 3: Table Function operator has one input attribute group and one output attribute group, some data types of input attributes are REF_CURSOR

- C.25 Transformation Function Operator

- C.25.1 Properties of the Transformation Function Operator

- C.25.2 Logical Properties of the Transformation Function Operator

- C.25.3 Physical Properties of the Transformation Function Operator

- C.25.4 Properties of the Map Attribute Group of the Transformation Function Operator

- C.25.5 Properties of the Map Attribute of the Transformation Function Operator

- C.26 Unpivot Operator

- C.26.1 Properties of the Unpivot Operator

- C.26.1.1 General Properties

- C.26.1.2 Row Locator

- C.26.2 Map Attribute Group and Map Attribute

- C.27 View Operator

- C.27.1 Logical Properties of the View Operator

- C.27.1.1 General Properties

- C.27.1.2 Change Data Capture

- C.27.1.3 Chunking

- C.27.1.4 Conditional Loading

- C.27.1.5 Data Rules

- C.27.1.6 Error Table

- C.27.1.7 SCD Updates

- C.27.1.8 Temp Stage Table

- C.27.2 Physical Properties of the View Operator

- C.27.3 Logical Properties of the Attributes of the View Operator

- C.27.4 Migrating an Unbound View Operator

D Special Migration Cases

- D.1 Tables with Multiple Primary Keys

- D.2 Special Cases for Mappings

- D.2.1 Two Operators Connected to Same Downstream Operator

- D.2.2 Multiple Operators Connected From and To Same Operator

- D.2.3 Lookup Operator Has a Constant as Input

- D.2.4 Lookup Operators Have No Driver Table (Mapping Is Invalid)

- D.2.5 Multiple Operators Connected to Same Operator, Some with No Upstream Source

- D.2.6 Multiple Operators Connected to Same Operator, All with Different Upstream Operator

- D.2.7 Pluggable Mapping Operator with only Constant as Input

E Known Issues and Solutions

- E.1 Known Issues and Solutions

Preface

This document describes migration from Oracle Warehouse Builder 11gR2 (11.2.0.4) to Oracle Data Integrator 12c (12.2.1.2.6).

Audience

This document is intended for developers and administrators who will perform the migration. Knowledge of data integration and Oracle Warehouse Builder is assumed.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Documents

For more information, see the following documents in Oracle Data Integrator Library

- Release Notes for Oracle Data Integrator Release Notes

- Understanding Oracle Data Integrator

- Developing Integration Projects with Oracle Data Integrator

- Installing and Configuring Oracle Data Integrator

- Upgrading Oracle Data Integrator

- Integrating Big Data with Oracle Data Integrator

- Application Adapters Guide for Oracle Data Integrator

- Developing Knowledge Modules with Oracle Data Integrator

- Connectivity and Knowledge Modules Guide for Oracle Data Integrator

- Migrating From Oracle Warehouse Builder to Oracle Data Integrator

- Oracle Data Integrator Tool Reference

- Data Services Java API Reference for Oracle Data Integrator

- Open Tools Java API Reference for Oracle Data Integrator

- Getting Started with SAP ABAP BW Adapter for Oracle Data Integrator

- Java API Reference for Oracle Data Integrator

- Getting Started with SAP ABAP ERP Adapter for Oracle Data Integrator

- Oracle Data Integrator 12c Online Help, which is available in ODI Studio through the JDeveloper Help Center when you press F1 or from the main menu by selecting Help, and then Search or Table of Contents.

Conventions

The following text conventions are used in this document:

Convention

Meaning

boldface

Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic

Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace

Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

1 Understanding the Migration Process

Migration from Oracle Warehouse Builder (OWB) to Oracle Data Integrator (ODI) can be done with the help of Migration utility, a command-line tool.

The following topics are addressed here.

1.1 About Migration

ODI is Oracle's strategic product for heterogeneous data integration. Because many Oracle Database customers have significant investment in OWB, Oracle supports a phased migration from OWB 11gR2 (11.2.0.4) to ODI 12c (12.2.1.2.6). The following features are provided to make the transition to ODI easier:

- ODI 12c supports the execution and administration of OWB 11gR2 jobs directly within ODI Studio and ODI Console, providing a single orchestration and monitoring solution. This feature enables you to migrate OWB objects over a longer period of time and in a way that makes sense for your business. For more information about this feature, see OdiStartOwbJob in the Tools Reference Guide for Oracle Data Integrator.

- ODI 12c supports an easier mapping between OWB 11gR2 concepts and objects and their ODI 12c counterparts. A migration utility is provided that automatically translates many OWB objects and mappings into their ODI equivalents. For more information about the migration utility, see About the Migration Utility.

1.2 About the Migration Utility

The migration utility is a command-line tool that assists you to migrate design-time metadata from OWB to ODI.

Runtime data and physical objects are not migrated.

The migration utility uses the settings in the migration utility configuration file to perform the migration.

For information about obtaining the patch, see Migration Requirements.

1.3 What Is and Is Not Migrated

The migration utility is an aid to migration only, and not all types and variants of OWB objects are migrated.

Manual effort should be expected including further modifications of the migrated Mappings in ODI or extensive testing to verify the Mappings.

The following topics are addressed here:

- Objects That Are Migrated

- Objects That Are Not Migrated

1.3.1 Objects That Are Migrated

The following OWB objects are supported for migration when you run the migration utility:

- projects

- modules (source and target)

- locations

- data objects

- table (columns, keys, indexes)

- view (columns, keys)

- materialized view (columns, keys, indexes)

- external table (columns)

- file (records, fields)

- sequence

- dimensional modeling metadata

- workspace

- mappings

- classic mappings

- Code Template mappings

- pluggable mappings

- mapping operators

- Aggregator

- Constant

- Cube

- Dimension

- Deduplicator

- Expression

- External Table

- Filter

- Flat File

- Joiner

- Key Lookup

- Mapping Input Parameter

- Materialized View

- Pivot

- Pre/Post Mapping Process

- Sequence

- Set

- Sorter

- Splitter

- Subquery

- Table

- Table Function

- Transformation

Note:
Transformation objects are actually not migrated, but transformation operator in mapping is migrated as expression component in ODI, only if the transformation object is present in ODI repository.

- Unpivot

- View

1.3.2 Objects That Are Not Migrated

The following OWB objects are not supported for migration when you run the migration utility:

- data objects

- table (partitions, attribute sets, data rules)

- view (attribute sets, data rules)

- materialized view (partitions, attribute sets, data rules)

- external table (data rules, locations)

- sequence (columns)

- Oracle Discoverer metadata and derived Oracle Business Intelligence Suite Enterprise Edition (OBI EE) metadata

- custom PL/SQL (procedure, package, and so on)

- queues, streams, CDC (Change Data Capture) configurations, user-defined types

- process flow

- data quality, data profiles, data auditors

- configuration details (security, user extensions, transportable modules, schedules/collections, user folders)

- OWB Experts

- OMB*Plus scripts

- Internal variable, which is used by the OWB runtime during code generation, for example, get_model_name

1.4 Roadmap for Migration

You can find out more information about the activities that are required in order to migrate from OWB to ODI.

The activities to migrate from OWB to ODI would require considerable amount of planning ahead and involve multiple teams and resources. An overall plan should be in place and discussed with all involved parties before the actual activities are carried out.

The overall plan should include the following suggested phases:

1. Pre-Migration phase
Helps to prepare the environment for migration.

2. Planning phase
Helps all parties involved to be familiar with the Migration Utility and learn about what it can do and its limitation, and hence identify potential gaps that would require alternate migration activities.

3. Using the Migration Utility phase
Actually does the migration using the utility but also identifies objects that cannot be migrated.

4. Manual Migration phase
Handles alternate migration activities for objects that cannot be migrated by the Migration Utility.

5. Post Migration Development phase
The migrated solution (using the Migration Utility or by manual) is reviewed, re-examined, and compared with the OWB solution to ensure the same end results are achieved. Note that additional changes or development are expected on the migrated solution to achieve the same result.

6. Post Migration Testing/QA phase
The migrated solution (using the Migration Utility or by manual) is reviewed, re-examined, and compared with the OWB solution to ensure the same end results are achieved. Note that additional changes or development are expected on the migrated solution to achieve the same result.

7. Rolling out the ODI Solution phase
The final phase when the ODI solution is rolled out. One should plan on gradually cutting over from the original OWB instance to the new migrated ODI instance until all the new jobs in ODI are working satisfactorily. That is, both systems would be kept up and running in production until the last OWB job are moved over to ODI and tested to work.

The following information provides a high-level summary of the steps to be performed in each phase to migrate from OWB to ODI.

Pre-Migration Phase: The goal of this phase is to prepare the environment for migration.

Table 1-1 Pre-Migration Phase

Step

Description

Documentation

Back up existing OWB repositories

Before running the migration utility, backup your existing OWB repositories.

See OWB Documentation.

Verify your system environment

Before running the migration utility, verify that your system meets requirements and that you are not connected to the design repository.

See Migration Requirements

Planning Phase: The goal of this phase if to get familiar with the Migration Utility, learn about what it does and its limitations, identify potential gaps that the Migration Utility may not be able to assist with, plan the migration activities using the Migration Utility and alternate migration activities without using the Migration Utility.

Table 1-2 Planning Phase:

Step

Description

Documentation

Review the entire Migration Utility document, especially the section on ”Supported and Unsupported objects”.

Make sure you understand what will and will not be migrated.

See What Is and Is Not Migrated

Edit the migration utility configuration file for a test migration.

Edit the migration utility configuration file and make sure the settings are correct for your environment. The configuration file contains connection information and other details required for migration.

Set MIGRATION_MODE to FAST_CHECK or DRY_RUN to do a test run of the Migration Utility.

See Creating the Migration Utility Configuration File

Perform a test migration by running the migration utility in FAST_CHECK or DRY_RUN mode

Run the migration utility to migrate OWB objects to ODI using the settings in the migration utility configuration file. Before running the migration utility, verify that you are not connected to the design repository.

See Using the Migration Utility to Migrate

Review the migration utility log file

After migration is complete, review the migration utility log file. The file contains details about objects that were migrated, and error messages if errors occurred.

See Reviewing the Migration Utility Log File

Review the migration utility exclusion report

After test migration is complete, review the migration utility exclusion report.

The report provides a summary of objects that can be migrated, and lists whether migration succeeded or failed for each object.

For objects excluded from migration, manual migration steps will be needed.

See Reviewing the Migration Utility Exclusion Report

Finalize migration plan

Based on the test migration run and the result, the objects that will be migrated by the migration utility and those that cannot be migrated by the migration utility will be known.

For those objects that cannot be migrated, some manual effort will be needed to recreate these objects in ODI. Create a list of all these objects that will require a manual migration.

Migration Phase: The goal of this phase is to actually perform the migration of objects that can be migrated by the Migration Utility.

Table 1-3 Migrating Phase:

Step

Description

Documentation

Edit the migration utility configuration file

Edit the migration utility configuration file and make sure the settings are correct for your environment. The configuration file contains connection information and other details required for migration.

See Creating the Migration Utility Configuration File

Run the migration utility to perform the migration using MIGRATION_MODE=RUN

Run the migration utility to migrate OWB objects to ODI using the settings in the migration utility configuration file. Before running the migration utility, verify that you are not connected to the design repository.

See Using the Migration Utility to Migrate

Review the migration utility log file

After migration is complete, review the migration utility log file. The file contains details about objects that were migrated and error messages if errors occurred.

See Reviewing the Migration Utility Log File

Review the migration utility exclusion report

After migration is complete, review the migration utility exclusion report. The report provides a summary of objects that were migrated, and lists whether migration succeeded or failed for each object.

See Reviewing the Migration Utility Exclusion Report

Verify your migration

In ODI Studio, connect to your ODI environment and perform post-migration testing to verify your migration.

See Verifying Your Migration

Manual Configuration Phase: For the objects not migrated by the Migration Utility, manual migration will be needed.

Table 1-4 Manual Configuration Phase

Step

Description

Documentation

Create objects in ODI manually

For any objects not migrated by the Migration Utility, some manual effort will be needed to recreate these objects in ODI. The list of objects excluded from migration by Migration Utility is noted in the Planning phase above.

-

Verify your migration

In ODI Studio, connect to your ODI environment and perform post-migration testing to verify your migration.

See Verifying Your Migration

Post-Migration Development Phase: After running the migration plans (either using the Migration Utility or manual steps), the migrated repository should be examined, reviewed and verified. This should be the most crucial and probably the biggest phase of any migration project. It shall involve reviewing each migrated artifact, executing all executable artifacts in ODI, as well as examining results. It is expected that the behavior of migrated artifacts will not be the same as in OWB and modifications may be needed to make the artifact behave as desired. Customers shall plan to invest significant amount of time in this phase.

Table 1-5 Post-Migration Development Phase

Step

Description

Documentation

Verify your migration

In ODI Studio, connect to your ODI environment and perform post-migration testing to verify your migration.

See Verifying Your Migration

Review gaps or differences, re-create or re-implement existing logic

For artifacts that do not execute with the same results as in OWB, review the OWB artifacts and compare with the corresponding ODI artifacts. The ODI artifacts may need tweaking or re-design for the artifact to behave similar to the OWB artifact. One may need to re-create or re-implement the OWB logic in ODI.

See Special Migration Cases

Post Migration Testing / QA Phase: After all the mappings have been migrated (by the Migration Utility or manually created) and verified in the phases above, the migrated ODI solution should be handed over to testing team for full QA testing.

Rolling out the ODI Solution Phase: Before cutting over to ODI, the migrated ODI solution should run in concurrent with OWB until all the artifacts in ODI have been reviewed, verified and stabilized. When the ODI solution is running as expected or desired, the cut-over from OWB can be done.

2 Preparing to Migrate

It is important to understand the migration requirements and how to create the configuration file used for migration.

The following topics are addressed here.

2.1 Migration Requirements

Migration is supported on Linux and Windows 64-bit x86 systems only. Before migrating, ensure that the following requirements are met:

- OWB 11.2.0.4 installed (plus Migration Patch applied. Note: Please contact Oracle Support to get the latest Migration Patch to be applied to your environment.)

- ODI 12.2.1.2.6

- OWB workspace exists

- ODI repositories exist (When migration mode is FAST_CHECK, this pre-condition is optional)

- ODI_HOME and JAVA_HOME environment variables set. The ODI_HOME variable should be set to the ODI installation directory, such as /home/oracle/Middleware. The JAVA_HOME variable should be set to the JDK installation directory, such as /java/jdk<version>/.
Note: The JDK version should be 1.8 or later.

- Migration utility configuration file created

Also ensure that you have the following information:

- ODI master repository password (When migration mode is FAST_CHECK, this pre-condition is optional)

- ODI user password (When migration mode is FAST_CHECK, this pre-condition is optional)

- OWB workspace owner password

- Full path to the migration utility configuration file and the file name

Note:

Download the required patches from My Oracle Support (https://support.oracle.com). Apply the patches using the instructions in the patch readme files.

2.2 Migration Utility Run on a Non-64-bit Operating System

If your OWB repository resides on an environment other than Windows 64-bit or Linux 64-bit, you have to install both OWB and ODI clients on the same machine.

Set the ODI_HOME environment variable to point to the ODI home. The migration.config file has to have all the parameters set correctly and pointing to the right location of the repositories.

Migration Utility Run for Remote Repositories

You can have three different scenarios when the repositories are remote as shown in the figures below:

In the 1st case the repositories can reside on the same server and the same database.

In the 2nd case the repositories can reside on same server but different databases.

In the 3rd case the repositories can reside on different servers.

2.3 Creating the Migration Utility Configuration File

Before migrating, you must first create the configuration file used to perform the migration.

The configuration file is a text-based properties file that contains connection information and other details.

The following topics are addressed here:

2.3.1 To Create the Migration Utility Configuration File

A template file is provided to make creation of the migration utility configuration file easier. Use this template as your starting point and edit the settings to fit your specific environment and needs.

The template file is named migration.config and is located in the OWB_HOME/bin/admin directory, where OWB_HOME is your OWB installation directory.

To create the migration utility configuration file:

1. Open the migration.config file in a text editor.

2. Edit the settings to fit your specific environment and needs. For more information about each parameter, see Configuration File Parameters.

3. Save the file. The file can be named whatever you like and saved to the location of your choice.

Make note of the file name and its path, because you will need this information when you run the migration utility.

2.3.2 Configuration File Parameters

Table 2-1 lists the parameters in the migration utility configuration file.

Table 2-1 Migration Utility Configuration File Parameters

Parameter

Mandatory

Description

ODI_MASTER_USER=<user_name>

Yes

User name for the ODI master repository connection.

It is not mandatory when mode is set to mode=fast_check.

ODI_MASTER_URL=<JDBC_URL>

Yes

JDBC URL used to connect to the ODI master repository. This URL must be quoted if it contains one of the following characters:

- semicolon (;)

- backslash (\)

- double quote (")

- back quote (`)

- dollar sign ($)

- less than (<)

- greater than (>)

The default value is jdbc:oracle:thin:@localhost:1521:mydb

It is not mandatory when mode is set to mode=fast_check.

ODI_MASTER_DRIVER=<JDBC_driver_name>

Yes

JDBC driver used to connect to the ODI master repository.

The default value is oracle.jdbc.OracleDriver

It is not mandatory when mode is set to mode=fast_check.

ODI_USERNAME=<user_name>

Yes

Supervisor user name for ODI.

The default value is SUPERVISOR.

It is not mandatory when mode is set to mode=fast_check.

ODI_WORK_REPOSITORY_NAME=<user_name>

Yes

User name used to connect to the ODI work repository.

The default value is WORKREP1.

It is not mandatory when mode is set to mode=fast_check.

OWB_WORKSPACE_OWNER=<workspace_owner>

Yes

OWB workspace owner.

OWB_URL=<URL>

Yes

URL used to connect to the OWB workspace.

The default value is localhost:1521:mydb

OWB_WORKSPACE_NAME=<workspace_name>

No

Name of the OWB workspace to connect to, specified in one of the following formats:

- Workspace owner and workspace name, separated by a period. For example, REP_1.WS1 or rep_1.ws1.

- Workspace name only. For example, WS1 or ws1.

The migration utility can be used to migrate just one workspace at a time. Edit this parameter (and others as necessary) and run the migration utility for each workspace that you want to migrate.

If the workspace owner owns just one workspace, you do not need to specify this parameter.

If the workspace owner owns multiple workspaces and no value is specified for this parameter, an error is returned. If a workspace has the same name as the workspace owner, the workspace is migrated.

If the specified workspace does not exist, the connection fails.

MIGRATION_LOG_FILE=<path_to_log_file>

No

Full path to the migration utility log file, which is generated when you run the migration utility.

The migration utility exclusion report is also generated, and uses the same prefix as the log file, with a .report extension.

This parameter is used to specify the name and location for both the log file and the report file. If no path is specified, the log and report files are generated in the same directory from which the migration utility was executed, for example, OWB_HOME/owb/bin/unix. By default, the file names are migration.log and migration.report.

For more information about these files, see Reviewing Log and Report Files.

MIGRATION_REPORT_INCLUDE=<PASSED|FAILED|ALL>

No

Content to be included in the migration utility exclusion report. Options are:

- PASSED: Include only objects that succeeded.

- FAILED: Include only objects that failed.

- ALL: Include all objects.

The default value is ALL.

MIGRATION_MODE=<FAST_CHECK|DRY_RUN|RUN>

No

Migration mode. Options are:

- FAST_CHECK: The migration utility performs a quick check for selected objects and provides a report that lists objects that can and cannot be migrated to the target ODI repository. Use this mode to quickly determine which objects can and cannot be migrated. This mode can be used without installing and setting up the ODI environment.

- DRY_RUN: The migration utility checks whether the specified objects can be created in the target ODI repository, and executes the migration without committing the objects to the repository. This mode can be used without installing and setting up the ODI environment. Meanwhile, when ODI related parameters invoke migration.sh/migration.bat(ODI_MASTER_USER,ODI_USERNAME,ODI_MASTER_PASSWORD,ODI_USER_PASSWORD), it might not be correct.

- RUN: The migration utility executes the migration and commits migrated objects to the target ODI repository. Use this mode to perform the migration from OWB to ODI.

The default value is RUN.

For more information about using the FAST_CHECK and DRY_RUN modes to perform a test migration, see Performing a Test Migration.

MIGRATION_STRATEGY

No

Indicate whether migrating the object or not when there is an object with the same name already existed in ODI repository. This parameter has two options, CREATE and NODUP. The default value is CREATE.

- CREATE always creates a new object in ODI. If there is an existing object with the same name in the repository, the new object is created with a name suffixed with _# where "#" is a number.

- NODUP matches objects existing in ODI repository with the name, if exists, the object is not migrated and the existing one in ODI repository is used.

MIGRATE_DEPENDENCIES=<TRUE|FALSE>

No

Controls whether dependent objects are migrated with the objects selected for migration.

The default value is FALSE (dependent objects are not migrated).

Recursive dependency is supported when MIGRATE_DEPENDENCIES is set to TRUE. For example:

Mapping MAP_1 has a map operator bound to table T_1, and table T_1 has an FK (foreign key) relationship with table T_2. Both T_1 and T_2 are considered as dependencies and are migrated along with mapping MAP_1.

STOP_ON_ERROR=<TRUE|FALSE>

No

Indicates whether to continue the migration process or stop when an error occurs.

When set to TRUE, the migration process stops and no objects are migrated. When set to FALSE, the migration process continues even if an error occurs, and successful objects are migrated.

The default value is FALSE.

SPLIT_JOIN_FOR_ANSI_SYNTAX=<TRUE|FALSE>

No

Indicates whether to split the join operator to binary join when the property Use ANSI Syntax of the OWB mapping is set to TRUE.

The default value is TRUE (join operator is split).

MIGRATE_UNBOUND_OPERATOR=<TRUE|FALSE>

No

Determines whether mappings that contain unbound operators (excluding Code Template mappings) are migrated. Unbound operators include external table, table, view, materialized view, lookup, and pluggable mapping.

When set to TRUE, mappings that contain unbound operators are migrated. For unbound entity operators (external table, table, view, materialized view, and lookup), an ODI datastore corresponding to the unbound operator is created in the ODI model that is migrated from the OWB module where the OWB mapping exists. The unbound operator is migrated to an ODI mapping component bound to the newly created ODI datastore.

For an unbound pluggable mapping operator, an ODI reusable mapping is created in an ODI folder named STAND_ALONE. The unbound pluggable mapping operator is migrated to the ODI reusable mapping component bound to the newly created reusable mapping.

The default value is FALSE, which means any mappings that contain unbound operators are not migrated.

MIGRATION_OBJECTS=<objects>

No

Specifies the OWB objects to be migrated.

The default value is the wild card asterisk (*), which means that all projects in the designated OWB workspace are migrated.

For more information about migrating specific objects, see Migrating Specific Objects in an OWB Workspace.

FLUSH_BATCH_SIZE=<number_of_mappings>

No

Indicates the number of mappings to be processed or migrated at a time.

Use this parameter to avoid out of memory issues if the OWB workspace has a very large number of mappings.

The default value is 50. Reduce this value if out of memory issues occur.

2.3.3 Configuration File Example

Example 2-1 shows the values for a sample migration utility configuration file.

Example 2-1 Sample Migration Utility Configuration File

ODI_MASTER_USER=ODIREP
ODI_MASTER_URL=jdbc:oracle:thin:@localhost:1521:machine
ODI_MASTER_DRIVER=oracle.jdbc.OracleDriver
ODI_USERNAME=SUPERVISOR
ODI_WORK_REPOSITORY_NAME=WORK0
OWB_WORKSPACE_OWNER=rep_0
OWB_URL=localhost:1521:machine.example.com
OWB_WORKSPACE_NAME=REP_0_WS_0
MIGRATION_LOG_FILE=/tmp/migration.log
MIGRATION_REPORT_INCLUDE=ALL
MIGRATION_MODE=RUN
MIGRATION_STRATEGY=CREATE
MIGRATE_DEPENDENCIES=TRUE
STOP_ON_ERROR=FALSE
SPLIT_JOIN_FOR_ANSI_SYNTAX=TRUE
MIGRATE_UNBOUND_OPERATOR=TRUE
MIGRATION_OBJECTS=PROJECT.MY_PROJECT
FLUSH_BATCH_SIZE=50

3 Using the Migration Utility to Migrate

The migration utility is the command-line tool to migrate objects from OWB to ODI .

Migration is performed using the settings specified in the migration utility configuration file. For more information about this file, see Creating the Migration Utility Configuration File.

Note:

The OWB workspace and the ODI repository should not be in use when you run the migration utility and perform the migration.

The following topics are addressed here:

3.1 Migration Utility Syntax and Parameters

The migration utility is started from the command line and takes several parameters as inputs to perform the migration.

On Linux, the migration utility file is named migration.sh and is executed from the OWB_HOME/owb/bin/unix directory, where OWB_HOME is your OWB installation directory.

On Windows, the migration utility file is named migration.bat and is executed from the OWB_HOME/owb/bin/win directory, where OWB_HOME is your OWB installation directory.

The syntax to run the migration utility and perform the migration is as follows:

./migration.sh <odi_master_password> <odi_user_password> <owb_workspace_owner_password> <configuration_file>

For example:

./migration.sh odi_master supervisor migration /scratch/jsmith/Migration/owb_migration.properties

The command parameters are as follows:

- odi_master_password: ODI master repository password (It is mandatory parameter. When migration mode is set to FAST_CHECK, this password might not be the real one)

- odi_user_password: ODI user password (It is mandatory parameter. When migration mode is set to FAST_CHECK, this password might not be the real one)

- owb_workspace_owner_password: OWB workspace owner password

- configuration_file: Full path to the migration utility configuration file and the file name

If you want migration.sh to refer to the ODI libraries you specified, you need to list all the necessary ODI public SDK jars in a file and use the following syntax to start the migration utility.

./migration.sh -Dodi.classpath= <odi_classpath_file> <odi_master_password> <odi_user_password> <owb_workspace_owner_password> <configuration_file>

odi_classpath_file: Full path to the odi classpath file and the file name.

In the odi classpath file, you need to list the full path of the ODI jars line by line.

Note that -Dodi.classpath should be placed just after the migration.sh and before the other parameters.

Note:

For more information about the migration modes used to test and perform the migration, see MIGRATION_MODE in Configuration File Parameters.

After migration is complete, you are returned to the command prompt. You can then review the migration utility log file and exclusion report for details about the migration. For more information about these files, see Reviewing Log and Report Files.

3.2 Migrating an OWB Workspace

To migrate an entire OWB workspace, use the wild card asterisk (*) as the value for the MIGRATION_OBJECTS parameter in the migration utility configuration file.

For example:

MIGRATION_OBJECTS=*

All projects and supported objects in the OWB workspace specified by the OWB_WORKSPACE_NAME parameter in the configuration file will be migrated.

Note:

You can migrate just one workspace at a time. Edit the configuration file and run the migration utility for each workspace that you want to migrate.

3.3 Migrating Specific Objects in an OWB Workspace

To migrate specific objects in an OWB workspace, configure the MIGRATION_OBJECTS parameter in the migration utility configuration file to migrate just those objects.

You can specify a project, folder, or single non-folder object, or a set of objects that share the same type and the same folder.

Use a string that concatenates the qualifying names of all objects included in the object's path, from the top-level object to the leaf object. Qualifying names are specified as OBJECT_TYPE.OBJECT_PHYSICAL_NAME, with a period (.) separating the object type from its physical name. For example, to select table T_1 in Oracle module MOD_1 in project PRO_1, set the value of the MIGRATION_OBJECTS parameter to PROJECT.PRO_1.MODULE.MOD_1.TABLE.T_1.

The following values can be used for OBJECT_TYPE:

- CUBE

- DIMENSION

- EXTERNAL_TABLE

- FLAT_FILE_MODULE

- FLAT_FILE

- GENERIC_FOLDER

- GENERIC_MODULE

- LOCATION

- MODULE

- MAPPING

- MATERIALIZED_VIEW

- PLUGGABLE_MAPPING

- PLUGGABLE_MAPPING_FOLDER

- PROJECT

- SAP_MODULE

- SEQUENCE

- TABLE

- VIEW

Use a semicolon (;) to separate multiple items, for example:

MIGRATION_OBJECTS=PROJECT.PRO_1.MODULE.MOD_1.TABLE.T_1;PROJECT.PRO_2.MODULE.MOD_2;

Use a backslash (\) at the end of a line to improve readability of the configuration file if there are multiple items, for example:

MIGRATION _OBJECTS=
PROJECT.OWB_MIGRATION.SAP_MODULE.MY_SAP_MOD;\
PROJECT.MY_PROJECT.MODULE.ORA_MOD;\
PROJECT.MY_PROJECT.MODULE.DB2_MOD

Use the wild card asterisk (*) at the end of a string instead of an object name to select all objects of a specific type in a folder. The following example selects all tables in module MOD_1:

MIGRATION_OBJECTS=PROJECT.PRO_1.MODULE.MOD_1.TABLE.*

Use the wild card asterisk (*) at the end of an object name to select all objects with that name. The following example selects all tables in module MOD_1 with a name that starts with MYTEST:

MIGRATION_OBJECTS=PROJECT.PRO_1.MODULE.MOD_1.TABLE.MYTEST*

The following uses are not supported:

MIGRATION_OBJECTS=PROJECT.*.MODULE.MOD_1.TABLE.T_1;
MIGRATION_OBJECTS=PROJECT.PRO_1.MODULE.*.TABLE.T_1;
MIGRATION_OBJECTS=PROJECT.*.MODULE.*.TABLE.*;
MIGRATION_OBJECTS=PROJECT.PRO_1.MODULE.*.TABLE.MYT*;
MIGRATION_OBJECTS=PROJECT.PRO_1.MODULE.MYMOD*.TABLE.MYT_1;

When an invalid object is specified, an error is returned:

[ERROR][Migration][MU-1005] The selected object {0} does not exist or the
selection is invalid {invalid object name}. It will be skipped.

For more information about error messages that you might encounter when you run the migration utility, see Message Reference.

Example 3-1 Migrating Specific Objects

This section provides additional examples of migrating specific objects.

The following example migrates Oracle Database module ORACLE_EBS_D in project SSAD:

MIGRATION_OBJECTS=PROJECT.SSAD.MODULE.ORACLE_EBS_D;

The following example migrates pluggable mapping DEBS_EDW_MAP1 in pluggable mapping folder DWPR_SUB:

MIGRATION_OBJECTS=PROJECT.PROJ_DW.PLUGGABLE_MAPPING_FOLDER.DWPR_SUB.PLUGGABLE_MAPPING.DEBS_EDW_MAP1;

The following example migrates standalone pluggable mapping PLUGGABLE_MAPPING_1 in project SSA:

MIGRATION_OBJECTS=PROJECT.SSA.PLUGGABLE_MAPPING.PLUGGABLE_MAPPING_1

3.4 Performing a Test Migration

To test your migration before executing it, set the MIGRATION_MODE parameter in the migration utility configuration file to FAST_CHECK or DRY_RUN.

The FAST_CHECK option checks which objects can and cannot be migrated. The DRY_RUN option checks whether the specified objects can be created in the target ODI repository, and executes the migration without committing the objects to the repository. For more information about these options, see MIGRATION_MODE in Configuration File Parameters.

After performing a test migration, review the migration utility log file and exclusion report for details. You can use these files to identify objects that can and cannot be migrated and to address any issues before performing the actual migration. For more information about these files, see Reviewing Log and Report Files.

4 Reviewing Your Migration

Reviewing your migration includes reviewing logs and report files.

The following topics are addressed here:

4.1 Reviewing Log and Report Files

You can use the log and report files to review, refine, and troubleshoot your migration.

Two files are created after migration is complete or after you perform a test migration. By default, the files are named migration.log and migration.report. Use these files to review, refine, and troubleshoot your migration.

By default, the files are saved in the same location as the migration utility configuration file. You can specify a different file name and location using the MIGRATION_LOG_FILE parameter in the configuration file. For more information about this parameter, see MIGRATION_LOG_FILE in Configuration File Parameters.

The following topics are addressed here:

4.1.1 Reviewing the Migration Utility Log File

The migration utility log file contains details about objects that were migrated, rejected, or skipped, and error messages if any errors occurred.

The log file is organized in the following sections:

- Log file header with migration mode, log file creation time, OWB and ODI details, full path to the log file, and configuration options.

- Migration start time.

- Detailed information about the migration status of each object (whether migration succeeded, was rejected, or skipped) and error messages if errors occurred. For more information about informational, warning, and error messages that you might encounter when you run the migration utility, see Message Reference.

- Summary information organized by object type, including the path to each object.

- Log file footer with total execution time and migration end time.

Example 4-1 Sample Migration Utility Log File

This example shows a sample migration utility log file, with MIGRATION_MODE set to RUN.

*******************************************************************************
* Oracle Warehouse Builder - Migration Utility - Log
* Created: 9/26/16 7:42 PM
* Migration Report Style - RUN
*
* OWB Release:11.2.0.4.0 - OWB Repository:
OWB_REPO_MIG/machine.example.com:1521:orcl11204 - OWB Workspace:
OWB_REPO_MIG.OWB_REPO_WKSP1
*
* ODI Release:12.2.1.2.6 - ODI Master mig12c/jdbc:oracle:thin:@machine:1521:orcl11203 - ODI User/Work Repository:SUPERVISOR/WORKREP1
*
* Log File: /tmp/migration.log
*
* Configuration Options
*
---------------------
* MIGRATION_REPORT_INCLUDE=ALL
* MIGRATION_MODE=RUN
* MIGRATE_DEPENDENCIES=true
* STOP_ON_ERROR=true
* SPLIT_JOIN_FOR_ANSI_SYNTAX=true
* MIGRATE_UNBOUND_OPERATOR=true
* FLUSH_BATCH_SIZE=50
* MIGRATION_STRATEGY=NODUP
* MIGRATION_OBJECTS=PROJECT.DIM_PROJECT
********************************************************************************

Migration started at 9/26/16 7:42 PM Pacific Standard Time

********************************************************************************
----START MIGRATE LOCATION REP_TARGET.
----SUCCESSFULLY MIGRATED REP_TARGET.
----START MIGRATE PROJECT DIM_PROJECT.FLUSH OdiDataServer[1]  COST(MS):1178
-------START MIGRATE MODULE_FOR_LOGICALSCHEMA DIM_MOD.
-------SUCCESSFULLY MIGRATED DIM_MOD.
----START MIGRATE MODULE DIM_MOD.FLUSH OdiLogicalSchema[1]  COST(MS):744
-------START MIGRATE TABLE AT_009_DIM_LEV1.
-------SUCCESSFULLY MIGRATED AT_009_DIM_LEV1.
-------START MIGRATE TABLE AT_009_DIM_LEV2.
-------SUCCESSFULLY MIGRATED AT_009_DIM_LEV2.
-------START MIGRATE TABLE AT_009_DIM_LEV3.
-------SUCCESSFULLY MIGRATED AT_009_DIM_LEV3.
-------START MIGRATE TABLE AT_009_SRC_LEV1.
-------SUCCESSFULLY MIGRATED AT_009_SRC_LEV1.
-------START MIGRATE TABLE AT_009_SRC_LEV2.
-------SUCCESSFULLY MIGRATED AT_009_SRC_LEV2.
-------START MIGRATE TABLE AT_009_SRC_LEV3.
----SUCCESSFULLY MIGRATED AT_009_SRC_LEV3.
----START MIGRATE SEQUENCE AT_009_SEQ_SCD1.FLUSH OdiDataStore[6]  COST(MS):2084
----SUCCESSFULLY MIGRATED AT_009_SEQ_SCD1.
----SUCCESSFULLY MIGRATED DIM_MOD.
----START SECOND PASS FOR TABLE.
--------FOREIGN KEY CREATED: AT_009_DIM_LEV2.LEV2_FOREIGN_KEY --> AT_009_DIM_LEV1.LEV1_ID
--------FOREIGN KEY CREATED: AT_009_DIM_LEV3.LEV3_FOREIGN_KEY2 --> AT_009_DIM_LEV2.LEV2_ID
----END SECOND PASS.
----START MIGRATE DIMENSION_MODULE DIM_MOD.
----START MIGRATE STAGE_TABLE LEVEL3_AT_009_DIM_STG.FLUSH OdiDimensionalModel[1]  COST(MS):455
----SUCCESSFULLY MIGRATED LEVEL3_AT_009_DIM_STG.
--------START MIGRATE STAGE_TABLE LEVEL1_AT_009_DIM_STG.
--------SUCCESSFULLY MIGRATED LEVEL1_AT_009_DIM_STG.
--------START MIGRATE STAGE_TABLE LEVEL2_AT_009_DIM_STG.
----SUCCESSFULLY MIGRATED LEVEL2_AT_009_DIM_STG.
----START MIGRATE DIMENSION AT_009_DIM.FLUSH OdiDataStore[2]  COST(MS):1888
----SUCCESSFULLY MIGRATED AT_009_DIM.
----SUCCESSFULLY MIGRATED DIM_MOD.
----START MIGRATE CUBE_MODULE DIM_MOD.
---------[INFO][Migration][MU-1010]DIM_MOD is skipped because it already exists.
----END MIGRATE DIM_MOD.
----START MIGRATE MAPPING_MODULE DIM_MOD.
----START MIGRATE MAPPING AT_009_MAP_TEMP_SCD1.FLUSH MAPPING, MIGRATED 0 COST(MS):181
----SUCCESSFULLY MIGRATED AT_009_MAP_TEMP_SCD1
----SUCCESSFULLY MIGRATED DIM_MOD.SUCCESSFULLY MIGRATED DIM_PROJECT.

**************************************************************************

----LOCATION[TOTAL:1 MIGRATED:1 REJECTED:0 SKIPPED:0].
------PASSED: PROJECT[PUBLIC_PROJECT].LOCATION[REP_TARGET].PROJECT[TOTAL:1 MIGRATED:1 REJECTED:0 SKIPPED:0].
------PASSED: PROJECT[DIM_PROJECT].MODULE[TOTAL:1 MIGRATED:1 REJECTED:0 SKIPPED:0].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].
----MODULE_FOR_LOGICALSCHEMA[TOTAL:1 MIGRATED:1 REJECTED:0 SKIPPED:0].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].TABLE[TOTAL:6 MIGRATED:6 REJECTED:0 SKIPPED:0].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].TABLE[AT_009_DIM_LEV1].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].TABLE[AT_009_DIM_LEV2].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].TABLE[AT_009_DIM_LEV3].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].TABLE[AT_009_SRC_LEV1].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].TABLE[AT_009_SRC_LEV2].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].TABLE[AT_009_SRC_LEV3].SEQUENCE[TOTAL:1 MIGRATED:1 REJECTED:0 SKIPPED:0].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].SEQUENCE[AT_009_SEQ_SCD1].DIMENSION_MODULE[TOTAL:1 MIGRATED:1 REJECTED:0 SKIPPED:0].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].DIMENSION[TOTAL:1 MIGRATED:1 REJECTED:0 SKIPPED:0].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].DIMENSION[AT_009_DIM].STAGE_TABLE[TOTAL:3 MIGRATED:3 REJECTED:0 SKIPPED:0].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].DIMENSION[AT_009_DIM].LEVEL[LEVEL1_AT_009_DIM_STG]:98267.
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].DIMENSION[AT_009_DIM].LEVEL[LEVEL2_AT_009_DIM_STG]:98271.
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].DIMENSION[AT_009_DIM].LEVEL[LEVEL3_AT_009_DIM_STG]:98276.CUBE_MODULE[TOTAL:1 MIGRATED:0 REJECTED:0 SKIPPED:1].
------SKIPPED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].MAPPING_MODULE[TOTAL:1 MIGRATED:1 REJECTED:0 SKIPPED:0].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].MAPPING[TOTAL:1 MIGRATED:1 REJECTED:0 SKIPPED:0].
------PASSED: PROJECT[DIM_PROJECT].MODULE[DIM_MOD].MAPPING[AT_009_MAP_TEMP_SCD1].

*****************************************************************************

Migration ended at 9/26/16 7:43 PM Pacific Standard Time

Total migration time (hh:mm:ss): 00:00:51

4.1.2 Reviewing the Migration Utility Exclusion Report

The migration utility exclusion report contains a summary of the objects migrated, and lists whether migration succeeded, was rejected, or skipped for each object.

The exclusion report is organized in the following sections:

- Exclusion report header with migration mode, report creation time, OWB and ODI details, full path to the report file, and configuration options.

- Migration start time.

- Migration statistics including how many projects were migrated, and total number of objects migrated for each project.

- Detailed migration status for each selected object (whether migration succeeded, was rejected, or skipped).

- Exclusion report footer with total execution time and migration end time.

Example 4-2 Sample Migration Utility Exclusion Report

This example shows a sample migration utility exclusion report, with MIGRATION_MODE set to RUN.

*******************************************************************************
*Oracle Warehouse Builder - Migration Utility - Summary Report
*Created: 10/10/16 1:00 AM
*Migration Report Style - RUN
*
*OWB Release:11.2.0.4.0 - OWB Repository:
OWB_REPO_MIG/machine.example.com:1521:orcl11204 - OWB Workspace:
OWB_REPO_MIG.OWB_REPO_WKSP1
*
*ODI Release:12.2.1.2.6 - ODI Master Repository:
mig12c/jdbc:oracle:thin:@machine:1521:orcl11204 - ODI User/Work Repository:
SUPERVISOR/WORKREP1
*
*Report File: /tmp/migration.report
*
Configuration Options
---------------------

*MIGRATION_REPORT_INCLUDE=ALL
*MIGRATION_MODE=RUN
*MIGRATE_DEPENDENCIES=true
*STOP_ON_ERROR=true
*SSPLIT_JOIN_FOR_ANSI_SYNTAX=true
*MIGRATE_UNBOUND_OPERATOR=true
*FLUSH_BATCH_SIZE=50
*MIGRATION_STRATEGY=NODUP
*MIGRATION_OBJECTS=PROJECT.DIM_PROJECT.MODULE.DIM_MOD.MAPPING.AT_009_MAP_TEMP_SCD1
********************************************************************************

Migration started at 10/10/16 1:00 AM Pacific Standard Time

Statistics
------------

Total Projects Migrated: 2

********************************************************************************
PROJECT: PUBLIC_PROJECT
Object Types                  Migrated     Rejected     Skipped
--------------------------    ---------    ---------    --------
MODULE:                          1            0           0
MODULE_FOR_LOGICALSCHEMA:        1            0           0
TABLE:                           6            0           0
SEQUENCE:                        1            0           0
DIMENSION_MODULE:               1            0           0
DIMENSION:                       1            0           0
STAGE_TABLE:                     3            0           0
CUBE_MODULE:                     0            0           1
MAPPING_MODULE:                  1            0           0
MAPPING:                         1            0           0

Details
--------
********************************************************************************
PROJECT: PUBLIC_PROJECT

Object Types                 Status
---------------------------  -------
LOCATION   REP_TARGET        SUCCESS

********************************************************************************
PROJECT: DIM_PROJECT

Object Types                 Status
---------------------------  -------
MODULE
DIM_MOD                    SUCCESS
MODULE_FOR_LOGICALSCHEMA
DIM_MOD                    SUCCESS
TABLE
AT_009_DIM_LEV1            SUCCESS
AT_009_DIM_LEV2            SUCCESS
AT_009_DIM_LEV3            SUCCESS
AT_009_SRC_LEV1            SUCCESS
AT_009_SRC_LEV2            SUCCESS
AT_009_SRC_LEV3            SUCCESS
SEQUENCE
AT_009_SEQ_SCD1            SUCCESS
DIMENSION_MODULE
DIM_MOD                    SUCCESS
DIMENSION
AT_009_DIM                 SUCCESS
STAGE_TABLE
LEVEL1_AT_009_DIM_STG      SUCCESS
LEVEL2_AT_009_DIM_STG      SUCCESS
LEVEL3_AT_009_DIM_STG      SUCCESS
CUBE_MODULE
DIM_MOD                    [INFO][Migration][MU-1010]DIM_MOD is skipped because it already exists.
MAPPING_MODULE
DIM_MOD                    SUCCESS
MAPPING
AT_009_MAP_TEMP_SCD1       SUCCESS

Migration ended at 10/10/16 1:00 AM Pacific Standard Time

Total migration time (hh:mm:ss): 00:00:33

4.2 Verifying Your Migration

Follow these steps to verify that the mappings that were migrated from OWB.

When migration is complete, perform the following steps in ODI to verify the mappings that were migrated from OWB:

- Use ODI Studio to connect to the ODI environment. See Connecting to a Work Repository in the Administrator’s Guide for Oracle Data Integrator.

- Navigate to Topology Navigator and review the data server settings. You may need to edit some of the information such as user names, passwords, or JDBC URLs depending on your environment. Test each connection to make sure that each migrated data server is correctly configured. See Setting Up a Topology in the Administrator’s Guide for Oracle Data Integrator.

- Navigate to Designer Navigator and review the migrated models and datastores in the Models panel. See Creating and Using Data Models and Datastores in the Developer's Guide for Oracle Data Integrator.

- Navigate to Designer Navigator and verify the migrated mappings in the Projects panel by running the mappings. See Creating and Using Mappings in the Developer's Guide for Oracle Data Integrator.

Note:
Using the Migration Utility to migrate OWB objects to ODI is one of the many phases of migration. Please refer to the roadmap of migration as described in Understanding the Migration Process chapter for follow-up phases after the migration utility is run. Also, please note in all circumstances, manual work to fix up migrated artifacts in ODI shall be expected.

A Message Reference

Messages, prompt, and warnings are displayed when you run the migration utility. They are displayed to help you through the migration.

If objects cannot be migrated, informational messages appear.

If objects are migrated with warnings, warning messages appear.

If the objects cannot be migrated due unexpected errors, error messages appear.

The informational, warning, and error messages are written to the migration utility log in the following formats:

- [ERROR|WARN|INFO][Migration][MU-XXXX]: Indicates the message is coming from the migration utility (XXXX is the message ID).

- [ERROR|WARN][Migration][ODI]: Indicates the message is coming from ODI.

- [ERROR|WARN][Migration][OWB]: Indicates the message is coming from OWB.

For more information about the migration utility log file, see Reviewing Log and Report Files.

Table A-1 provides example OWB and ODI error and warning messages. The message text is as it appears in the message.

Table A-1 Example OWB and ODI Error and Warning Messages

Message

Cause

Action

[ERROR][Migration][OWB] Unable to connect to OWB workspace! Details: {0}

The connection to the OWB workspace cannot be established. The credential information used to connect to the OWB workspace may be invalid.

Verify the following parameters in the migration utility configuration file when running the migration utility (migration.sh):

- OWB_WORKSPACE_OWNER

- OWB_URL

- OWB_WORKSPACE_NAME

For more information about these parameters, see Configuration File Parameters.

Also verify the password for the OWB workspace owner.

[ERROR][Migration][ODI] Unable to connect to ODI repository! Details: {0}

The connection to the ODI repository cannot be established. The credential information used to connect to the ODI repository may be invalid.

Verify the following parameters in the migration utility configuration file when running the migration utility (migration.sh):

- ODI_MASTER_USER

- ODI_MASTER_URL

- ODI_MASTER_DRIVER

- ODI_USERNAME

- ODI_WORK_REPOSITORY_NAME

For more information about these parameters, see Configuration File Parameters.

Also verify the passwords for the ODI master repository and the ODI user.

Table A-2 lists migration utility error and warning messages. Messages are listed in numeric order by message ID. The message text is as it appears in the message.

Table A-2 Migration Utility Informational, Warning, and Error Messages

Message

Cause

Action

[MU-1001] Invalid number of parameters. You have to provide 4 parameters: password for ODI master repository, password for ODI user, password for OWB, full path for settings file.

Required parameters were not supplied when running the migration utility (migration.sh).

Provide the required parameters when running the migration utility (migration.sh).

For more information about the correct syntax, see Migration Utility Syntax and Parameters.

[ERROR] [Migration] [OWB] Unable to connect to OWB workspace! Details: {0}

The connection to OWB workspace cannot be established. The credential information used to connect to OWB workspace may be invalid.

Verify the following parameters in the migration utility configuration file when running the migration utility (migration.sh):

- OWB_WORKSPACE_OWNER

- OWB_URL

- OWB_WORKSPACE_NAME

[ERROR] [Migration] [ODI] Unable to connect to ODI repository! Details: {0}

The connection to ODI repository cannot be established. The credential information used to connect to ODI repository may be invalid.

Verify the following parameters in the migration utility configuration file when running the migration utility (migration.sh):

- ODI_MASTER_USER

- ODI_MASTER_URL

- ODI_MASTER_DRIVER

- ODI_USERNAME

- ODI_WORK_REPOSITORY_NAME

[MU-1004] Unable to load configuration file {0}. Details:{1}

The migration utility configuration file does not exist or is not readable or accessible.

Make sure the migration utility configuration file exists and is readable and accessible. Specify the full path to the configuration file and the file name.

For more information about the configuration file, see Creating the Migration Utility Configuration File.

[MU-1005] The selected object {0} does not exist or the selection is invalid. It will be skipped.

An invalid or nonexistent object is specified for the MIGRATION_OBJECTS parameter in the migration utility configuration file.

Verify the value specified for the MIGRATION_OBJECTS parameter in the migration utility configuration file.

For more information about this parameter, see MIGRATION_OBJECTS in Configuration File Parameters. Also see Migrating Specific Objects in an OWB Workspace.

[MU-1006] Invalid object name {0} in selection {1}, the selection will be skipped.

An invalid object name is specified for the MIGRATION_OBJECTS parameter in the migration utility configuration file.

Verify the value specified for the MIGRATION_OBJECTS parameter in the migration utility configuration file.

For more information about this parameter, see MIGRATION_OBJECTS in Configuration File Parameters. Also see Migrating Specific Objects in an OWB Workspace.

[MU-1007] Migration failed. Details: {0}

As described in the message.

Review the message to determine the cause of the problem and take appropriate action.

[MU-1008] Unable to write to log or report file {0}. Details:{1}

The log or report file is not accessible to the migration utility.

Verify the path specified for the MIGRATION_LOG_FILE parameter in the migration utility configuration file. Make sure the specified location permits new files to be created and that enough disk space exists to write the files.

For more information about this parameter, see MIGRATION_LOG_FILE in Configuration File Parameters.

[MU-1009] Invalid configuration option {0}. It will be ignored.

An invalid parameter is specified in the migration utility configuration file.

Verify the parameters in the migration utility configuration file, make sure they are correct.

[MU-1010] {0} is skipped because it already exists.

The parameter MIGRATION_STRATEGY in the migration utility configuration file is specifies to NODUP. When MIGRATION_STRATEGY is set to NODUP, migration utility will match with objects existing in ODI repository with the name, if exists, the object will not be migrated and the existing one in ODI repository is used.

No action.

[MU-2001] Migration of location {0} in platform {1} is not supported.

The location for this platform is not supported for migration.

No action.

[MU-2002] Migration of location {0} with no associated platform is not supported.

The location is not associated with a platform.

No action.

[MU-3001] Unable to load file {0}. Details: {1}.

The file PlatformMappingsForMigration.xml does not exist in the OWB_HOME/owb/bin/admin directory or the directory is not accessible to the migration utility.

Verify that the file PlatformMappingsForMigration.xml exists in the OWB_HOME/owb/bin/admin directory and that the directory is accessible to the migration utility (OWB_HOME is your OWB installation directory).

This file contains the mappings between OWB platforms and ODI technologies. For more information about this file, see OWB Platform to ODI Technology.

[MU-3002] Unable to find ODI technology corresponding to the OWB platform: {0}.

The mapping of the specified OWB platform to any ODI technology is missing in the file PlatformMappingsForMigration.xml.

Add the mapping of the specified OWB platform to one ODI technology in the file PlatformMappingsForMigration.xml.

This file contains the mappings between OWB platforms and ODI technologies. For more information about this file, see OWB Platform to ODI Technology.

[MU-3003] Unable to find technology: {0} in ODI.

The specified technology is not defined in the ODI repository.

Define the specified technology in ODI, or modify the file PlatformMappingsForMigration.xml to refer to a correct ODI technology.

This file contains the mappings between OWB platforms and ODI technologies. For more information about this file and these mappings, see OWB Platform to ODI Technology.

[MU-4001] Migration of {0}:{1} is not supported because unsupported data type {3} is used in column {2}.

The data type used by the specified column is not supported for migration.

Change the data type in OWB if possible.

For more information about data types supported for migration, see Reference to Migration Details.

[MU-4002] {0}:{1} has multiple primary keys. Only one primary key is allowed in ODI, the redundant primary keys will be migrated as alternate keys.

An OWB table can be defined with several primary keys, but an ODI data store can have just one primary key. Only one of the primary keys in OWB will be migrated as the primary key in ODI. The rest will be migrated as alternate keys.

No action.

[MU-4003] {0}:{1} is not migrated because it has multiple columns with the same name {2}.

An OWB table may have duplicate columns due to previous OWB issues.

Check the OWB table, and rename the columns. Make sure the name of the column is unique in the table.

[MU-5001] Migration of mapping with mapping operator {0}:{1} is not supported.

The specified mapping operator is not supported for migration.

No action.

[MU-5002] Migration of mapping with mapping operator {0}:{1} which contains multiple return attributes is not supported.

Function operators with multiple return attributes are not migrated.

No action.

[MU-5003] Migration of mapping with mapping operator {0}:{1} which contains OUT parameter {2} is not supported.

Function operators with OUT parameters are not migrated.

No action.

[MU-5004]Migration of mapping with mapping operator {0}:{1} which contains INOUT parameter {2} is not supported.

Function operators with INOUT parameters are not migrated.

No action.

[MU-5005] Migration of mapping with complex data type {2} used in attribute {3} in mapping operator {0}:{1} is not supported}.

Mapping operators with complex data types used in mapping attributes are not migrated.

No action.

[MU-5006] Migration of mapping with mapping operator {0}:{1} that does not define return attribute is not supported.

Function operators with no return attribute are not migrated.

No action.

[MU-5007] Mapping is not migrated because the function name of the mapping operator {0}:{1} cannot be determined.

The property FUNCTION_NAME on the function operator is not defined.

Set the value for the property FUNCTION_NAME on the function operator.

[MU-5008] Unable to set Extract Knowledge Module on physical node {0} in ODI. Details: {1}

As described in the message.

Review the message to determine the cause of the problem and take appropriate action.

[MU-5009] Mapping is not migrated because the bound object of the mapping operator {0}:{1} is not being migrated.

The bound object of a mapping operator is not migrated.

Check the migration utility log to determine why the bound object was not migrated.

[MU-5010]Mapping is not migrated because the mapping operator{0}:{1} has no output attribute group.

The Lookup operator has no output attribute group.

Modify the Lookup operator in OWB, and add the output attribute group for it.

[MU-5011] mapping is not migrated because the output attribute group {1} in Lookup {0} is unbound. Use the configuration option of migration utility "MIGRATE_UNBOUND_OPERATOR" or fix the mapping with unbound output attribute groups.

The output attribute group of the Lookup operator is unbound.

Bind the output attribute group of the Lookup operator or set the MIGRATE_UNBOUND_OPERATOR parameter in the migration utility configuration file to TRUE.

For more information about this parameter, see MIGRATE_UNBOUND_OPERATOR in Configuration File Parameters.

[MU-5012] Mapping is not migrated because the bound object of the mapping operator {0}:{1} for output attribute group {2} is not being migrated.

The bound object of the output attribute group of the Lookup operator is not migrated.

Check the migration utility log to determine why the bound object was not migrated.

[MU-5013] Mapping is not migrated because the input attribute group is not defined for output attribute group {1} in Lookup {0}.

The output attribute group of the Lookup operator has no corresponding input attribute group.

Modify the Lookup operator, and add the input attribute group for each output attribute group.

[MU-5018] Mapping is not migrated because unsupported data type {3} is used in attribute {2} in mapping operator {0}:{1}.

Data type {3} set on the mapping attribute is not supported for migration.

Change the data type of the mapping attribute to a supported data type if possible.

For more information about data types supported for migration, see Reference to Migration Details.

[MU-5019] Unable to set expression [{1}] on attribute {0}. Details: {2}.

As described in the message.

Review the message to determine the cause of the problem and take appropriate action.

[MU-5020] Unable to split mapping joiner operator {0} into binary joins due to {1}.

The join condition of the join operator cannot be parsed successfully.

Check the join condition and modify it if possible.

[MU-5021] The mapping joiner operator {0} will be split into binary joins after migration because some input group(s) have role set to "Outer", even though the mapping property "ANSI SQL Syntax" is set to false or the configuration option for migration utility "SPLIT_JOIN_FOR_ANSI_SYNTAX" is set to false.

The role is set to Outer for some input groups of the joiner operator. The joiner operator will be split to binary joins. The value for the SPLIT_JOIN_FOR_ANSI_SYNTAX parameter in the migration utility configuration file will be ignored.

For more information about this parameter, see SPLIT_JOIN_FOR_ANSI_SYNTAX in Configuration File Parameters.

No action.

[MU-5022] Unable to find corresponding integration type in ODI according to the loading type {0} in OWB for operator {1}:{2}. Default integration type {3} is used.

ODI does not support integration types such as delete.

No action.

[MU-5023] Mapping is not migrated because the mapping operator {0}:{1} is unbound. Use the configuration option of migration utility "MIGRATE_UNBOUND_OPERATOR" or fix the mapping with unbound operators.

A mapping operator is unbound.

Configure the MIGRATE_UNBOUND_OPERATOR parameter in the migration utility configuration file or fix the mapping with unbound operators.

For more information about this parameter, see MIGRATE_UNBOUND_OPERATOR in Configuration File Parameters.

[MU-5024] Migration of mapping operator {0}:{1} with data rules is not supported.

A mapping operator with data rules set is not supported for migration.

No action.

[MU-5025] The bound object of mapping operator {0}:{1} is not selected.

The bound object of the mapping operator is not selected for migration.

Check whether the bound object is explicitly selected using the MIGRATION_OBJECTS parameter in the migration utility configuration file, or whether the MIGRATE_DEPENDENCIES parameter is set to TRUE.

For more information about these parameters, see Configuration File Parameters.

[MU-5026] Unable to generate ODI ExternalTable access parameter option for operator {0}:{1}. Details: {2}.

As described in the message.

Review the message to determine the cause of the problem and take appropriate action.

[MU-5027] Unable to migrate mapping with operator {0} because no {1} DataStore component hold the generated {2} for it.

The given mapping has no source data store component to hold the generated BEGIN_MAPPING_SQL or has no target data store component to hold the generated END_MAPPING_SQL.

The Pre/Post mapping operator is migrated to BEGIN/END_MAPPING_SQL in ODI, but these two options rely on the source/target data store component. An exception is raised if the source/target data store component is not found.

No action.

[MU-5028] Unable to migrate mapping with operator {0} when store generated {1} into {2} Datastore component raised error: {3}.

Storing the generated BEGIN/END_MAPPING_SQL into a given ODI data store's KM option raised an unknown problem (for example, an illegal expression).

No action.

[WARN] [Migration] [MU-5030] The value of the property {0} set on operator {1}:{2} is different from the value set on the bound object of {2}. This property is not being migrated.

The property such as Orphan Management Setting on dimension/cube is different from the setting on dimension/cube operator. Only the setting on dimension/cube is migrated.

Manually change the orphan management setting on dimension/cube after migration if needed.

[WARN] [Migration] [MU-5031] The value of the property {0} set on map attribute {1} of operator {2}:{3} is different from the value set on the bound object of {1}. This property is not being migrated.

The property such as Default Value setting on dimension operator attribute is different from the value set on the dimension level attribute. Only the value set on dimension level attribute is migrated.

Manually change the property value on dimension level attribute after migration if needed.

[INFO] [Migration] [MU-5032] Mapping is not migrated because operator {0}:{1} is used as a source in mapping. This is not supported for migration.

Mapping with Dimension or Cube operator as a source is not supported for migration.

No Action.

[INFO] [Migration] [MU-5033] Mapping is not migrated because the mapping operator{0}:{1} is bound to a dimension level. This is not supported for migration.

Mapping containing any map operator that is bound to a dimension level is not migrated.

No Action.

[INFO] [Migration] [MU-5034] Mapping post processor operator:{0} cannot be migrated because there is one or more other post process operators bound to a different location; technology:{1} schema:{2}

Multiple post processor operators found in an OWB mapping that are not associated with the same location.

Change the mapping in OWB if possible, to make sure the post processor operators are associated with the same location.

[INFO] [Migration] [MU-5035] Mapping pre processor operator:{0} cannot be migrated because there is one or more other pre process operators bound to a different location; technology:{1} schema:{2}

Multiple pre processor operators found in an OWB mapping that are not associated with the same location.

Change the mapping in OWB if possible to make sure the pre processor operators are associated with the same location.

[WARN] [Migration] The bound object {0}:{1} of {2}:{3} is not selected for migration. The bound object of the dimension or cube is not selected for migration

The bound object of the dimension or cube is not selected for migration.

Check whether the bound object is explicitly selected using the MIGRATION_OBJECTS parameter in the migration utility configuration file, or whether the MIGRATE_DEPENDENCIES parameter is set to TRUE . For more information about these parameters, see Configuration File Parameters.

[INFO] [Migration] [MU-6002] {0}:{1} will not be migrated because the bound object {2}:{3} was not migrated due to other reasons.

The bound object of a dimension or a cube failed to be migrated.

Check the migration utility log to determine why the bound object was not migrated.

[INFO] [Migration] [MU-6004] {0} will not be migrated because level attribute {1} is not related to a dimension attribute.

A level attribute does not refer to a dimension attribute.

Specify a dimension attribute for each level attribute.

[WARN] [Migration] [MU-6005] The referenced object {0}:{1} of {2}:{3} is not selected for migration.

The dimension referenced by cube is not selected for migration.

Check whether the referenced object is explicitly selected using the MIGRATION_OBJECTS parameter in the migration utility configuration file, or whether the MIGRATE_DEPENDENCIES parameter is set to TRUE.

For more information about these parameters, see Configuration File Parameters

[INFO] [Migration] [MU-6006] {0}:{1} will not be migrated because the referenced object {2}:{3} was not migrated due to other reasons.

The dimension referenced by the cube failed to be migrated.

Check the migration utility log to determine why the dimension was not migrated.

[INFO] [Migration] [MU-6009] {0}:{1} is not migrated because it has multiple references to dimension {2}, level {3} with no unique role qualifiers.

The cube references a dimension several times but with no unique dimension role set.

Set the dimension role for each dimension reference in cube.

B Reference to Migration Details

It is important to understand about the Repositories, Data Objects, Mappings, and Pluggable Mappings

This appendix contains the following topics:

B.1 OWB Repositories

You can find out more information on the various repositories that are available.

B.1.1 OWB Workspace to ODI Work Repository

When invoking the migration utility, the OWB Workspace Owner and its password are needed to connect to the OWB Repository. Each OWB Workspace Owner may have multiple workspaces. Only one workspace will be migrated with each migration. Therefore, one workspace name must be specified for each migration. Each OWB workspace will be migrated to ODI as one ODI Work repository.

If an OWB Workspace owner has multiple OWB Workspaces, each OWB Workspace should be migrated to an ODI Work repository of an ODI Master repository. The migration utility can only migrate at most one OWB Workspace at each time.

B.1.2 OWB Platform to ODI Technology

OWB Platforms and their associated data types are mapped to ODI Technologies and their associated data types. This platform and data type mapping is stored in a configuration file.

For the predefined platforms in OWB, the mappings to ODI can be found in the file PlatformMappingsForMigration.xml located in the <ORACLE_HOME for OWB>/owb/bin/admin directory.

If a user has defined new or custom Platforms in OWB, the mapping of this platform and its data types to ODI technology and its data types can be defined in the same configuration file. The physical name of the OWB Platform should be specified in the mapping, and the internal name of the ODI technology should be used.

The following table shows the predefined OWB Platform to ODI Technology mappings.

OWB Platform

ODI Technology

GENERIC

Generic SQL

ORACLE

(including Oracle Workflow, Apps Concurrent manager)

Oracle

DB2UDB

IBM DB2 UDB

SQLSERVER

Microsoft SQL Server

SAP

SAP ABAP

FILE

File

OBIEE, OBISE, J2EE

These are not migrated.

Data type mapping differs for each OWB Platform mapping. The following tables show the data type mappings for each predefined OWB Platform.

If an OWB data type that has no mapping in ODI is used in Data Objects like Table, View, Materialized View, and External Table, the data object is reported as not migrated.

If an OWB data type that has no mapping in ODI is used in a Mapping Attribute, the data type of the mapping attribute is not set.

B.1.2.1 Data Type Mapping for OWB GENERIC Platform to ODI Generic SQL Technology

OWB Data Type (GENERIC)

ODI Data Type (Generic SQL)

BIGINT

BIGINT

BINARY

BINARY

BINARY_DOUBLE

BINARY_DOUBLE

BINARY_FLOAT

BINARY_FLOAT

BLOB

BLOB

BOOLEAN

CHAR

CHAR

CHAR

CLOB

CLOB

DATE

DATE

DATETIME

DATETIME

DECIMAL

DECIMAL

DOUBLE

DOUBLE

FLOAT

FLOAT

IMAGE

BLOB

INTEGER

INTEGER

INTERVAL DAY TO SECOND

INTERVAL DAY TO SECOND

INTERVAL YEAR TO MONTH

INTERVAL YEAR TO MONTH

LONG

CLOB

LONGVARBINARY

BLOB

LONGVARCHAR

CLOB

MONEY

MONEY

NCHAR

NCHAR

NCLOB

NCLOB

NTEXT

NCLOB

NUMERIC

NUMERIC

NVARCHAR

NVARCHAR

NVARCHAR(MAX)

NCLOB

REAL

REAL

SMALLINT

SMALLINT

TEXT

CLOB

TIME

TIME

TIMESTAMP

TIMESTAMP

TIMESTAMP WITH TIME ZONE

TIMESTAMP WITH TIME ZONE

TINYINT

TINYINT

VARBINARY

VARBINARY

VARBINARY(MAX)

BLOB

VARCHAR

VARCHAR

VARCHAR(MAX)

CLOB

XMLTYPE

XMLTYPE

B.1.2.2 Data Type Mapping for OWB ORACLE Platform to ODI Oracle Technology

OWB Data Type (ORACLE)

ODI Data Type (Oracle)

BINARY_DOUBLE

BINARY_DOUBLE

BINARY_FLOAT

BINARY_FLOAT

BLOB

BLOB

CHAR

CHAR

CLOB

CLOB

DATE

DATE

FLOAT

FLOAT

INTEGER

NUMBER

INTERVAL DAY TO SECOND

INTERVAL DAY TO SECOND

INTERVAL YEAR TO MONTH

INTERVAL YEAR TO MONTH

LONG

LONG

LONG RAW

LONG RAW

MDSYS.SDOAGGRTYPE

MDSYS.SDO_DIM_ARRAY

MDSYS.SDO_DIM_ELEMENT

MDSYS.SDO_ELEM_INFO_ARRAY

MDSYS.SDO_GEOMETRY

MDSYS.SDO_GEOMETRY

MDSYS.SDO_ORDINATE_ARRAY

MDSYS.SDO_POINT_TYPE

NCHAR

NCHAR

NCLOB

NCLOB

NUMBER

NUMBER

NVARCHAR2

NVARCHAR2

RAW

RAW

ROWID

ROWID

SYS.ANYDATA

SYS.AQ$_JMS_BYTES_MESSAGE

SYS.AQ$_JMS_MAP_MESSAGE

SYS.AQ$_JMS_MESSAGE

SYS.AQ$_JMS_STREAM_MESSAGE

SYS.AQ$_JMS_TEXT_MESSAGE

SYS.LCR$_ROW_RECORD

TIMESTAMP

TIMESTAMP

TIMESTAMP WITH LOCAL TIME ZONE

TIMESTAMP WITH LOCAL TIME ZONE

TIMESTAMP WITH TIME ZONE

TIMESTAMP WITH TIME ZONE

UROWID

UROWID

VARCHAR

VARCHAR2

VARCHAR2

VARCHAR2

XMLFORMAT

XMLFORMAT

XMLTYPE

XMLTYPE

B.1.2.3 Data Type Mapping for OWB DB2UDB Platform to ODI IBM DB2 UDB Technology

OWB Data Type (DB2UDB)

ODI Data Type (IBM DB2 UDB)

BIGINT

BIGINT

BLOB

BLOB

CHARACTER

CHAR

CLOB

CLOB

DATE

DATE

DBCLOB

DBCLOB

DECIMAL

DECIMAL

DOUBLE

DOUBLE

FLOAT

FLOAT

GRAPHIC

GRAPHIC

INTEGER

INTEGER

LONG VARCHAR

LONG VARCHAR

LONG VARGRAPHIC

LONG VARGRAPHIC

NUMERIC

NUMERIC

REAL

REAL

SMALLINT

SMALLINT

TIME

TIME

TIMESTAMP

TIMESTAMP

VARCHAR

VARCHAR

VARGRAPHIC

VARGRAPHIC

XML

B.1.2.4 Data Type Mapping for OWB SQLSERVER Platform to ODI Microsoft SQL Server Technology

OWB Data Type (SQLSERVER)

ODI Data Type (Microsoft SQL Server)

BIGINT

BIGINT

BINARY

BINARY

BIT

BIT

CHAR

CHAR

DATETIME

DATETIME

DECIMAL

DECIMAL

FLOAT

FLOAT

IMAGE

IMAGE

INT

INT

MONEY

MONEY

NCHAR

NCHAR

NTEXT

NTEXT

NUMERIC

NUMERIC

NVARCHAR

NVARCHAR

NVARCHAR(MAX)

NTEXT

REAL

REAL

SMALLDATETIME

SMALLDATETIME

SMALLINT

SMALLINT

SMALLMONEY

SMALLMONEY

SQL_VARIANT

SQL_VARIANT

TEXT

TEXT

TIMESTAMP

TIMESTAMP

TINYINT

TINYINT

UNIQUEIDENTIFIER

UNIQUEIDENTIFIER

VARBINARY

VARBINARY

VARBINARY(MAX)

IMAGE

VARCHAR

VARCHAR

VARCHAR(MAX)

TEXT

XML

B.1.2.5 Data Type Mapping for OWB FILE Platform to ODI File Technology

OWB Data Type (FILE)

ODI Data Type (File)

BYTEINT

BINARY_SIGNED_BIG_ENDIAN

CHAR

STRING

DECIMAL

EBCDIC_SIGNED_ZONED_DECIMAL

DATE

DATE

DECIMAL EXTERNAL

NUMERIC

DOUBLE

NUMERIC

FLOAT

NUMERIC

FLOAT EXTERNAL

NUMERIC

INTEGER

BINARY_SIGNED_BIG_ENDIAN

INTEGER UNSIGNED

BINARY_UNSIGNED_BIG_ENDIAN

INTEGER EXTERNAL

NUMERIC

INTERVAL DAY TO SECOND

DATE

INTERVAL YEAR TO MONTH

DATE

SMALLINT

BINARY_SIGNED_BIG_ENDIAN

SMALLINT UNSIGNED

BINARY_UNSIGNED_BIG_ENDIAN

TIMESTAMP

DATE

TIMESTAMP WITH TIME ZONE

DATE

TIMESTAMP WITH LOCAL TIME ZONE

DATE

VARRAWC

BINARY_SIGNED_BIG_ENDIAN

VARCHAR

STRING

VARCHARC

STRING

ZONED EXTERNAL

ASCII_SIGNED_ZONED_DECIMAL

ZONED

ASCII_SIGNED_ZONED_DECIMAL

B.1.2.6 Data Type Mapping for OWB SAP Platform to ODI SAP ABAP Technology

OWB Data Type (SAP)

ODI Data Type (SAP ABAP)

ACCP

ACCP

CHAR

CHAR

CLNT

CLNT

CUKY

CUKY

CURR

CURR

DATS

DATS

DEC

DEC

FLTP

FLTP

INT1

INT1

INT2

INT2

INT4

INT4

LANG

LANG

LCHR

LCHR

LRAW

LRAW

NUMC

NUMC

PREC

PREC

QUAN

QUAN

RAW

RAW

TIMS

TIMS

UNIT

UNIT

B.1.3 OWB Location to ODI Data Server

Each OWB Location is associated with an OWB Platform or equivalent ODI technology. Hence OWB location will be migrated to an ODI Data Server under the equivalent ODI technology.

B.1.3.1 Location Name to Data Server Name

Location Name will be migrated to ODI Data Server Name. Since OWB Location Name is unique within an OWB Workspace, while ODI Data Server Name is unique within the master repository, when there are several OWB workspaces for a Workspace Owner, each OWB Workspace should be migrated to a different ODI Master repository to avoid name conflicts.

B.1.3.2 Location Properties to Data Server Properties

The following table shows mapping of properties of OWB Location to properties of ODI Data Server:

OWB Property Name

ODI Property Name

Note

-

dataServerId

(I_CONNECT)

This number will be generated.

platform

technology

(I_TECHNO)

-

Name

name

(CON_NAME)

-

Driver Class

jdbcDriverName

(JAVA_DRIVER)

-

Url

jdbcUrl

(JAVA_URL)

-

User Name

(CONNECT_AS_USER)

username

(USER_NAME)

-

Batch Update Size

(UPDATE_SIZE)

batchUpdateSize

(BATCH_UPDATE_SIZE)

-

Array Fetch Size

(FETCH_SIZE)

fetchArraySize

(FETCH_ARRAY_SERV)

-

Schema

schemaName

(SCHEMA_NAME)

-

Work Schema

workSchemaName

(WSCHEMA_NAME)

-

Catalog

catalogName

(CATALOG_NAME)

-

Work Catalog

workCatalogName

(WCATALOG_NAME)

-

B.1.3.3 Specific Location

For OWB Location using Database Link as the Connection Type, the location will be migrated to a new ODI Data Server, with the location name as the data server name. Other information for the location will not be migrated.

For File Location using FTP as the Connection Type, the location will be migrated to a new ODI Data Server with the location name as the data server name. Other information for the location will not be migrated.

B.1.4 OWB Modules to ODI Models

OWB Modules will be migrated to ODI Models.

B.1.4.1 Module Name to Model Name

To create a unique model name, the ODI Model name will be a concatenation of OWB Module Name and OWB Project name. If the resulting name is longer than the allowed length in ODI Model name, the resulting name will be trimmed.

B.1.4.2 Module Properties to Model Properties

OWB Property Name

ODI Property Name

Note

-

modelId

(I_MOD)

This number will be generated by the migration utility.

Name

name

(MOD_NAME)

If the length of the name exceeds the maximum limit, then the name will be truncated.

Platform

technology

(TECH_INT_NAME)

-

-

logicalSchema

(LSCHEMA_NAME)

Will be created according to the OWB module name.

Name

code

(COD_MOD)

If the length of the code exceeds the maximum limit allowed in ODI model code, then the code will be truncated.

Project

parentModelFolder

(I_MOD_FOLDER)

-

description

description

(I_TXT_MOD)

-

B.1.4.3 Additional Migration of OWB Modules to ODI Folders

Some OWB Modules will also be migrated to ODI as ODI Folders, in addition to ODI Models. The following OWB modules will also be migrated as ODI Folders:

- Oracle Database Module

- Template Mapping Module

OWB Oracle Database Module will be migrated as ODI Model where the OWB Data Objects are migrated to, and also as ODI Folder where OWB mappings are migrated to.

OWB Template Mapping Module and Pluggable Mapping Folder will be migrated as ODI Folder.

OWB Property Name

ODI Property Name

Note

Name

Name

(FOLDER_NAME)

B.1.4.4 Physical Schema and Logical Schema

OWB supported a list of Data Locations for use with a module but only one location is selected to use at a time. This location is called the active location. During migration, only the active location will be migrated to ODI. The location is migrated as ODI Data Server. Corresponding to the location user name, a new ODI Physical Schema will be created in ODI if one does not exist already. The new ODI Physical Schema will be from the Location Schema of OWB Database Location, or the directory path for File Location.

Corresponding to the physical schema, a logical schema will be created in ODI if none with the same name as the Model name exists. The logical schema will set to "LS_" plus model name, and will be associated with the physical schema in the global context.

B.1.5 OWB Projects to ODI Projects

OWB Project will be migrated as ODI Project.

OWB Property Name

ODI Property Name

Note

-

projectId

(I_PROJECT)

This number will be generated.

Name

Name

(PROJECT_NAME)

-

Name

code

(PROJECT_CODE)

-

B.1.6 OWB Folders to ODI Folders

Two types of OWB Folders will be migrated to ODI:

- OWB Pluggable Mapping Folders
OWB Pluggable Mapping Folders are migrated to ODI Folders; the name of the OWB Pluggable Mapping Folder will be the name of the ODI Folder.

- OWB Pluggable Mapping Standalone Folders
Pluggable mappings in this OWB folder will be migrated to an ODI Folder named STAND_ALONE.

B.2 OWB Data Objects

You can find out more information on the various data objects that are available.

B.2.1 OWB Table to ODI Datastore

OWB Table is migrated to ODI Datastore. The following related attributes of tables are migrated:

- Columns

- Keys

- Indexes

Attribute Sets and Data Rules are not migrated.

For Partitions, the partition name and the description are migrated, other properties are not migrated.

Attributes or properties of OWB Table are migrated to ODI Datastore.

Attributes or properties of OWB Table Columns are migrated to ODI Datastore Columns as described in Table B-1.

OWB Table supports these types of keys: Primary Key, Unique Key, Foreign Key, and Constraint.

- The attributes/properties of OWB Table Primary Keys and Unique Keys are migrated to ODI Keys as described in Table B-4.

- The attributes/properties of OWB Table Constraints are migrated to ODI Condition as described in Table B-5.

- The attributes/properties of OWB Table Foreign Keys are migrated to ODI Reference as described in Table B-6.

The attributes/properties of Indexes are migrated to ODI Datastore Key as described in Table B-7, which lists the mappings between the OWB Index and ODI Key.

OWB supports four types of indexes: unique, non-unique, bitmap, and function-based. A unique index will be mapped to OdiKey, and the key type will be set to ALTERNATE_KEY. A non-unique index will be mapped to OdiKey, and the key type will be set to INDEX. Bitmap and function-based keys are not migrated.

B.2.2 OWB View to ODI Datastore

OWB View is migrated to ODI Datastore. The following related attributes of OWB View are migrated:

- Columns

- Keys

Attribute Sets and Data Rules are not migrated.

Attributes or properties of OWB View are migrated to ODI Datastore.

Attributes or properties of OWB View Columns are migrated to ODI Datastore Columns as described in Table B-1.

OWB Table supports these types of keys: Primary Key, Unique Key, Foreign Key, and Constraint.

- The attributes/properties of OWB View Primary/Unique Keys are migrated to ODI Keys as described in Table B-4.

- The attributes/properties of OWB View Constraints are migrated to ODI Condition as described in Table B-5.

- The attributes/properties of OWB View Foreign Keys are migrated to ODI Reference as described in Table B-6.

B.2.3 OWB Materialized View to ODI Datastore

OWB Materialized View is migrated to ODI Datastore. The following related attributes of Materialized views are migrated:

- Columns

- Keys

- Indexes

Attribute Sets and Data Rules are not migrated.

For Partitions, the partition name and the description are migrated, other properties are not migrated.

Attributes or properties of OWB Materialized View are migrated to ODI Datastore.

Attributes or properties of OWB Materialized View Columns are migrated to ODI Datastore Columns as described in Table B-1.

OWB Materialized View supports these types of keys: Primary Key, Unique Key, Foreign Key, and Constraint.

The attributes/properties of OWB Materialized View Primary Keys and Unique Keys are migrated to ODI Keys as described in Table B-4.

The attributes/properties of OWB Materialized View Constraints are migrated to ODI Condition as described in Table B-5.

The attributes/properties of OWB Materialized View Foreign Keys are migrated to ODI Reference as described in Table B-6.

The attributes/properties of Indexes are migrated to ODI Datastore Key as described in Table B-7, which lists the mappings between the OWB Index and ODI Key.

B.2.4 OWB External Table to ODI Datastore

OWB External Table is migrated to ODI Datastore. The following related attributes of External Table are migrated:

- Columns

Data Rules are not migrated. Associated locations will be migrated as ODI Data Server if the migration configuration option MIGRATE_DEPENDENCIES is set to true.

Attributes or properties of OWB External Table are migrated to ODI Datastore.

Attributes or properties of OWB External Table Columns are migrated to ODI Datastore Columns as described in Table B-1.

OWB External Table has association to OWB FLAT FILE and its access parameters. These associations will not be migrated to ODI.

B.2.5 OWB Flat File to ODI Datastore

OWB Flat File is migrated to ODI Datastore. The following related attributes of OWB Files are migrated:

- Records

- Fields

Attributes or properties of OWB Flat File are migrated to ODI Datastore.

OWB Flat File may contain one or more Records. Each Record will be migrated as one ODI Datastore. The naming convention for the ODI Datastore name is <FlatFileName>_<RecordName>.

Attributes or properties of OWB File Record are migrated to ODI Datastore Columns as described in Table B-3.

Attributes or properties of OWB File Record Field are migrated to ODI Datastore Columns as described in section Table B-2.

B.2.6 OWB Sequence to ODI Sequence

OWB Sequence is migrated to ODI Sequence (Native sequence). OWB Sequence contains Columns, which are not migrated to ODI.

Attributes or properties of OWB Sequence are migrated to ODI Sequence as described in Table B-9.

B.2.7 OWB Dimensions Under Database Module to ODI Dimension Model

OWB dimensions are placed under the Oracle database module. ODI dimension objects would be placed under a specific dimensional model. If dimensions or cubes exist in OWB Oracle database module, then that Oracle database module is migrated to an ODI dimension model. To reduce the name conflicts, the naming convention of the migrated ODI dimension model is in the form of <Oracle database module name>_<OWB project name>.

For example, In a project named BI_DEMO, if there is an Oracle module named SALES_WH then SALES_WH_BI_DEMO will be used for the ODI dimension model name after migration. If the length of the name exceeds the maximum length allowed (the maximum length is 35), then the proposed name will be truncated. If the name needs be to unique and it has already been occupied, a unique name suffixed by a digit is generated based on the proposed name. This naming rule is used for all migration objects when the object name needs to be unique and has a maximum length limitation.

Dimension :

OWB dimension will be migrated to ODI dimension.

Cube:

OWB Cube will be migrated to ODI Cube.

B.2.8 Property Migration Mapping Tables

Table B-1 OWB Table Column to ODI Datastore Column

OWB Property Name

ODI Property Name

Note

Name

Name

(COL_NAME)

-

-

COL_DESC

Short description.

TypeDefinition

dataTypeCode

(SOURCE_DT)

-

Position

position

(POS)

-

Length

length

(LONGC)

-

Precision

Length

(LONGC)

-

Scale

scale

(SCALEC)

-

Nullable

mandatory

(COL_MANDATORY)

-

dafaultValue

defaultValue

(DEF_VALUE)

If the length of the default value exceeds the maximum length allowed in ODI, then the default value will not be migrated.

-

scdType

(SCD_COL_TYPE)

-

description

description

(I_TXT_COL_DESC)

If the length of the description exceeds the maximum length allowed in ODI, then the description will be truncated.

fractionalsecondsprecision

length

(LONGC)

-

Table B-2 OWB File Record Field to ODI Datastore Column

OWB Property Name

ODI Property Name

Note

Name

Name

(COL_NAME)

-

TypeDefinition

dataTypeCode

(SOURCE_DT)

-

Position

position

(POS)

-

Sqlprecision

-

-

Sqlscale

-

-

Precision

bytes

(BYTES)

-

Scale

scale

(SCALEC)

-

StartPostion

startPosition

(FILE_POS)

Only for file/record.

FieldLength

bytes

(BYTES)

Only for file/record.

Nullable

mandatory

(COL_MANDATORY)

-

dafaultValue

defaultValue

(DEF_VALUE)

-

description

description

(I_TXT_COL_DESC)

If the length of the description exceeds the maximum length allowed in ODI, then the description will be truncated.

sqllength

-

-

mask

format

(SNP_COL.COL_FORMAT)

-

Table B-3 OWB File Record to ODI Datastore Column

OWB Property Name

ODI Property Name

Note

Name

name

(TABLE_NAME)

-

Name

defaultAlias

(TABLE_ALIAS)

-

classname

dataStoreType

(TABLE_TYPE)

-

Description

Description

(TABLE_DESC)

If the length of the description exceeds the maximum length allowed in ODI, then the description will be truncated.

Prefix

-

-

Position

-

-

RecordClassifierValue

-

-

RecordSize

-

-

Table B-4 OWB Key to ODI Key

OWB Property Name

ODI Property Name

Note

Name

Name

(KEY_NAME)

-

Primarykey

keyType

(CONS_TYPE)

keyType:

PRIMARY_KEY(PK)

ALTERNATE_KEY(AK)

Appslabel

-

-

Table B-5 OWB Check Constraint to ODI Condition

OWB Property Name

ODI Property Name

Note

Name

Name

(KEY_NAME)

-

Primarykey

keyType

(CONS_TYPE)

keyType:

PRIMARY_KEY(PK)

ALTERNATE_KEY(AK)

Appslabel

-

-

Table B-6 OWB ForeignKey to ODI Reference

OWB Property Name

ODI Property Name

Note

-

referenceId

(I_JOIN)

This number will be generated.

Name

name

(FK_NAME)

-

Should map to DB_REFERENCE

referenceType

(FK_TYPE)

referenceType:

DB_REFERENCE,

ODI_REFERENCE,

COMPLEX_REFERENCE

-

primaryDataStore

(I_TABLE_PK)

Find the table by Unique key.

module

primaryModel

(PK_I_MOD)

-

-

primaryDataStoreSchemaName

(PK_SCHEMA)

Find the schema based on the model of the primary table.

-

primaryDataStoreName

(PK_TABLE_NAME)

Find primary table name by unique key.

-

primaryDataStoreAlias

(PK_TABLE_ALIAS)

Find the alias by primary data store.

Appslabel

-

-

Mandatory

-

-

OnetoOne

-

-

Table B-7 OWB Index to ODI Key

OWB Property Name

ODI Property Name

Note

Name

Name

(KEY_NAME)

Indextype

keyType

(CONS_TYPE)

keyType:

ALTERNATE_KEY(AK)

INDEX(I)

Appslabel

-

-

Expression

-

-

LocalIndex

-

-

LocalPartitionType

-

-

Table B-8 OWB Partition to ODI Partition

OWB Property Name

ODI Property Name

Note

Name

name

(PARTITION_NAME)

-

Description

Description

(PARTITION_DESC)

If the length of the description exceeds the maximum length allowed in ODI, then the description will be truncated.

classname

-

-

Attribute

-

-

Autosubpartitionordering

-

-

Hashsubpartitioncount

-

-

IsDefault

-

-

IsSubPartition

-

-

PartitionOrder

-

-

Table B-9 OWB Sequence to ODI Sequence

OWB Property Name

ODI Property Name

Note

-

sequenceId

(SEQ_ID)

This number will be generated.

Project

project

(I_PROJECT)

-

Name

SEQ_NAME

-

Increment By

incrementValue

(INCR)

Retrieve from active configuration.

-

seqType

(SEQ_TYPE)

OWB sequence is migrated as project sequence.

-

type

(IND_STD)

OWB sequence is migrated as native sequence.

-

logicalSchemaName

(LSCHEMA_NAME)

Via OWB module, the ODI Model's logical schema is used here.

Name

nativeSequenceName

(DB_SEQ_NAME)

-

Prefix

-

-

ExternalElementName

-

-

Proxy

-

-

SynonymFor

-

-

ValidationResult

-

-

B.2.9 OWB Dimensions to ODI Dimensions

OWB dimension will be migrated to ODI dimension.

1. Dimension

Table B-10 General Properties

OWB Property Name

ODI Property Name

Note

Name

Name

Description

Description

Dimension Role

Not Migrated

Table B-11 Storage Properties

OWB Property Name

ODI Property Name

Note

OWB ROLAP Dimension

Implementation Type

Implementation Type. It has two types of implementation — Star (for one binding table) Snowflake (for more than one binding tables)

ODI dimension has no implementation type called Manual. If the OWB dimension is set to Manual implementation, according to the amount of the binding tables on OWB dimension, the implementation type is migrated to Star or Snowflake for ODI dimension. If there is only one binding table for OWB dimension, the implementation type is set to Star for ODI dimension, otherwise the implementation type is set to Snowflake.

Create composite Unique Key

Not Migrated

OWB MLOAP Dimensions

It has no binding tables. User needs to manually set the binding information after migration, if necessary.

AW Name

Not Migrated

AW table space name

Not Migrated

Generate surrogate keys in the analytic workspace

Not Migrated

Use natural keys from data source

Not Migrated

Physical Properties
All physical properties on OWB Dimension are not migrated.

SCD Properties
SCD properties are set directly on ODI dimension level attributes.

Table B-12 Orphan Properties

OWB Property Name

ODI Property Name

Note

Orphan management for loading – Null parent key values

Load Null Parent

Orphan management for loading – Invalid parent values

Load Invalid Parent

Orphan management for loading – Default Level Row

The default values for OWB level attributes in default parent record are migrated as default values for ODI level attributes.

Orphan management for removal

Not Migrated

Deploy Error Table

Not Migrated

2. Level Properties

OWB dimension level will be migrated to ODI dimension level.

Table B-13 Level

OWB Property Name

ODI Property Name

Note

Name

Name

Description

Description

Level Type (time dimension only)

Description

Level Type is migrated as a part of the description.

Used (time dimension only)

Not Migrated

If the OWB dimension is of snowflake implementation, the OWB dimension table for each level is migrated to ODI dimension table and bind to each dimension level. OWB does not have metadata for stage table and error table for dimension level. Migration utility will create the metadata of the stage table and error table for ODI dimension level. For more details, see Stage Table and Error Table.

3. Dimension Attribute and Level Attribute

As ODI has only level attributes and does not have dimension attributes, ODI level attribute combines all the properties from OWB dimension attribute and OWB level attribute.

Table B-14 General Properties

OWB Property Name

ODI Property Name

Note

Level Attribute Name

Name

Description

Description

Surrogate Key

Surrogate Key

Business Key

Natural Key Member

Each business key in OWB dimension is corresponding to an ODI dimension natural key member. Each ODI dimension natural key member is associated with a dimension level attribute.

Data Type

Data Type

ODI level attribute uses Generic data type. Migration utility will convert the data type from Oracle technology to Generic technology.

Length

Size

Scale

Scale

Precision

Size

Seconds Precision

Size

Default Value

Default Value

Table B-15 SCD2 Properties

OWB Property Name

ODI Property Name

Note

Trigger history

Trigger history

Effective Date

Start Date

Expiration Date

End Date

Table B-16 SCD3 Properties

OWB Property Name

ODI Property Name

Note

Previous Attribute

Type 3 Previous Attribute

Effective Date

Type 3 Start Date

4. Hierarchy

Table B-17 Hierarchy Properties

OWB Property Name

ODI Property Name

Note

Name

Name

Description

Description

Default

Default

Hierarchy Type (time dimension only)

Description

Hierarchy Type is migrated as part of the description of ODI hierarchy.

5. Binding Objects

All binding tables/views/sequences are selected to be migrated when the migration option MIGRATE_DEPENDENCY is set to TRUE. OWB surrogate key sequence is migrated as ODI surrogate key sequence. If the OWB dimension is of star implementation type, the OWB dimension table is migrated to ODI dimension table. OWB does not have metadata for dimension error table. Migration utility will create the metadata of the error table for ODI dimension when orphan management is enabled. For more details, see Error Table.

6. Stage Table

In OWB, there is no metadata for stage tables (the temp table operator in the extended map of the dimension is unbound). ODI does not allow unbound datastore component. The ODI dimension level needs to be explicitly associated with a stage table. In this case, migration utility creates the metadata of a stage table for each dimension level in ODI based on the structure of the dimension level.

7. Error Table

Error tables behave in the same way as the stage tables. ODI dimension needs to be explicitly bound to an error table if the orphan management feature is enabled. Migration utility will create the metadata of the error tables for dimension when orphan management is enabled. For star implementation dimension, a dimension is associated to an error table. For snowflake implementation dimension, a level is associated to an error table. The structure of the error table is similar to the dimension bound table. The error table should include all the columns from the dimension bound table. More audit columns are added in error table. The audit columns are:

Table B-18 Audit Columns of Error Table

Property Name

Property Type

ODI_ERR_TYPE

VARCHAR 2 (1 CHAR) NULL

ODI_ERR_MESS

VARCHAR 2 (250 CHAR) NULL

ODI_ORIGIN

VARCHAR 2 (4000 CHAR) NULL

ODI_SESS_NO

VARCHAR 2 (36 CHAR) NULL

8. Exclusive Check

Before the real migration is performed, exclusive check should be done to check whether the dimension can be migrated or not. The exclusive check includes:

1. Checking the binding objects (tables/views/sequences) to make sure all the bindings are in the migration selection list and can be migrated. If the bindings are not in the migration selection list, the dimension will be exclusive and so turn on MIGRATE_DEPENDENCY option or bindings should be explicitly specified in MIGRATION_OBJECTS present in the configuration file.

2. If OWB dimension level attributes don't refer to any dimension attribute, then the dimension will be exclusive.

B.2.10 OWB Cubes to ODI Cubes

OWB Cube will be migrated to ODI Cube.

1. Cube Properties

Table B-19 General Properties

OWB Property Name

ODI Property Name

Note

Name

Name

Description

Description

Table B-20 Storage Type Properties

OWB Property Name

ODI Property Name

Note

For ROLAP Cube,

1. Create bitmap indexes

2. Create composite Unique Key

Not Migrated

For MOLAP Cube, the cube is migrated as unbound cube

1. AW Name

2. AW Table Space Name

Not Migrated

Table B-21 Dimensions Properties

OWB Property Name

ODI Property Name

Note

Level

Level

Role

Role

Table B-22 Measures

OWB Property Name

ODI Property Name

Note

Name

Name

Description

Description

Data Type

Data Type

OWB measure uses oracle data type, but ODI measure uses Generic technology data type. Data type conversion from oracle data type to Generic data type is handled in migration.

Length or Precision Or Seconds Precision

Size

Scale

Scale

OWB cube measure will be migrated to ODI cube measure. Each ODI measure will be bound to a column of the ODI cube bound datastore, according to the binding information from OWB measure.

Aggregation
OWB cube aggregation related properties will not be migrated.

Table B-23 Orphan

OWB Property Name

ODI Property Name

Note

Orphan management for loading — Null dimension key values

Load Null Dimension Key

Orphan management for loading — Invalid dimension key values

Load Invalid Dimension Key

Deploy Error Table(s)

Not Migrated.

ODI does not support this feature.

Physical Properties

All physical properties on cube are not migrated.

2. Binding Objects

All binding tables/views of cube are selected to be migrated when migration option MIGRATE_DEPENDENCY is set to true. If the option MIGRATE_DEPENDENCY is set to false, user should explicitly select the binding table or view together with cube to be migrated. Otherwise cube migration may fail because its bound object is not migrated. The error table is created based on the binding table. If any binding table is not specified to migrate, the corresponding error table will not be migrated.

3. Error Table

In OWB, cube is not explicitly bound to an error table. But in ODI, if the orphan management feature is enabled, then cube should be explicitly bound to an error datastore. Since OWB does not have metadata for cube error table, migration utility will create the error datastore for ODI cube according to the OWB cube bound table when orphan management is enabled. The error datastore should include all the columns from the cube bound table. More audit columns are added in error datastore. The audit columns are:

Table B-24 Audit Columns of Cube

Property Name

Property Type

ODI_ERR_TYPE

VARCHAR 2 (1 CHAR) NULL

ODI_ERR_MESS

VARCHAR 2 (250 CHAR) NULL

ODI_ORIGIN

VARCHAR 2 (4000 CHAR) NULL

ODI_SESS_NO

VARCHAR 2 (36 CHAR) NULL

When cube references a dimension with a surrogate key enabled, a natural key column for each dimension reference is assumed to be in the cube error table to load the invalid natural key values from source. Migration utility will create these natural key columns using the naming conversion <dimension_key_bound_column>_NAT and data type set to VARCHAR2 (4000).

4. Exclusive Check

Before the real migration is performed, migration utility will check whether the cube can be migrated or not. It will check the binding objects (tables/views/) of the cube to make sure all the bindings are in the migration selection list and can be migrated. If the bindings are not in the migration selection list, the cube will be exclusive you must turn on MIGRATE_DEPENDENCY option or bindings should be explicitly specified in MIGRATION_OBJECTS.

B.3 OWB Mappings

You can find out more information on the various mappings that are available.

OWB Mapping is migrated to ODI Mapping. OWB Mappings are contained in Oracle module or Template Mapping Module while ODI Mappings are contained in Project Folder. OWB Project is migrated to ODI project, OWB Oracle Module or Template Mapping Module is migrated to ODI Project Folder.

B.3.1 OWB Mapping Properties

B.3.1.1 OWB Mapping Logical Properties

OWB Property Name

Description

ODI Property Name

Note

Physical Name

(NAME)

Name

Business Name

(LOGICAL_NAME)

Execution Type

(EXECUTION_TYPE)

BATCH, TRICKLE

TRICKLE mappings are not supported for migration.

Target Load Order

(TARGET_LOAD_ORDER)

TARGET_LOAD_ORDER

Created By

Creation Time

Description

Description

If the length of the description exceeds the maximum length allowed in ODI, then the description will be truncated.

Icon Object

Last Update Time

Update By

B.3.1.2 OWB Mapping Physical Properties

Physical Properties of OWB Mappings are not migrated to ODI.

OWB Property Name

Description

ODI Property Name

Note

Deployable

(DEPLOYABLE)

Not migrated.

Generation Comments

(GENERATION_COMMENTS)

Not migrated.

Language

(GENERATION_LANGUAGE)

Choices = 'PLSQL, SQLLOADER, ABAP, UNDEFINED'

Not migrated.

Referred Calendar

(REFERRED_CALENDAR)

Not migrated.

Schedules are not supported for migration.

B.3.1.3 PLSQL Physical Properties

B.3.1.3.1 Chunking Options

Properties for Chunking options are not migrated. Those properties are:

- Chunk Method

- Chunk table (NUMCOL_CHUNK_TABLE)

- Chunk column (NUMCOL_CHUNK_COLUMN)

- Chunk size (NUMCOL_CHUNK_SIZE)

- Chunk table (ROWID_CHUNK_TABLE)

- Chunk type (ROWID_CHUNK_TYPE)

- Chunk size (ROWID_CHUNK_SIZE)

- Chunk table (SQL_CHUNK_TABLE)

- SQL statement (SQL_CHUNK_STATEMENT)

- SQL statement chunk type (SQL_CHUNK_TYPE)

B.3.1.3.2 Runtime Parameters

Properties for Runtime parameters are not migrated. Those properties are:

- Analyze table sample percentage

- Bulk size

- Chunk execute resume task

- Chunk force resume

- Chunk number of times to retry

- Chunk parallel level

- Commit frequency

- Default audit level

- Default Operating Mode

- Default purge group

- Maximum number of errors

B.3.1.3.3 Code Generation Options

Property Name

Description

ODI Property Name

Note

Analyze table statements

Generate statistics collection statement if this is true.

Not migrated.

ANSI SQL Syntax

(ANSI_SQL_SYNTAX)

A switch between ANSI and Oracle SQL syntax.

ODI has no such property defined on mapping, but ODI Join Component has similar property.

AUTHID Option

(AUTHID)

Generate the map with selected AUTHID option.

Package will be executed with the permissions defined by the AUTHID clause rather than the package owner's permissions.

Not migrated.

Bulk Processing code

Generate bulk processing code if this is true.

Not migrated.

Commit Control

(COMMIT_CONTROL)

Choices = 'AUTO_COMMIT, AUTO_CORR_COMMIT, MANUAL_COMMIT'

Not migrated.

Enable Parallel DML

Determine if Parallel DML is enabled at runtime.

Not migrated.

Error trigger

(ERROR_TRIGGER)

Error trigger procedure name

Not migrated.

Generation Mode

Choices = 'SET_BASED, ROW_BASED, ROW_BASED_TARGET_ONLY, SET_BASED_FAIL_OVER_TO_ROW_BASED, SET_BASED_FAIL_OVER_TO_ROW_BASED_TARGET_ONLY, ALL_MODES'

Not migrated.

Optimized Code

Attempt to generate optimized code if this is true.

Not migrated.

PL/SQL Compilation Mode

Specifies the compilation mode for PL/SQL library unit.

Choices = 'DEFAULT, INTERPRETED, NATIVE'

Not migrated.

Use Target Load Ordering

(TARGET_LOAD_ORDERING)

Not migrated.

B.3.1.4 SQL*LOADER Physical Properties

B.3.1.4.1 SQL Loader Settings

Properties for SQL Loader Settings are not migrated. Those properties are:

- Bind Size

- Byte Order Mark

- Column Array Rows

- Continue Load

- Control File Location

- Control File Name

- Database File Name

- Delimited File Record Termination

- Direct Mode

- Endian (Byte Order)

- Errors Allowed

- Load Last Field As Pieced

- Log File Location

- Log File Name

- Multithreading

- Nls Characterset

- Operation Recoverable

- Perform Parallel Load

- Preserver Blanks

- Read Buffers

- Read Size

- Records to Load

- Records to Skip

- Resumable

- Resumable Name

- Resumeable Timeout

- Rows per Commit

- Skip Index Maintenance

- Skip Unusable Indexes

- Stream size

- Suppress discards

- Suppress Errors

- Suppress Feedback

- Suppress Header

- Suppress partitions

B.3.1.4.2 Runtime Parameters

Properties for Runtime parameters are not migrated. Those properties are:

- Audit

- Default purge group

B.3.1.4.3 SQL Loader Data Files

Properties for SQL Loader Data Files are not migrated. Those properties are:

- Data File Name

- Data File Location

- Discard File Name

- Discard File Location

- Discard Max

- Bad File Name

- Bad File Location

B.3.1.5 ABAP Mapping Physical Properties

B.3.1.5.1 Runtime Parameters

Properties for runtime parameters are not migrated, these properties are:

- ABAP Report Name

- Background Job

- Control File Name

- Data File Name

- File Delimiter for Staging File

- Include FTP

- Install only

- Log File Name

- SAP Location

- SAP System Version

- Sql Join Collapsing

- Staging File Directory

- Timeout

B.3.1.5.2 SQL Loader Settings

Properties for SQL Loader Setting are not migrated, those properties are:

- NLS Characterset

B.3.1.6 SQLPLUS Mapping Physical Properties

B.3.1.6.1 SQL*Plus Settings

The properties for SQL*Plus Settings are not migrated. Those properties are:

- ARRAYSIZE

- COPYCOMMIT

- Log File Directory

- Log File Name

- LONG

- SQL File Directory

- SQL File Name

B.3.1.6.2 Runtime Parameters

The properties for Runtime Parameters are not migrated. Those properties are:

- Audit

- Default purge group

B.3.1.7 Code Template Mappings Physical Properties

B.3.1.7.1 Chunking Options

Properties for Chunking options are not migrated. (The same as PLSQL mappings.)

B.3.1.7.2 Code Generation Options

OWB Property Name

Description

ODI Property Name

Note

Analyze table statements

Generate statistics collection statement if this is true.

Not migrated.

ANSI SQL Syntax

(ANSI_SQL_SYNTAX)

A switch between ANSI and Oracle SQL syntax.

ODI has no such property defined on the mapping, but ODI Join Component has a similar property, see migration on Join Operator.

AUTHID Option

(AUTHID)

Generate the map with selected AUTHID option.

Package will be executed with the permissions defined by the AUTHID clause rather than the package owner's permissions.

Not migrated.

Bulk Processing code

Generate bulk processing code if this is true.

Not migrated.

Commit Control

(COMMIT_CONTROL)

Choices='AUTO_COMMIT, AUTO_CORR_COMMIT, MANUAL_COMMIT'

Not migrated.

Enable Parallel DML

Determine if PDML is enabled at runtime.

Not migrated.

Error trigger

(ERROR_TRIGGER)

Error trigger procedure name.

Not migrated.

Generation Mode

Choices='SET_BASED, ROW_BASED, ROW_BASED_TARGET_ONLY, SET_BASED_FAIL_OVER_TO_ROW_BASED, SET_BASED_FAIL_OVER_TO_ROW_BASED_TARGET_ONLY, ALL_MODES'

Not migrated.

Optimized Code

Attempt to generate optimized code if this is true.

Not migrated.

Use Enclosure Char

Not migrated.

Use Target Load Ordering

(TARGET_LOAD_ORDERING)

Not migrated.

B.3.1.7.3 Runtime Parameters

Properties for runtime parameters are not migrated. Those properties are:

- Analyze table sample percentage

- Bulk size

- Commit frequency

- Default audit level

- Default Operating Mode

- Default purge group

- Maximum number of errors

B.3.1.7.4 SCD Updates

Properties for SCD Updates are not migrated. Those properties are:

- Strategy

B.3.2 Multiple Target Mapping Migration

For mappings with multiple targets, target load order and Multiple Target Insert (MTI) are considered for migration.

B.3.2.1 Target Load Order

The OWB Target Load Order property is migrated to the ODI Target Load Order property.

The OWB Use Target Load Ordering property is not migrated, because this property does not exist in ODI.

B.3.2.2 Multiple Target Insert (MTI)

When an OWB mapping has multiple targets to insert, the data is coming from the same sources, and the Optimized code option is set to true, during code generation, a single insert statement for all targets may be generated instead of a multi-table insert SQL statement.

Because this property is a physical property and MTI occurs at code generation, MTI is not supported for migration.

B.3.3 Mapping Operator

OWB Property Name

ODI Property Name

Note

Business Name

(LOGICAL_NAME)

Business Name

(BUSINESS_NAME)

Create By

Not migrated.

Create Time

Not migrated.

Description

(Description)

Description

(DESCRIPTION)

If the length of the description exceeds the maximum length allowed in ODI, then the description will be truncated.

Icon Object

Not migrated.

Last Update Time

Not migrated.

Physical Name

(NAME)

Name

(NAME)

Update By

Not migrated.

The above properties are common properties for the Mapping operator.

B.3.4 Mapping Attribute

B.3.4.1 General Properties

OWB Property Name

ODI Property Name

Note

Physical Name

(NAME)

Name

Business Name

(LOGICAL_NAME)

Not migrated.

Created By

Not migrated.

Creation Time

Not migrated.

Description

Description

If the length of the description exceeds the maximum length allowed in ODI, then the description will be truncated.

Icon Object

Not migrated.

Last Update Time

Not migrated.

Update By

Not migrated.

B.3.4.2 Data Type Information

OWB Property Name

ODI Property Name

Note

Data Type

(DATA_TYPE)

Data type

Convert the OWB data type to ODI data type according the data type mappings.

Fractional Seconds precision

(FRACTIONAL_SECONDS_PRECISION)

Not migrated.

Length

(Length)

Size

For data type which allows length.

Precision

(Precision)

Size

For data type which allows precision.

Scale

(Scale)

Scale

Mapping Attributes of OWB Mapping Operator use OWB GENERIC platform data types. OWB GENERIC platform is mapped to ODI Generic SQL technology. See Data Type Mapping for OWB GENERIC Platform to ODI Generic SQL Technologyfor details.

B.4 OWB Pluggable Mappings

You can find out more information on the various pluggable mappings that are available.

OWB Pluggable Mapping is migrated to ODI Reusable Mapping.

Also see Pluggable Mapping Operator.

B.4.1 Pluggable Mapping Folder

The OWB Pluggable Mapping Folder is migrated to an ODI Project Folder. Standalone pluggable mappings are migrated to a Project Folder named STAND_ALONE, which is created automatically during migration if it does not already exist.

B.4.2 Properties of Pluggable Mapping

Only Physical name and Description are migrated. Physical name of OWB Pluggable Mapping is migrated to name of ODI Reusable Mapping. Description of OWB Pluggable Mapping is migrated to Description of ODI Reusable Mapping.

B.4.3 Input Signature and Output Signature

In OWB, Signature Operator can have unlimited attribute groups (for Input Signature Operator, the attribute groups are output groups; for Output Signature Operator, the attribute groups are input groups). In ODI, Signature Component can have only one connector point, so each attribute group of OWB Signature Operator is migrated to a Signature Component.

For example, the following figure shows a Pluggable Mapping for which the INPUT_SIGNATURE operator has three output groups (INGRP1, INGRP2, and INGPR3).

These OWB output groups are migrated to three Input Signature Components in ODI, as shown in the following figure.

The name of ODI Signature Component is composed of OWB attribute group name of Signature Operator, underscore (_), and Signature Operator name.

The attributes of Signature Operator in OWB are migrated to attributes of Signature Component in ODI. No special properties need to be migrated for signature attributes.

B.4.4 Join Operator in Pluggable Mapping

OWB Pluggable Mapping does not have the property ANSI SQL Syntax as does a regular OWB Mapping. Therefore, all Join Operators of a Pluggable Mapping are split into binary joins during migration to ODI unless the migration configuration option SPLIT_JOIN_FOR_ANSI_SYNTAX is set to false in the migration utility configuration file. For information about ordered join, see Join Operator.

C Migration Details for Operators

This appendix provides migration details of operators.

This appendix provides reference information about migrating operators from OWB to ODI.

This appendix contains the following topics:

- Common Properties

- Aggregate Operator

- Cube Operator

- Deduplicator Operator

- Dimension Operator

- Expression Operator

- External Table Operator

- Flat File Operator

- Join Operator

- Lookup Operator

- Lookup Properties Migration

- Mapping Input Parameter Operator

- Materialized View Operator

- Pivot Operator

- Pluggable Mapping Operator

- Post-Mapping Operator

- Pre-Mapping Operator

- Sequence Operator

- Set Operator

- Sorter Operator

- Splitter Operator

- Subquery Filter Operator

- Table Operator

- Table Function Operator

- Transformation Function Operator

- Unpivot Operator

- View Operator

C.1 Common Properties

The following OWB properties are migrated to the same ODI properties across all the operators and attributes for which they are defined.

OWB Property Name

ODI Property Name

Physical Name

Name

Description

Description

C.2 Aggregate Operator

The OWB Aggregate operator is migrated to the ODI Aggregate component.

C.2.1 Logical Properties of the Aggregate Operator

OWB Property Name

Description

ODI Property Name

Note

Having Clause

(HAVING_CLAUSE)

Having Clause

HAVING

Group By Clause

(GROUP_BY_CLAUSE)

Group By Clause

MANUAL GROUP BY CLAUSE

C.2.2 Physical Properties of the Aggregate Operator

OWB Property Name

Description

ODI Property Name

Note

Inline view hint

(INLINEVIEW_HINT)

Hint used when inline view is created for this operator

Not migrated.

C.2.3 Attribute Groups and Attributes of the Aggregate Operator

Output attributes of the Aggregate operator are migrated to output attributes of the Aggregate component in ODI. No specific properties of output attributes need to be migrated.

C.3 Cube Operator

OWB Cube operator is migrated to ODI cube component.

1. Cube Operator

This section describes the properties of cube operator.

Table C-1 General Properties

OWB Property Name

ODI Property Name

Note

Name

Name

Description

Description

Other General Properties

Not Migrated

Cube AW Properties

All cube AW properties are not migrated.

Table C-2 Cube Loading Properties

OWB Property Name

ODI Property Name

Note

Enable Source Aggregation

Enable Source Aggregation

Incremental Aggregation

Not Migrated

Loading Type

Integration Type

Loading Type — Insert Load

Integration Type — Control Append

Loading Type — Load

Integration Type — Incremental Update

Loading Type — Remove

Integration Type — None

Table C-3 Cube Policies

OWB Property Name

ODI Property Name

Note

LOAD policy for INVALID keys

Not Migrated

If the property value on OWB cube object is different from the value on OWB cube operator, a warning message is generated in the migration report.

LOAD policy for NULL keys

Not Migrated

Record Error Rows

Not Migrated

Solve the Cube

Not Migrated

Table C-4 Error Tables

OWB Property Name

ODI Property Name

Note

DML Error table Name

Not Migrated

DML Error table name and Error table name are not migrated because error table information is defined on ODI cube object.

Error table Name

Not Migrated

Truncate Error Table

Truncate Error Datastore

Physical Properties

All physical properties on OWB cube operator are not migrated.

2. Cube Operator Attribute Group

OWB input/output attribute group of cube operator is mapped to the input connector point of ODI cube component.

3. Cube Operator Map Attribute

Table C-5 General Properties

OWB Property Name

ODI Property Name

Note

Description

Description

Other General Properties

Not Migrated

AW Properties

AW properties on map attribute are not migrated.

Data Type Information

Data Type Information properties are not migrated because they can be derived from the attribute’s bound object.

Table C-6 Loading Properties

OWB Property Name

ODI Property Name

Note

Attribute Role

Not Migrated

It’s a read-only property.

Source Aggregation Function

Source Aggregation Function

Only measure map attribute has this property.

Update Operation

Not Migrated

Table C-7 Operator Specific Properties

OWB Property Name

ODI Property Name

Note

Binding Column Name

Not Migrated

These properties are read-only and can be derived from the map attribute’s bound object.

Dimension Attribute

Not Migrated

Is Skip Level

Not Migrated

Level Attribute

Not Migrated

Level Relationship Name

Not Migrated

Referenced Level Attribute Name

Not Migrated

Referenced Level Name

Not Migrated

Default Value

Not Migrated

It is defined on ODI dimension level attribute. The value can be derived from the map attribute’s bound dimension level attribute.

Null Data Value

Null Data Value

This migration happens only when this map attribute represents as a dimension key attribute.

4. Base Cube for Cube Operator

The base cube of the cube operator is migrated to ODI cube object and ODI cube component is bound to the cube object when migration option MIGRATE_DEPENDENCY is set to true. If the base cube is not selected to be migrated together with the cube mapping and option MIGRATE_DEPENDENCY is set to false, the cube mapping will not be migrated. A message is generated in migration report - Mapping is not migrated because the bound object of the mapping operator CUBE:XXX is not being migrated. If the cube operator is unbound, the owning mapping is not migrated. A message is generated in migration report as — Mapping is not migrated because the mapping operator CUBE:XXX is unbound.

C.4 Deduplicator Operator

The OWB Deduplicator operator is migrated to the ODI Distinct component.

C.4.1 Properties of the Deduplicator Operator

No specific properties of the Deduplicator operator need to be migrated.

C.4.2 Attribute Groups and Attributes of the Deduplicator Operator

Input attributes of the Deduplicator operator are not migrated.

Output attributes of the Deduplicator operator are migrated. No specific properties of output attributes need to be migrated.

C.5 Dimension Operator

You can find out more information on the migration of the OWB Dimension operator to the ODI dimension component.

1. Dimension Operator

OWB Dimension operator is migrated to ODI dimension component.

Table C-8 General Properties

OWB Property Name

ODI Property Name

Note

Name

Name

Description

Description

Other General Properties

Not Migrated

The property Target Load Order will be calculated in ODI Dimension Pattern and there is no need to migrate it.

AW Properties

All AW properties are not migrated.

Table C-9 Dimension Properties

OWB Property Name

ODI Property Name

Note

Enable Source Dedup

Enable Source De-duplicate

Loading Type

Not Migrated

The default integration type for ODI dimension component is set to Incremental Update.

Sequence Name

Not Migrated

It is read-only property and this value can be derived from the base dimension of the dimension component.

Type 2 Extract/Remove Current Only

Not Migrated

Table C-10 Error Table

OWB Property Name

ODI Property Name

Note

DML Error Table Name

Not Migrated

Since error table information is defined on ODI dimension object.

Error Table Name

Not Migrated

Truncate Error Tables

Truncate Error Datastore(s)

Table C-11 History Logging Policies

OWB Property Name

ODI Property Name

Note

Default Effective Time of Initial Record

Default Effective Time of Initial Record

Default Effective Time of Open Record

Default Effective Time of Open Record

Default Expiration Time of Open Record

Default Expiration Time of Open Record

Slowing Changing Type

Not Migrated.

It is read-only property and can be derived from the base dimension object of the ODI dimension component.

Support Multiple History Loading

Not Migrated.

Support Out of Order History Loading

Not Migrated.

Type2 Gap

Type2 Gap

Type2 Gap Units

Type2 Gap Units

Table C-12 Orphan Management Policies

OWB Property Name

ODI Property Name

Note

Create Default Level Records

Not Migrated

LOAD policy for INVALID keys

Not Migrated

ODI dimension component retrieves the value from its base dimension object.

LOAD policy for NULL keys

Not Migrated

Record Error Rows

Not Migrated

REMOVE Orphan Policy

Not Migrated

Physical properties on Dimension Operator

All physical properties set on OWB dimension operator will not be migrated.

2. Dimension Operator Attribute Group Migration

Table C-13 General Properties

OWB Property Name

ODI Property Name

Note

Description

Description

Other General Properties

Not Migrated

Default Properties

All default properties on attribute group of dimension operator are not migrated.

Error Table

All error table properties on attribute group of OWB dimension operator are not migrated, as the error table information can be retrieved from the base dimension object of ODI the dimension component.

3. Dimension Operator Map Attribute Migration

Table C-14 General Properties

OWB Property Name

ODI Property Name

Note

Description

Description

Other General Properties

Not Migrated.

AW Properties

AW properties on map attribute are not migrated.

Data Type Information

Data Type Information properties are not migrated because they can be derived from the map attribute’s bound object (The bound object should be the level attribute).

Loading Properties

Loading properties are not migrated because they are read-only properties and can be derived from the attribute’s bound object (The bound object should be the level attribute).

Table C-15 Operator Specific Properties

OWB Property Name

ODI Property Name

Note

Binding Column Name

Not Migrated

They are read-only parameters and can be derived from the map attribute’s bound object.

Dimension Attribute Name

Not Migrated

Level Attribute Name

Not Migrated

Referenced Level Name

Not Migrated

Default Value

Not Migrated

This value is derived from the map attribute’s bound object. If the value on OWB map attribute is different from the value on its OWB bound object, a warning is provided in the migration report to say “The value of the property DEFAULT_VALUE set on map attribute xxx of operator DIMENSION:XXX is different from the value set on the bound object of XXX.

Load when Inserting Record

Load when Inserting Record

Load when Updating Record

Load when Updating Record

Null Data Value

Null Data Value

4. Base Dimension for Dimension Operator

The base dimension of the dimension operator is migrated to ODI dimension object and ODI dimension component is bound to the dimension object when migration option MIGRATE_DEPENDENCY is set to true. If the base dimension is not selected to be migrated together with the dimension mapping and MIGRATE_DEPENDENCY is set to false, the dimension mapping will not be migrated. A message is generated in migration report as - Mapping is not migrated because the bound object of the mapping operator DIMENSION:XXX is not being migrated. If the dimension operator is unbound, the owning mapping is not migrated. A message is generated in migration report as - Mapping is not migrated because the mapping operator DIMENSION:XXX is unbound.

C.6 Expression Operator

The OWB Expression operator is migrated to the ODI Expression component.

C.6.1 Properties of the Expression Operator

No specific properties of the Expression operator need to be migrated.

C.6.2 Attribute Groups and Attributes of the Expression Operator

Input attributes of the Expression operator are not migrated.

Output attributes of the Expression operator are migrated.

For output attributes, the expression of the output attribute is migrated to the expression of the ODI attribute. The OWB properties Variable Initial Value and Variable Write condition are not migrated. No other specific properties of output attributes need to be migrated.

C.7 External Table Operator

OWB External Table operators inside OWB mappings are migrated to ODI Datastore components in the migrated ODI mappings.

For detailed migration steps and behaviors, see Migrating the External Table Operator.

C.7.1 Logical Properties of the External Table Operator

C.7.1.1 General Properties

OWB Property Name

Description

ODI Property Name

Note

Bound Name

(BOUND_NAME)

If the OWB External Table operator is bound to an external table, the ODI Datastore component is bound to the corresponding data store.

Primary Source

(PRIMARY_SOURCE)

A boolean value to indicate whether this is a primary source (only used in EDW).

(YES/NO)

Not migrated.

Key

(KEYS_READONLY)

Not migrated.

C.7.1.2 Chunking

As with the Table operator, properties for Chunking are not migrated.

C.7.1.3 Error Table

As with the Table operator, properties for Error Table are not migrated.

C.7.1.4 SCD Updates

As with the Table operator, properties for SCD Updates are not migrated.

C.7.1.5 Temp Stage Table

As with the Table operator, properties for Temp Stage Table are not migrated.

C.7.2 Physical Properties of the External Table Operator

C.7.2.1 General Properties

OWB Property Name

Description

ODI Property Name

Note

Schema

(SCHEMA)

Not migrated.

Database link

(DATABASE_LINK)

Database link used to access this entity during mapping.

Not migrated.

Location

(DB_LOCATION)

Location, used to access referenced entity.

Not migrated.

C.7.2.2 Hints

OWB Property Name

Description

ODI Property Name

Note

Extraction hint

(EXTRACTION_HINT)

Hint used when extracting from this table using SQL

SELECT_HINT

Loading hint

(LOADING_HINT)

Hint used when loading into this table using SQL

INSERT_HINT or

UPDATE_HINT

Automatic hints enabled

(AUTOMATIC_HINTS_ENABLED)

Automatic hints enabled using SQL

Not migrated.

C.7.2.3 Partition Exchange Loading

As with the Table operator, properties for Partition Exchange Loading are not migrated.

C.7.2.4 Constraint Management

OWB Property Name

Description

ODI Property Name

Note

Enable Constraints

(ENABLE_CONSTRAINTS)

Enable Constraints

Not migrated.

Exceptions Table Name

(EXCEPTIONS_TABLE_NAME)

Exceptions Table Name

Not migrated.

C.7.3 Migrating the External Table Operator

OWB External Table operators inside OWB mappings are migrated to ODI Datastore components in the migrated ODI mappings.

The KM of the ODI Datastore's Physical Mapping is set to XKM Oracle External Table, and the following information is migrated from the OWB External Table Operator (or its bound external table) to KM options of the ODI Physical Node.

OWB Property Name

KM Option

Note

Default Location

SQL_DEFAULT_DIR

Accessed Data Location

SQL_DIRECTORIES

The format is DIR_NAME:path,...; for example: MyDir:/tmp/mydir, MyDir2:/tmp/mydir2

Data Files

DIR_DATA_FILES

The format is DIR_NAME:filename,...; for example: MyDir:file1,MyDir:file2

Access Parameters

ACCESS_PARAMETERS

C.8 Flat File Operator

OWB Flat File operators inside OWB mappings are migrated to ODI Datastore components in the migrated ODI mappings.

C.8.1 Logical Properties of the Flat File Operator

OWB Property Name

Description

ODI Property Name

Note

Loading type

(LOADING_TYPE)

Choices = 'INSERT, UPDATE, NONE'

INTEGRATION_TYPE

Same as for the Table operator. See Notes About Loading Type.

SAMPLED_FILE_NAME

The default physical source file name.

Not migrated.

Source Data File Location

(SOURCE_DATA_FILE_LOCATION)

The Locations of the File Module of this Flat File at the time of reconciliation. Stored as UOID.

Not migrated.

File Format

(FILE_FORMAT)

File Format (Fixed or Delimited).

Not migrated.

Record Delimiter

(RECORD_DELIMITER)

Character that indicates the end of the record.

Not migrated.

Continuation Character

(CONTINUATION_CHARACTER)

Character that indicates the record is continued on the next line.

Not migrated.

Continuation Character on Next Line

(CONTINUATION_CHARACTER_ON_NEXT_LINE)

If there is a continuation character, is it at the start of the line.

Not migrated.

Filed Termination Character

(FIELD_TERMINATION_CHARACTER)

Character that separates the fields of a delimited file.

Not migrated.

Filed Enclosure Characters

(FIELD_ENCLOSURE_CHARACTERS)

Characters that wrap fields. Example ' or ".

Not migrated.

Record Size

(RECORD_SIZE)

Size of a fixed length record.

Not migrated.

Concatenate Records

(CONCATENATE_RECORDS)

Number of Physical Records per Logical Record.

Not migrated.

Record Type Position

(RECORD_TYPE_POSITION)

If this is a multi record file, this will indicate the position of the field that identifies the type of record.

Not migrated.

Record Type Length

(RECORD_TYPE_LENGTH)

If this is a multi record file, this will indicate the length of the data that identifies the type of record. It is used with the Record Type Position.

Not migrated.

File contains a header row

(FIELD_NAMES_IN_THE_FIRST_ROW)

Indicates whether file contains a header row

Not migrated.

Bound Name

(BOUND_NAME)

If the OWB Flat File operator is bound to an OWB Flat File object, the corresponding ODI Datastore component is bound to the ODI Datastore.

C.8.2 Logical Properties of the Map Attribute Group of the Flat File Operator

OWB Property Name

Description

ODI Property Name

Note

Record Type Values

(RECORD_TYPE_VALUES)

Not migrated.

Bound Name

(BOUND_NAME)

Not migrated.

C.8.3 Logical Properties of the Map Attribute of the Flat File Operator

OWB Property Name

Description

ODI Property Name

Note

Field Data Type

(FIELD_DATA_TYPE)

Choices = 'CHAR, DATE, INTEGER EXTERNAL, FLOAT EXTERNAL, DECIMAL, DECIMAL EXTERNAL, ZONED, ZONED EXTERNAL, RAW, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND, FLOAT, DOUBLE, BYTEINT, SMALLINT, SMALLINT UNSIGNED, INTEGER, INTEGER UNSIGNED, GRAPHIC, GRAPHICEXTERNAL, VARGRAPHIC, VARCHAR, VARCHARC, VARRAW, LONG VARRAW, VARRAWC'

Not migrated.

Data type of ODI map attribute is determined by the data type of the column of the bound datastore.

Filed Length

(FIELD_DATA_TYPE_LENGTH)

Length of the field in the file to which this operator is bound.

Not migrated.

Length of ODI map attribute is determined by the length of the column of the bound datastore.

Field Precision

(FIELD_DATA_TYPE_PRECISION)

Precision of the field in the file to which this operator is bound.

Not migrated.

Precision of ODI map attribute are determined by the length of the column of the bound datastore.

Field Scale

(FIELD_DATA_TYPE_SCALE)

Scale of the field in the file to which this operator is bound.

Not migrated.

Field starting position

(FIELD_START_POSITION)

Not migrated.

Field ending position

(FIELD_END_POSITION)

Not migrated.

Field Mask

(FIELD_MASK)

Date mask of the field in the file to which this operator is bound.

Not migrated.

Field null if condition

(FIELD_NULLIF_VALUE)

NULLIF value of the field in the file to which this operator is bound.

Not migrated.

Field default if condition

(FIELD_DEFAULTIF_VALUE)

Not migrated.

C.9 Join Operator

The OWB Join operator is migrated to the ODI Join component.

Attribute groups and attributes of the OWB Join operator are not migrated.

C.9.1 Properties of the Join Operator

For information about the general properties of the Join operator, see Mapping Operator.

C.9.1.1 ANSI SQL syntax

ANSI SQL syntax is a property on the mapping level in OWB.

ODI does not have this property on the mapping level, but the ODI Join component has a property called Generate ANSI Syntax which has the same functionality.

The value of ANSI SQL syntax on the OWB mapping is migrated to the Generate ANSI Syntax property of the ODI Join component.

C.9.1.2 Join Condition

Join Condition on the OWB Join operator is migrated to Join Condition on ODI Join component. However, the OWB Join Condition references its own operator's input attributes, which is not supported in ODI; thus, the ODI Join Condition is configured to reference the attributes of the upstream sources to the OWB input attribute.

C.9.1.3 Join Input Role

Join Input Role is an attribute group level property of the OWB Join operator. It has three choices: STANDARD, OUTER and FULLOUTER.

The corresponding property on the ODI Join component is Join Type.

Join Input Role does not map directly to Join Type because Join Input Role supports multiple input groups, while Join Type supports only a binary join. During migration, complex joins are split into a series of the binary joins using the OWB code generation rules for the Join operator.

C.9.2 Migrating an ANSI Join Operator

When ANSI SQL syntax of OWB mapping is set to true, the Join operator is by default split into binary joins during migration.

Setting the SPLIT_JOIN_FOR_ANSI_SYNTAX migration configuration option to false can override this default behavior and prohibit the Join operator from being split into binary joins. However, if a "Join Input Role" value is set on any of the Join operator's attribute groups, the value of the SPLIT_JOIN_FOR_ANSI_SYNTAX migration configuration option is ignored and the Join operator is split into binary joins during migration.

The following scenarios provide examples of migrating the Join operator when ANSI SQL Syntax is set to true for the mapping.

C.9.2.1 Scenario 1: Two Input Groups with Standard Join

OWB mapping description: two sources joining together, the join condition is standard join (not outer join). No "Join Input Role" is specified on input attribute groups of Join operator.

Join Condition is: INGRP2.DEPTNO = INGRP1.DEPTNO and INGRP1.EMPNO > 1000

The generated code (only displays the select clause) from OWB side is:

SELECT
"EMP"."EMPNO" "EMPNO", "EMP"."ENAME" "ENAME", "DEPT"."DNAME" "DNAME"
FROM
"DEPT" "DEPT" JOIN "EMP" "EMP"
ON ( ( "DEPT"."DEPTNO" = "EMP"."DEPTNO" ) )
WHERE ( "EMP"."EMPNO" > 1000 )

When this kind of mapping is migrated to ODI, the ODI mapping should look as follows:

The join condition for JOIN1 is: ( DEPT.DEPTNO = EMP.DEPTNO )

The filter condition for Filter_JOIN1 is: ( EMP.EMPNO > 1000 )

The operator JOIN1 in OWB mapping is migrated to a Join component followed a Filter component in ODI.

C.9.2.2 Scenario 2: Two Input Groups with Outer Join Using (+) Style

The mapping is much similar with the mapping in scenario 1. The only difference is the join condition is not a standard join. It is an outer join using (+) style.

JOIN_CONDITION is: INGRP2.DEPTNO(+) = INGRP1.DEPTNO

The generated code (only displays the select clause) from OWB side is:

SELECT
"EMP"."EMPNO" "EMPNO","EMP"."ENAME" "ENAME", "DEPT"."DNAME" "DNAME"
FROM
"DEPT" "DEPT"
RIGHT OUTER JOIN "EMP" "EMP" ON ( ( "DEPT"."DEPTNO" = "EMP"."DEPTNO" ) )

The migrated ODI mapping should look as follows:

The join condition is set to DEPT.DEPTNO = EMP.DEPTNO, and the join type is set to DEPT RIGHT_OUTER join EMP.

C.9.2.3 Scenario 3: Two Input Groups with Outer Join Using Join Input Role

Two sources joining together, the join condition is standard join, but "Join Input Role" is specified on some of the input attribute groups of Join operator. Take the following OWB mapping as an example:

The Join Input Role of INGRP1 is set to OUTER.

Join condition is: INGRP2.DEPTNO = INGRP1.DEPTNO

The generated code (only displays the select clause) from OWB side is:

SELECT
"EMP"."EMPNO" "EMPNO",
"EMP"."ENAME" "ENAME",
"DEPT"."DNAME" "DNAME"
FROM
"DEPT" "DEPT"
LEFT OUTER JOIN "EMP" "EMP" ON ( ( "DEPT"."DEPTNO" = "EMP"."DEPTNO" ) )

The migrated ODI mapping looks like the following:

The join condition is set to DEPT.DEPTNO = EMP.DEPTNO, and the join type is set to DEPT LEFT_OUTER join EMP.

C.9.2.4 Scenario 4: Two Input Groups with both (+) Style and Join Input Role

In this case, OWB will use Join Input Role to generate code and ignore the (+) style. The migrated mapping will be the same as Scenario 3.

C.9.2.5 Scenario 5: Multiple Input Groups

Take the following mapping as an example:

Join condition is:

INGRP1.SAL > 1000 and INGRP1.EMPNO(+) = INGRP2.DEPTNO
and INGRP3.ENAME = INGRP4.CUSTID and INGRP1.EMPNO = INGRP4.CUSTID
and SUBSTR(INGRP1.ENAME(+),0,2) = INGRP2.DNAME

The generated code (only displays the select clause) from OWB side is:

SELECT
/* EMP.INOUTGRP1 */
"EMP"."EMPNO" "EMPNO",
"EMP"."ENAME" "ENAME",
"EMP"."JOB" "JOB",
"EMP"."MGR" "MGR",
"EMP"."HIREDATE" "HIREDATE",
"EMP"."SAL" "SAL",
"EMP"."COMM" "COMM",
"EMP"."DEPTNO" "DEPTNO"
FROM
"EMP" "EMP" ) "INGRP1"
RIGHT OUTER JOIN "DEPT" "DEPT" ON (
(( "INGRP1"."EMPNO" = "DEPT"."DEPTNO" ))
AND (( SUBSTR ( "INGRP1"."ENAME" , 0 , 2 ) = "DEPT"."DNAME" ))
)
JOIN "ADDRESS" "ADDRESS$1" ON ( ( "INGRP1"."EMPNO" = "ADDRESS$1"."CUSTID" ) )
JOIN "BONUS" "BONUS" ON ( ( "BONUS"."ENAME" = "ADDRESS$1"."CUSTID" ) )
WHERE
( "INGRP1"."SAL" > 1000 )

The migrated ODI mapping looks like this:

The properties of JOINER would be:

The properties of JOINER1 would be:

The properties of JOINER2 would be:

The properties of Filter_JOINER would be:

C.9.3 Migrating a Non-ANSI Join Operator

When the property ANSI SQL syntax of OWB mapping is set to false, the OWB Join operator will be migrated to one ODI Join component.

Exception: when "ANSI SQL syntax" is set to false, but "Join input Role" is set for some of the Join operator attribute groups. The OWB Join operator may be split into binary joins as described in Join Input Role.

C.9.4 Migrating a Self Join

The following mapping is allowed in OWB, but it is not well supported in ODI 12.1.2.

One source table operator is connected to two input groups of the Join operator.

To support this mapping in ODI 12.1.2, the source table operator is migrated twice, producing an ODI mapping like:

ODI 12.1.3 can support the self join just as the way OWB does, so there is no need to migrate the source table operator twice, and the mapping is migrated to ODI 12.1.3 as below:

EMP component is connected to JOINER component twice by 2 input connector points of JOINER component.

C.10 Lookup Operator

You can find out more information on how the OWB Lookup operator is migrated to ODI.

The OWB Lookup operator is not migrated to ODI directly. Instead, each of its input/output attribute group pairs is migrated to an ODI Lookup component.

If the OWB Lookup operator has multiple input/output attribute group pairs, the resulting ODI Lookup components are chained together as a binary tree.

Properties of the input/output attribute group pairs are migrated to properties of the ODI Lookup components.

The OWB in group and input attributes will be omitted after the lookup condition converted to ODI.

<OWB In Group, Attributes, and Lookup Conditions>

<ODI Lookup Condition>

The OWB Lookup Table is migrated as ODI Lookup Operator's <Lookup Source> and show up in the mapping.

<OWB Lookup Table>

<ODI Lookup Source>

The OWB Multiple Match Rows Rules are migrated to ODI's <Multiple Match Rows>, <Nth Row Number> and <Lookup Attributes default value & order by> - Column <order by>

<OWB Multiple Match Rows – Error>

<ODI Multiple Match Rows – Error>

<OWB Multiple Match Rows - All Rows>

<ODI Multiple Match Rows - All Rows >

<OWB Multiple Match Rows - Single Row - Any Row>

<ODI Multiple Match Rows - Select Any Single Row>

<OWB Multiple Match Rows - Single Row - First / Last Row>

<ODI Multiple Match Rows -Select Single First / Last row>

<OWB Multiple Match Rows - Single Row - Nth Row>

<ODI Multiple Match Rows - Select Single Nth Row>

OWB No Match Rows Rules are migrated to ODI No Match Rows Plus <Lookup Attributes Default Value & Order By> Default Value.

<OWB Match No Rows - Using Predefined Value>

<ODI Match No Rows - Using Default Value>

Migration Path

To support OWB lookup migration, the concept Multiple Match Rows and No match Rows are introduced into ODI. The migration combines as following:

-

OWB

ODI12.1.2

ODI12.1.3

-

-

Multiple Match Rows

No Match Rows

Lookup Type

Multiple Match Rows

No Match Rows

Code Generated

ALL ROWS

DEFAULT VALUES

LEFT OUTER

ALL ROWS(LEFT OUTER)

DEFAULT VALUES

LEFT OUTER JOIN

ALL ROWS

NO ROW

N/A

ALL_ROWS (ALL_ROWS)

NO ROW

INNER JOIN

ERROR

DEFAULT VALUES

EXPRESSION IN SELECT

ERROR (ERROR_WHEN_MULTIPLE_ROW)

DEFAULT VALUES

EXPRESSION IN SELECT

NTH ROW

DEFAULT VALUES

N/A

NTH ROW

DEFAULT VALUES

LEFT OUTER JOIN

ANY ROW

DEFAULT VALUES

N/A

ANY ROW

DEFAULT VALUES

EXPRESSION IN SELECT

FIRST ROW

DEFAULT VALUES

N/A

FIRST ROW

DEFAULT VALUES

EXPRESSION IN SELECT

LAST ROW

DEFAULT VALUES

N/A

LAST ROW

DEFAULT VALUES

EXPRESSION IN SELECT

C.11 Lookup Properties Migration

You can find out more information on how the OWB lookup properties are migrated to ODI.

OWB Property Name

ODI Property Name

Name

Name

Input Group

Not Migrated

Input Attributes

Not Migrated

Multiple Match Rows

Multiple Match Rows

No-Match Row

No-Match Row

Nth Row Number

Nth Row Number

Default Value and Order By

Lookup Default Values & Order By

Lookup Condition

Lookup Condition

Each Group's Lookup Table

Lookup Operator's Lookup Table

C.12 Mapping Input Parameter Operator

Each attribute of an OWB Mapping Input Parameter operator is migrated as one ODI variable under the project tree panel.

The default value of an attribute in the OWB Mapping Input Parameter operator is migrated as the default value of the ODI variable. If the default value is not set, the expression of the attribute is used instead.

By default, the attribute name is migrated to the ODI variable name. If the name already exists, a number is automatically appended to create a unique name. If multiple attributes of the same name are migrated, increasing numbers are used to create unique names.

C.12.1 Properties of the Attributes of the Mapping Input Parameter Operator

OWB Property Name

ODI Property Name

Description

Physical Name

Name

If the name already exists, a number is automatically appended to create a unique name.

Default Value

Default Value

The default value of the attribute in the OWB Mapping Input Parameter will be migrated as the ODI Variable's default. If the default value of the attribute in the input parameter is not set, use the expression of the attribute instead.

Data Type; one of:

- TIMESTAMP

- TIMESTAMP_WITH_LOCAL_TIME_ZONE

- TIMESTAMP_WITH_TIME_ZONE

- DATE

Data Type: DATE

The attribute's default value (or expression if no default value is set) is converted to text and the ODI variable's data type is configured as SHORT_TEXT or LONG_TEXT:

- If the length of the converted text exceeds 250, the ODI variable's data type is configured as LONG_TEXT.

- Otherwise, the ODI variable's data type is configured as SHORT_TEXT.

Data Type; one of:

- NUMBER

- NUMERIC

- FLOAT

- BINARY_DOUBLE

- BINARY_FLOAT

- INTEGER

Data Type: NUMERIC

If the attribute's default value (or expression if no default value is set) cannot be parsed to numeric, it is converted to text and the ODI variable's data type is configured as SHORT_TEXT or LONG_TEXT:

- If the length of the converted text exceeds 250, the ODI variable's data type is configured as LONG_TEXT.

- Otherwise, the ODI variable's data type is configured as SHORT_TEXT.

Data Type; one of:

- VARCHAR2

- VARCHAR

- CHAR

- NCHAR

- NVARCHAR2

Data Type: SHORT_TEXT

If the length of attribute's default value (or expression if no default value is set) exceeds 250, the ODI variable's data type is configured as LONG_TEXT.

Data Type: Other

Not Supported

If the attribute's type in OWB is some other type, the operator will not be migrated.

C.12.2 Migration Logic

The following diagram provides an example of how the OWB Mapping Input Parameter is migrated to ODI. In this diagram, note the following:

1. Each attribute inside the Mapping Input Parameter EMP_RANGE is migrated to a standalone variable; for example, EMP_RANGE.EMPNO_MIN is migrated to the ODI project variable EMPNO_MIN.

2. The attribute's default value or expression is migrated to the ODI variable's default value; for example, the expression 4001 of EMP_RANGE.EMPNO_MIN in OWB is migrated to the ODI variable EMPNO_MIN's default value of 4001.

3. The downstream expressions of OWB Mapping Input Parameter attributes are parsed to use the variable; for example, the FILTER condition expression has been converted to #OPERATOR_MIGRATION.EMPNO_MIN.

C.12.3 How the Default Value Is Used

Once a mapping that contains an Input Parameter operator been migrated to ODI, it can be executed through the generated mapping scenario. During the execution, all the ODI variables migrated from OWB will be populated with the default value (OWB input parameter attribute's default value or expression). If necessary, you can change the value as needed, as shown in the following figure:

C.13 Materialized View Operator

The OWB Materialized View operator is migrated to the ODI Data store component.

C.13.1 Logical Properties of the Materialized View Operator

C.13.1.1 General Properties

OWB Property Name

Description

ODI Property Name

Note

Bound Name

(BOUND_NAME)

If the OWB Materialized View operator is bound to a materialized view, the ODI Data store component will be bound to the corresponding data store.

Primary Source

(PRIMARY_SOURCE)

A boolean value to indicate whether this is a primary source (only used in EDW).

(YES/NO)

Not migrated.

Keys

(KEYS_READONLY)

Not migrated.

Loading Type

(LOADING_TYPE)

Choices = "INSERT, UPDATE, INSERT_UPDATE, UPDATE_INSERT, DELETE, NONE, TRUNCATE_INSERT, DELETE_INSERT, CHECK_INSERT, DERIVE_FROM_LCR"

INTEGRATION_TYPE

Same as for the Table operator. See Notes About Loading Type.

Target Load Order

(TARGET_LOAD_ORDER)

Map targets names in loading sequence.

Not migrated.

C.13.1.2 Chunking

As with the Table operator, properties for Chunking are not migrated.

C.13.1.3 Conditional Loading

Same as for the Table operator. See Conditional Loading.

C.13.1.4 Data Rules

As with the Table operator, properties for Data Rules are not migrated.

C.13.1.5 Error Table

As with the Table operator, properties for Error Table are not migrated.

C.13.1.6 SCD Updates

As with the Table operator, properties for SCD Updates are not migrated.

C.13.1.7 Temp Stage Table

As with the Table operator, properties for Temp Stage Table are not migrated.

C.13.2 Physical Properties of the Materialized View Operator

Same as for the Table operator. See Physical Properties of the Table Operator.

C.13.3 Logical Properties of the Attributes of the Materialized View Operator

Same as for the Table operator. See Logical Properties of the Attributes of the Table Operator.

C.13.4 Migrating an Unbound Materialized View Operator

Same as for the Table operator. See Migrating an Unbound Table Operator.

C.14 Pivot Operator

The OWB Pivot operator is migrated to the ODI Unpivot component.

C.14.1 Properties of the Pivot Operator

C.14.1.1 General Properties

OWB Property Name

Description

ODI Property Name

Note

Business Name

(LOGICAL_NAME)

Business Name

(BUSINESS_NAME)

Physical Name

(NAME)

Name

(NAME)

If the OWB name includes the string "pivot", it is changed to "unpivot".

C.14.1.2 Row Locator

The output attribute that is set as the row locator of the OWB Pivot operator is migrated to the value of the Row Locator property of the ODI Unpivot component.

C.14.1.3 Pivot Transform

Pivot transform values of the OWB Pivot operator are migrated to unpivot transform values of the ODI Unpivot component.

C.14.2 Map Attribute Group and Map Attribute

Map attribute groups of the OWB Pivot operator are migrated to connector points of the ODI Unpivot component. No specific properties for attribute group of Pivot operator need to be migrated.

Input attributes of the OWB Pivot operator are not migrated.

Output attributes are migrated. Name, Data Type, Length, Precision, Scale, Second Precision and Description are general properties described in Mapping Attribute. Migration of the Row Locator property is described in Row Locator. The Expression property of the OWB Output attribute is migrated to the Expression property of the ODI Output attribute.

C.15 Pluggable Mapping Operator

The OWB Pluggable Mapping operator is migrated to the ODI Reusable Mapping component.

For general information about migrating pluggable mappings, see OWB Pluggable Mappings.

C.15.1 Properties of the Pluggable Mapping Operator

No specific properties of the Pluggable Mapping operator need to be migrated.

C.15.2 Attribute Groups and Attributes of the Pluggable Mapping Operator

Attribute groups and attributes in the Pluggable Mapping operator are not migrated.

In ODI, when a Reusable Mapping component is bound to a Reusable Mapping, the connector points and attributes of the Reusable Mapping component are created automatically according to the binding Reusable Mapping. Thus, if an OWB Pluggable Mapping operator is not consistent with its bound object in OWB, migration issues might arise. To avoid any such issues, synchronize the Pluggable Mapping operator before migration.

C.15.3 Migrating an Unbound Pluggable Mapping Operator

A mapping containing an unbound Pluggable Mapping operator will not be migrated unless the MIGRATE_UNBOUND_OPERATOR migration configuration option is set to true.

During migration, a Reusable Mapping will be created in ODI based on the unbound Pluggable Mapping operator. The created Reusable Mapping is placed in the STAND_ALONE folder under the project where the mapping is placed. The unbound Pluggable Mapping operator is migrated to a Reusable Mapping component and bound to the newly created Reusable Mapping.

C.16 Post-Mapping Operator

You can find out more information on how the OWB Post-Mapping operator is migrated to ODI.

For ODI 12.1.2 (plus the applied patch), the OWB Post-Mapping operator is converted to PL/SQL code and configured into the ODI container mapping's target node as the KM option END_MAPPING_SQL.

For ODI 12.1.3, the OWB Post-Mapping operator is migrated as SQL clause and saved into the "End Mapping Command" of the mapping. The operator's location information is migrated into Location for End Mapping Command, and the Technology for End Mapping Command would be populated as Oracle.

The downstream expressions which refer to the Output Attribute are resolved as NULL.

The data type of Attribute Process operator are limited to: TIMESTAMP, TIMESTAMP_WITH_LOCAL_TIME_ZONE, TIMESTAMP_WITH_TIME_ZONE, DATE, NUMBER, NUMERIC, FLOAT, BINARY_DOUBLE, BINARY_FLOAT, INTEGER, VARCHAR2, VARCHAR, CHAR, NCHAR, NVARCHAR2. Otherwise, the Attribute Process Operator is not migrated.

OWB Property Name

ODI Property Name

Note

Business Name

Not migrated.

Description

Not migrated.

Function Name

Function Name inside the End Mapping Command.

Physical Name

Not migrated.

Post-Mapping Process Run Condition

Skipped after migrated to ODI Mapping.

Row based only

Not migrated.

Input Attribute Physical Name

Not migrated.

Output Attribute Physical Name

Not migrated.

C.17 Pre-Mapping Operator

You can find out more information on how the OWB Pre-Mapping operator is migrated to ODI.

For ODI 12.1.2 (plus the applied patch), the OWB Pre-Mapping operator is migrated to the KM option BEGIN_MAPPING_SQL of the source ODI Datastore component.

For ODI 12.1.3, the OWB Pre-Mapping operator is migrated as a SQL clause and saved into the "Begin Mapping Command" of the mapping. The operator's location information would be migrated into Location for Begin Mapping Command, and the Technology for Begin Mapping Command would be populated as Oracle.

The downstream expressions which refer to the Output Attribute are be resolved as NULL.

The data type of Attribute Process operator are limited to: TIMESTAMP, TIMESTAMP_WITH_LOCAL_TIME_ZONE, TIMESTAMP_WITH_TIME_ZONE, DATE, NUMBER, NUMERIC, FLOAT, BINARY_DOUBLE, BINARY_FLOAT, INTEGER, VARCHAR2, VARCHAR, CHAR, NCHAR, NVARCHAR2. Otherwise, the Attribute Process Operator is not migrated.

OWB Property Name

ODI Property Name

Note

Business Name

Not migrated.

Description

Not migrated.

Function Name

Function Name inside the Begin Mapping Command.

Physical Name

Not migrated.

Post-Mapping Process Run Condition

Skipped after migrated to ODI Mapping.

Row based only

Not migrated.

Input Attribute Physical Name

Not migrated.

Output Attribute Physical Name

Not migrated.

C.18 Sequence Operator

You can find out more information on how the OWB sequences are migrated to ODI.

OWB Sequences are migrated to ODI Sequences as described in OWB Sequence to ODI Sequence. The OWB Sequence operator is not migrated; however, references to OWB Sequences in expressions are migrated to ODI as part of the migration of the expressions.

C.19 Set Operator

The OWB Set operator is migrated to the ODI Set component.

C.19.1 Properties of the Set Operator

C.19.1.1 Set Operation

Set operation is an operator level property in OWB. It has four choices: UNION, UNIONALL, INTERSECT, and MINUS.

ODI has a similar property, but the property is set on the input connector point. Hence, the operator-level OWB Set Operation property is migrated to each input connector point of the Set ODI component except the first input connector point which is left as empty.

The following table displays the migration from OWB Set Operation to ODI set operation type.

OWB Set Operation Type

ODI Set Operation Type

UNION

UNION

UNIONALL

UNION ALL

MINUS

MINUS

INTERSECT

INTERSECT

C.19.2 Attribute Groups and Attributes of the Set Operator

The operator attribute groups of the OWB Set operator are migrated to ODI component connector points. No specific properties need to be migrated for attribute groups of the Set operator.

Input attributes of the Set operator are not migrated.

Output attributes are migrated. The Output attribute of the ODI Set component can have multiple expressions. Each expression is associated with an input connector point. During migration, the expressions for the ODI attribute will be constructed according to the input attributes of the OWB Set operator. Take the following mapping as an example:

Union1 is a Set operator in OWB. It has two output attributes, and the two input attributes INGRP1.EMPNO and INGPR2.DEPTNO are mapped to OUTGRP1.DEPTNO.

Because INGRP1.EMPNO is connected from EMP.INOUTGRP.EMPNO and INGRP2.DEPTNO is connected from DEPT.INOUTGRP.DEPTNO, the expressions for the output attribute UNION1.DEPTNO in the ODI Set component are set to refer to EMP.EMPNO and DEPT.DEPTNO.

C.20 Sorter Operator

The OWB Sorter operator is migrated to the ODI Sorter component.

C.20.1 Logical Properties of the Sorter Operator

OWB Property Name

Description

ODI Property Name

Note

Order By Clause

(ORDER_BY_CLAUSE)

The Order By Clause

ORDER_BY_CLAUSE

C.20.2 Physical Properties of the Sorter Operator

OWB Property Name

Description

ODI Property Name

Note

Inline view hint

(INLINEVIEW_HINT)

Hint used when inline view is created for this operator

Not migrated.

C.21 Splitter Operator

The OWB Splitter operator is migrated to the ODI Splitter component.

C.21.1 Properties of the Splitter Operator

C.21.1.1 Split Condition

Split Condition is an attribute group-level property in OWB. ODI has a similar property, which is set on the output connector point. The Split Condition property on the output attribute group in OWB is migrated to the split condition expression on the output connector point in ODI.

C.21.2 Attribute Groups and Attributes of the Splitter Operator

Output attribute groups of the Splitter operator in OWB are migrated to output connector points in ODI. The output attribute group with the name REMAINING_ROWS in OWB is migrated to the Remainder output connector point in ODI.

Attributes of the Splitter operator are not migrated.

C.22 Subquery Filter Operator

The OWB Subquery Filter operator is migrated to the ODI Subquery Filter component.

C.22.1 Properties of the Subquery Filter Operator

C.22.1.1 Name and Description

The physical name of the Subquery Filter operator is migrated to the Subquery Filter component name. The description is migrated to the component description.

C.22.1.2 Subquery Filter Condition

The OWB subquery filter condition is mapped to the ODI subquery filter condition.

The subquery filter condition for the ODI Subquery Filter component is as follows:

C.22.1.3 Subquery Filter Input Role

The OWB subquery filter input role is migrated to the ODI subquery filter input role.

The subquery filter input role for the ODI Subquery Filter component is as follows:

C.22.2 Map Attribute Groups

The OWB Subquery Filter operator has two attribute groups: input attribute group and inout attribute group. The input attribute group of the OWB Subquery Filter operator is migrated to the ODI SUBQUERY_FILTER_INPUT connector point of the ODI Subquery Filter component. The OWB inout attribute group of the Subquery Filter operator is migrated to the ODI DRIVER_INPUT connector point and the output connector point. The two connector points use the default name instead of the OWB inout attribute group name.

C.22.3 Attributes

Attributes in the input attribute group are not migrated. Attributes in the inout group of the OWB Subquery Filter operator are migrated to output attributes of the ODI Subquery Filter component.

An output attribute of the Subquery Filter component has two expressions. The following example describes how these two expressions are set during migration.

Using the following OWB mapping as an example:

This OWB mapping is migrated to the following ODI mapping:

The expressions for each migrated attribute are as follows:

C.22.3.1 Expression for DRIVER_INPUT Connector Point

For output attributes of the OWB Subquery Filter operator that are connected from an upstream attribute, the expression of these output attributes is set to the ODI DRIVER_INPUT connector point, and the expression references the upstream projector attribute.

In the previous OWB mapping, the attribute SUBQUERY_FILTER.INOUTGRP1.EMPNO is connected from EMP.EMPNO. After migration to ODI, the expression set on the DRIVER_INPUT connector point is EMP.EMPNO.

C.22.3.2 Expression for SUBQUERY_FILTER_INPUT Connector Point

For output attributes of the OWB Subquery Filter operator with an IN Matching Attribute property set, the expression of this property is set to the SUBQUERY_FILTER_INPUT connector point.

For example, if the IN Matching Attribute value is DEPTNO, when migrating to ODI, DEPT.DEPTNO is set as the expression for the SUBQUERY_FILTER_INPUT connector point in ODI.

C.23 Table Operator

The OWB Table operator is migrated to the ODI Datastore component.

C.23.1 Logical Properties of the Table Operator

C.23.1.1 General Properties

OWB Property Name

Description

ODI Property Name

Note

Bound Name

(BOUND_NAME)

If the OWB Table operator is bound to a table, the ODI Datastore component will be bound with the corresponding data store.

Business Name

(LOGICAL_NAME)

Business Name

(BUSINESS_NAME)

Create By

Not migrated.

Create Time

Not migrated.

Icon Object

Not migrated.

Keys

(KEYS_READONLY)

Not migrated.

Last Update Time

Not migrated.

Primary Source

(PRIMARY_SOURCE)

A boolean value to indicate whether this is a primary source (only used in EDW).

Not migrated.

Loading Type

(LOADING_TYPE)

Choices = "INSERT, UPDATE, INSERT_UPDATE, UPDATE_INSERT, DELETE, NONE, TRUNCATE_INSERT, DELETE_INSERT, CHECK_INSERT, DERIVE_FROM_LCR"

INTEGRATION_TYPE

See Notes About Loading Type.

Target Load Order

(TARGET_LOAD_ORDER)

Map targets names in loading sequence.

Not migrated. The TARGET_LOAD_ORDER property will be specified on the mapping level.

Update By

Not migrated.

Notes About Loading Type

The loading type of the OWB operator is migrated to the ODI integration type. The Loading Type property is migrated only when the operator is used as the target.

The following table displays the migration mappings from the OWB loading type to the ODI integration type.

OWB Loading Type

Description

ODI Integration Type

Note

INSERT

CONTROL_APPEND

A default IKM whose integration type is CONTROL_APPEND is assigned.

UPDATE

INCREMENTAL_UPDATE

A default IKM whose integration type is INCREMENTAL_UPDATE and subtype is UPDATE is assigned.

INSERT_UPDATE

INCREMENTAL_UPDATE

A default IKM whose integration type is INCREMENTAL_UPDATE and subtype is MERGE is assigned.

UPDATE_INSERT

INCREMENTAL_UPDATE

A default IKM whose integration type is INCREMENTAL_UPDATE and subtype is MERGE is assigned.

DELETE

Integration type is not set; a default integration type is used.

ODI does not support DELETE DML.

NONE

Integration type is not set; a default integration type is used.

TRUNCATE_INSERT

CONTROL_APPEND

Similar to INSERT, and the KM option TRUNCATE_TARGET_TABLE (if it exists) is set to true.

DELETE_INSERT

CONTROL_APPEND

Similar to INSERT, and the KM option DELETE_ALL (if it exists) is set to true.

CHECK_INSERT

CONTROL_APPEND

Treated the same as INSERT.

Note that there is no KM option to check whether the target table is empty prior to the insert action.

DERIVE_FROM_LCR

Integration type is not set; a default integration type is used.

ODI does not support DERIVE_FROM_LCR.

C.23.1.2 Change Data Capture

The following table displays the Change Data Capture (CDC) property mappings from OWB to ODI.

OWB Property Name

Description

ODI Property Name

Note

Enabled

(IS_CDC)

Indicates if journaling is enabled for this entity.

Journalized Data Only

(JOURNALIZING_ENABLED)

Capture Consistency

(CDC_METHOD)

Change Data Capture method for this entity.

Choices: NONE, CONSISTENT, SIMPLE

Not migrated.

Change Data Capture Filter

(CDC_FILTER_CONDITION)

The boolean filtering condition that identifies the data to be processed. Any row with a false condition is not migrated.

Journalized Data Filter

(JOURNALIZED_DATA_FILTER)

Trigger Based Capture

(IS_TRIGGER_CDC)

Indicates if journaling triggers are generated for this entity.

Not migrated.

C.23.1.3 Chunking

Not migrated.

C.23.1.4 Conditional Loading

The following table displays the Conditional Loading property mappings from the OWB Table operator to the ODI Datastore component.

OWB Property Name

Description

ODI Property Name

Note

Target Filter for Update

(TARGET_FILTER_FOR_UPDATE)

A condition on the rows in the target and if evaluated to true, that row participates in the update loading operation.

Not migrated.

Target Filter for Delete

(TARGET_FILTER_FOR_DELETE)

A condition on the rows in the target and if evaluated to true, that row participates in the delete loading operation.

Not migrated.

Match by constraint

(MATCH_BY_CONSTRAINT)

Indicates whether unique or primary key information on this target will override the matching criteria obtained from the "Match by constraint" property on the attributes of this target.

Update Key

(UPDATE_KEY)

See Notes About Match By Constraint.

Notes About Match By Constraint

In OWB, the property "Match by constraint" can be set to ALL_CONSTRAINTS, NO_CONSTRAINT and a specific CONSTRAINT name (a PK or UK name of the entity).

ALL_CONSTRAINTS

If "Match by constraint" is set to ALL_CONSTRAINTS, no update key is set on the corresponding ODI Datastore component.

NO_CONSTRAINT

If "Match by constraint" is set to NO_CONSTRAINT, no update key is set on the corresponding ODI Datastore component.

Specific Constraint Name

If "Match by constraint" is set to a specific constraint name, the constraint name is used to find the corresponding key (PK or UK) in ODI that will be set as the update key.

C.23.1.5 Control CT

Migration details for Control CT (code template) mapping properties are as follows:

Primary Key, Foreign Key, Unique Key, Check Constraint

Based on the name of the Key of the OWB Table operator, if a constraint with the same name exists on the corresponding ODI Datastore component, the flow control value in OWB is migrated to the constraint value in ODI.

Not Null Attribute Property

The Not Null property is set on the attribute level. The flow control value of the OWB attribute is migrated to the Check Not Null property value on the ODI attribute.

C.23.1.6 Data Rules

Data Rules properties are not migrated.

C.23.1.7 Error Table

Error Table properties are not migrated.

C.23.1.8 SCD Updates

SCD Updates properties are not migrated.

C.23.1.9 Temp Stage Table

Temp Stage Table properties are not migrated.

C.23.1.10 Partition DML

The following table displays the Partition DML property mappings from the OWB Table operator to the ODI Datastore component.

OWB Property Name

Description

ODI Property Name

Note

DML Partition Type

(DML_PARTITION_TYPE)

Choices: NONE, PARTITION, SUBPARTITION

Not migrated.

Is Partition Indexed by Name

(IS_PARTITION_INDEXED_BY_NAME)

False if partition is indexed by partition key value; otherwise, it's indexed by partition name.

(YES/NO)

Not migrated.

DML Partition Name

(DML_PARTITION_NAME)

Uses OWB partition type and partition name to find the corresponding partition in ODI.

Partition Key Value List

(PARTITION_KEY_VALUE_LIST)

The partition key value list to search for the partition.

Not migrated.

C.23.2 Physical Properties of the Table Operator

Only those physical properties in the active configuration are considered for migration.

C.23.2.1 General Physical Properties

OWB Property Name

Description

ODI Property Name

Note

Conflict Resolution

(CONFLICT_RESOLUTION)

Detect and resolve any conflicts that may arise during DML using the LCR APIs.

(TRUE/FALSE)

Not migrated.

Optimize Merge

(OPTIMIZE_MERGE)

(TRUE/FALSE)

Not migrated.

Schema

(SCHEMA)

Not migrated.

Database link

(DATABASE_LINK)

Database link used to access this entity during mapping.

Not migrated.

Location

(DB_LOCATION)

Location, used to access the referenced entity.

Not migrated.

C.23.2.2 Hints

OWB Property Name

Description

ODI Property Name

Note

Extraction hint

(EXTRACTION_HINT)

Hint used when extracting from this table using SQL.

SELECT_HINT

Loading hint

(LOADING_HINT)

Hint used when loading into this table using SQL.

INSERT_HINT or UPDATE_HINT

Automatic hints enabled

(AUTOMATIC_HINTS_ENABLED)

Automatic hints enabled using SQL.

Not migrated.

C.23.2.3 Partition Exchange Loading

Properties of Partition Exchange Loading for the Table operator are not migrated.

C.23.3 Logical Properties of the Attributes of the Table Operator

C.23.3.1 Loading Properties

OWB Property Name

Description

ODI Property Name

Note

Load Column when Inserting Row

(LOAD_COLUMN_WHEN_INSERTING_ROW)

A boolean value to indicate whether this attribute will participate in the insert load operation.

(YES/NO)

Insert Indicator

Load when Updating Row Column

(LOAD_COLUMN_WHEN_UPDATING_ROW)

A boolean value to indicate whether this attribute will participate in the update load operation.

(YES/NO)

Update Indicator

Match Column when Updating Row

(MATCH_COLUMN_WHEN_UPDATING_ROW)

A boolean value to indicate whether this attribute will be used to construct the matching criteria between the incoming data and the existing data on the target during the update load operation.

(YES/NO)

Key indicator

See Notes About Match Column When Updating Row.

Match Column when Deleting Row

(MATCH_COLUMN_WHEN_DELETING_ROW)

A boolean value to indicate whether this attribute will be used to construct the matching criteria between the incoming data and the existing data on the target during the delete load operation.

(YES/NO)

Not migrated.

Update Operation

(UPDATE_OPERATION)

The computation to be performed on this attribute between the incoming data and the existing data on the target during the update load operation.

Choices = '=, +=, -=, =-, *=, /=, =/, =||, ||='

Not migrated.

Notes About Match Column When Updating Row

Although the property of MATCH_COLUMN_WHEN_UPDATING_ROW in OWB is migrated to KEY_INDICATOR in ODI, several rules govern how the key indicator for the ODI map attribute is set.

When the property "Match by constraint" of the OWB Table operator is set to ALL_CONSTRAINTS, the value set on the property MATCH_COLUMN_WHEN_UPDATING_ROW is not migrated, and the key indicator is set to true for the ODI attribute whose bound object is referenced by any PK/AK.

When the property "Match by constraint" of the OWB Table operator is set to NO_CONSTRAINT, the key indicator of the ODI attribute is set according to the property MATCH_COLUMN_WHEN_UPDATE_ROW of the OWB attribute. If MATCH_COLUMN_WHEN_UPDATE_ROW is set to YES, the key indicator of the ODI attribute should be set to true.

When the property "Match by Constraint" of the OWB Table operator is set to a specific constraint, an update key is set on the ODI Datastore component. The key indicator of the ODI attributes is set automatically when the update key is set.

C.23.3.2 Code Template Metadata Tags

OWB Property Name

Description

ODI Property Name

Note

UD1

(CODE_TEMPLATE_USER_DEFINED_1)

A boolean value indicating whether this attribute will be included in code template functions using the UD1 tag.

(YES/NO)

UD_1

UD2

(CODE_TEMPLATE_USER_DEFINED_2)

(YES/NO)

UD_2

UD3

(CODE_TEMPLATE_USER_DEFINED_3)

(YES/NO)

UD_3

UD4

(CODE_TEMPLATE_USER_DEFINED_4)

(YES/NO)

UD_4

UD5

(CODE_TEMPLATE_USER_DEFINED_5)

(YES/NO)

UD_5

UPD

(CODE_TEMPLATE_UPDATE)

A boolean value indicating whether this attribute will be included in code template functions using the UPD tag.

(YES/NO)

Not migrated.

SCD

(CODE_TEMPLATE_SCD)

Choices = 'SCD_UND, SCD_SK, SCD_NK, SCD_INS, SCD_UPD, SCD_FLAG, SCD_START, SCD_END'

Not migrated.

C.23.4 Migrating an Unbound Table Operator

It is recommended to make all mapping operators in OWB to be bound to the corresponding object in the project tree.

Mappings that contain an unbound Table operator are not migrated, unless the migration configuration option MIGRATE_UNBOUND_OPERATOR in the migration utility configuration file is set to true.

If the migration configuration option MIGRATE_UNBOUND_OPERATOR is set to true, a data store is created in ODI based on the unbound Table operator. The bound name of the unbound Table operator is used as the ODI datastore name. The unbound OWB Table operator is migrated to the ODI Datastore component and is bound to the newly created ODI datastore. For each unbound Table operator in a mapping, a datastore is created, even the unbound Table operators have a same bound name.

No keys are created for the datastore in ODI after the migration. This may cause issues with mapping code generation. Users need to manually fix the datastore before running the mapping.

C.24 Table Function Operator

The OWB Table Function operator is migrated to the ODI Table Function component.

OWB has a bound Table Function operator (the operator is bound to a table function) and an unbound Table Function operator, and these two kinds of operators are migrated to an unbound Table Function component in ODI. The OWB Table Function operator can have one input attribute group and one output attribute group. The attribute groups of the Table Function operator are migrated to ODI map connector points.

C.24.1 Logical Properties of the Table Function Operator

OWB Property Name

Description

ODI Property Name

Note

Table Function Name

(TABLE_FUNCTION_NAME)

Name of the table function to be called.

FUNCTION_NAME

Table Function is Target

TABLE_FUNCTION_IS_TARGET

Indicates if this table function is being used as a target operator.

Not migrated.

Even without this property, ODI still knows if this Table Function component is used as a target.

Bound Name

(BOUND_NAME)

The name to be used by the code generator to identify this operator. By default, this is the same as the operator's physical name.

Not migrated.

C.24.2 Logical Properties of the Map Attribute Group of the Table Function Operator

OWB Property Name

Description

ODI Property Name

Note

Return Table of Scalar

(RETURN_TABLE_OF_SCALAR)

Specifies whether the return of the table function is a TABLE of SCALAR.

Not migrated.

If this property is set to true in OWB, then the expression of the output attribute in ODI is set to TABLE_FUNCTION_NAME.COLUMN_VALUE.

C.24.3 Logical Properties of the Map Attribute of the Table Function Operator

OWB Property Name

Description

ODI Property Name

Note

Bound Name

(BOUND_NAME)

The name to be used by the code generator to identify this item. By default, this is the same physical name as the item.

Not migrated.

Type Attribute Name

(TYPE_ATTRIBUTE_NAME)

The name of the field of the PLS Record or attribute of the Object Type or column of the ROWTYPE that corresponds to this attribute. This property is not applicable if the return type is TABLE of SCALAR.

Contributes to the expression of the output attribute in ODI.

C.24.4 Migrating the Table Function Operator

Scenarios for the Table Function operator in OWB mappings are as follows.

C.24.4.1 Scenario 1: Table Function operator acts as source, no input map attribute group, only return group (output attribute group).

OWB mapping:

Mapping in ODI after migration:

The OWB output attribute group RETURN is migrated to the output connector point RETURN in ODI.

OWB output attributes in the group RETURN are migrated to output attributes in the connector point RETURN in ODI.

C.24.4.2 Scenario 2: Table Function Operator has one input attribute group and one output attribute group, data type of input attributes is scalar

OWB mapping:

Mapping in ODI after migration:

The operator CONSTANT_1 is not migrated. The expressions on its attributes are migrated to the ODI Table Function component attribute.

The OWB input attribute group INGRP1 of the Table Function operator is migrated to the input connector point INGRP1 in the ODI Table Function component. Attributes in the group INGRP1 are migrated to attributes in the connector point INGRP1. The property PARAMETER_TYPE of the input connector point INGRP1 is set to SCALAR.

The OWB output attribute group RETURN is migrated to the output connector point RETURN in ODI. Attributes in the group RETURN are migrated to attributes in the connector point RETURN. If the property RETURN_TABLE_OF_SCALAR of the output attribute in OWB is set to true, the expression of the corresponding output attribute in ODI is set to TABLE_FUNCTION_NAME.COLUMN_VALUE.

C.24.4.3 Scenario 3: Table Function operator has one input attribute group and one output attribute group, some data types of input attributes are REF_CURSOR

The following figure shows an OWB mapping for which the data type for attribute C in the operator TF_INREF_INSCA_REFREC is a PL/SQL Ref Cursor type, and the operator REF1 is responsible for constructing the Ref cursor.

If the input attribute group contains one or more REF_CURSOR type attributes in the Table Function operator in OWB, an input connector point is added for each REF_CURSOR type in ODI. If the REF_CURSOR type is constructed by a Constructed operator in OWB, the input attribute group of the Construct operator is used to define the REF_CURSOR input connector point for the Table Function component in ODI.

In this scenario, the OWB mapping in the preceding figure is migrated to the ODI mapping in the following figure:

Source TFO_SRC_T2 is connected to TF_INREF_INSCA_RETREC through the input connector point INGRP1. The property PARAMETER_TYPE of INGRP1 is set to REF_CURSOR. The property PARAMETER_TYPE of INGRP11 is set to SCALAR.

C.25 Transformation Function Operator

The OWB Transformation Function operator is migrated to the ODI Expression component.

C.25.1 Properties of the Transformation Function Operator

OWB Property Name

Description

ODI Property Name

Note

Scalar Type

Return Type

Attribute under the output connector point.

1. The OWB output group RETURN is migrated as the ODI Expression's output connector point RETURN.

2. The OWB output parameter VALUE is migrated as the ODI attribute VALUE under the RETURN connector point.

3. The attribute's expression is migrated as it is in OWB (kept unchanged).

Input parameters

(INPUT)

Accessed by the return attribute's expression field, for example: simpleFunc(INPUT.COL1,INPUT.COL2)

Migrated as the ODI Expression component's attributes under INPUTGROUP.

Output parameters

(OUTPUT)

Not migrated.

Input/Output parameters

(INPUT_OUTPUT)

Not migrated.

Function Return Output parameters

Migrated as the ODI Expression component's attributes under OUTPUT GROUP.

If a given Transformation Function operator contains multiple Function Return attributes (at least two), the transformation operator is not migrated.

Note:

Additional migration notes:

- If the OWB Transformation Function operator is configured as ROW BASED, the operator is not migrated.

- If the OWB Transformation Function operator has attributes of the BLOB, SYS_ANYDATA or XMLTYPE complex data types, the operator is not migrated.

- Multiple output attributes defined as Function Return are not migrated.

C.25.2 Logical Properties of the Transformation Function Operator

OWB Property Name

Description

ODI Property Name

Note

Function Name

(FUNCTION_NAME)

Name of the transformation to be called.

Used to generate the expression on the ODI output attribute.

Not migrated if Function Name is empty.

Row-based only

(ROW-BASED_ONLY)

Indicates if this transformation must be used in row-based mode only. Some transformations can be used in SQL mode and row-based mode.

Not migrated.

Return type

(RETURN_TYPE)

Return type for public transforms with UNSPECIFIED data type.

Not migrated.

Bound Name

(BOUND_NAME)

Name to be used by the code generator to identify this operator. By default, this is the same as the operator's physical name.

Not migrated.

Function Expression Holder

(FUNCTION_PLATFORM)

Function platform name.

Not migrated.

C.25.3 Physical Properties of the Transformation Function Operator

OWB Property Name

Description

ODI Property Name

Note

Schema

(SCHEMA)

Not migrated.

Database Link

(DATABASE_LINK)

Database link used to access this entity during mapping.

Not migrated.

Location

(DB_LOCATION)

Location, used to access the referenced entity.

Not migrated.

C.25.4 Properties of the Map Attribute Group of the Transformation Function Operator

OWB Property Name

Description

ODI Property Name

Note

Expression Inout

(EXPRESSION_INOUT)

Condition that defines when to perform the attribute maps for the attributes in this group.

Not migrated.

Expression Out

(EXPRESSION_OUT)

Condition that defines when to perform the attribute maps for the attributes in this group.

Not migrated.

C.25.5 Properties of the Map Attribute of the Transformation Function Operator

OWB Property Name

Description

ODI Property Name

Note

Is Optional

(IS_OPTIONAL)

If true, the input is not required to be connected.

Not migrated.

Default Value

(DEFAULT_VALUE)

Default Value for the function input parameter.

Not migrated.

Function Return

Specifies whether this output is the return value of this function.

If this property is set to true, the owning attribute is migrated to the ODI output attribute of the Expression component.

C.26 Unpivot Operator

The OWB Unpivot operator is migrated to the ODI Pivot component.

Note that the operation carried out by the OWB Unpivot operator is the same as the ODI Pivot component, and the operation carried out by the OWB Pivot operator is the same as the ODI Unpivot component.

C.26.1 Properties of the Unpivot Operator

C.26.1.1 General Properties

OWB Property Name

Description

ODI Property Name

Note

Business Name

(LOGICAL_NAME)

Business Name

(BUSINESS_NAME)

Physical Name

(NAME)

Name

(NAME)

If the OWB name includes the string "unpivot", it is changed to "pivot".

C.26.1.2 Row Locator

The Row Locator of the OWB Unpivot operator is migrated to the value of the Row Locator property of the ODI Pivot component.

The expression of the Row Locator in OWB must be redirected so that it references the attribute of the upstream source during migration.

Row Locator values in OWB are migrated to Row Locator values in ODI.

Row Locator and Row Locator values in ODI are as follows:

C.26.2 Map Attribute Group and Map Attribute

Map attribute groups of the OWB Unpivot operator are migrated to connector points of the ODI Pivot component. No specific properties for the attribute group of the Pivot operator need to be migrated.

Input attributes of the OWB Pivot operator are not migrated.

Output attributes are migrated. Name, Data Type, Length, Precision, Scale, Second Precision, and Description are general properties described in Mapping Attribute.

Properties in the Unpivot transform are as follows:

The matching row of the output attribute in OWB is migrated to the matching row of the output attribute in ODI. The expression of the output attribute in OWB is migrated to the expression of the output attribute in ODI. The expression must be redirected to reference the attribute of the upstream source.

The following figure shows these properties in ODI:

C.27 View Operator

The OWB View operator is migrated to the ODI Datastore component.

C.27.1 Logical Properties of the View Operator

C.27.1.1 General Properties

OWB Property Name

Description

ODI Property Name

Note

Bound Name

(BOUND_NAME)

If the OWB View operator is bound to a view, the ODI Datastore component is bound with the corresponding data store.

Primary Source

(PRIMARY_SOURCE)

A boolean value to indicate whether this is a primary source (only used in EDW).

(YES/NO)

Not migrated.

Keys

(KEYS_READONLY)

Not migrated.

Inlined

(INLINED)

If true, the view source in the generated code is inlined from the stored view query.

See the View Query property in this table.

View Query

(VIEW_QUERY)

The view query for the View operator, used if the INLINED property is set to true.

If INLINED is set to true, View Query is migrated to the CUSTOM_TEMPLATE option of the KM.

Loading Type

(LOADING_TYPE)

Choices = "INSERT, UPDATE, INSERT_UPDATE, UPDATE_INSERT, DELETE, NONE, TRUNCATE_INSERT, DELETE_INSERT, CHECK_INSERT, DERIVE_FROM_LCR"

INTEGRATION_TYPE

Same as for the Table operator. See Notes About Loading Type.

Target Load Order

(TARGET_LOAD_ORDER)

Map targets names in loading sequence.

Not migrated.

C.27.1.2 Change Data Capture

Same as for the Table operator. See Change Data Capture.

C.27.1.3 Chunking

As with the Table operator, properties for Chunking are not migrated.

C.27.1.4 Conditional Loading

Same as for the Table operator. See Conditional Loading.

C.27.1.5 Data Rules

As with the Table operator, properties for Data Rules are not migrated.

C.27.1.6 Error Table

As with the Table operator, properties for Error Table are not migrated.

C.27.1.7 SCD Updates

As with the Table operator, properties for SCD Updates are not migrated.

C.27.1.8 Temp Stage Table

As with the Table operator, properties for Temp Stage Table are not migrated.

C.27.2 Physical Properties of the View Operator

Same as for the Table operator. See Physical Properties of the Table Operator.

C.27.3 Logical Properties of the Attributes of the View Operator

Same as for the Table operator. See Logical Properties of the Attributes of the Table Operator.

C.27.4 Migrating an Unbound View Operator

Same as for the Table operator. See Migrating an Unbound Table Operator.

D Special Migration Cases

This appendix provides examples of special migration cases.

The following topics are addressed here:

D.1 Tables with Multiple Primary Keys

You can find out more information on how OWB tables with multiple primary keys are migrated to ODI data stores.

OWB tables are migrated to ODI data stores. In OWB, tables can have multiple primary keys. In ODI, data stores can have only one primary key. In the case of multiple primary keys, the first primary key is migrated as the primary key in ODI, and the others are migrated as alternate keys.

When this situation occurs, the following warning message is written to the migration utility log file:

{0}:{1} has multiple primary keys. Only one primary key is allowed in ODI, the redundant primary keys will be migrated as alternate keys.

D.2 Special Cases for Mappings

You can find out more information on how OWB mappings are migrated to ODI.

Some OWB mappings have different graph structures after they are migrated to ODI. The migration utility attempts to migrate OWB mappings to ODI as closely as possible, but in some cases the resulting ODI mappings may not correspond to the original OWB mapping structure.

The following special cases for mappings are addressed here:

D.2.1 Two Operators Connected to Same Downstream Operator

The following figure shows an OWB mapping for which operators EMP and EXPRESSION are both connected to operator TGT_EMP through the same map attribute group INOUTGRP1. This is not allowed in ODI, because each input connector point in ODI can only be connected once.

The OWB mapping in the preceding figure is migrated to the ODI mapping in the following figure.

D.2.2 Multiple Operators Connected From and To Same Operator

The following figure shows an OWB mapping for which operators FILTER and EXPRESSION are both connected to operator TGT_EMP through the same map attribute group INOUTGRP1. This is not allowed in ODI.

During migration, the FILTER and EXPRESSION operators are chained together to ensure that only one is connected to TGT_EMP. As a result, the ODI mapping may be EMP > FILTER > EXPRESSION > TGT_EMP or EMP > EXPRESSION > FILTER > TGT_EMP.

The OWB mapping in the preceding figure is migrated to the ODI mapping in the following figure.

D.2.3 Lookup Operator Has a Constant as Input

The following figure shows an OWB mapping for which the Lookup operator has no upstream source operator, and is only connected from a constant.

The OWB mapping in the preceding figure is migrated to the ODI mapping in the following figure (DEP is the lookup table of the Lookup operator).

The constant operator CONSTANT in the OWB mapping is not migrated to any map component in ODI. Instead, the expression of the constant attribute is migrated, and that expression is set on the Lookup component.

For example, in OWB, if the expression of the attribute CONSTANT.OUTGRP1.NO is set to 5, and the lookup condition of LOOKUP_DEPT is OUTGRP1.DEPTNO = INGRP1.NO, then after migration the lookup condition of LOOKUP_DEPT in ODI is DEP.DEPTNO = 5.

D.2.4 Lookup Operators Have No Driver Table (Mapping Is Invalid)

The following figure shows an OWB mapping for which several Lookup operators are connected to operator TGT_EMP, but some of the Lookup operators have no upstream operators as driver tables. This mapping is invalid, but will also be migrated. All Lookup operators are chained together to ensure that only one is connected to TGT_EMP.

The OWB mapping in the preceding figure is migrated to the ODI mapping in the following figure.

D.2.5 Multiple Operators Connected to Same Operator, Some with No Upstream Source

The following figure shows an OWB mapping for which two operators are connected to the same operator TGT_EMP. The EXPRESSION operator has an upstream source operator, while the JOINER operator does not. Only one map component can be connected to TGT_EMP in ODI. As a result, the operator with no upstream source operator will lose the connection to TGT_EMP.

The OWB mapping in the preceding figure is migrated to the ODI mapping in the following figure.

D.2.6 Multiple Operators Connected to Same Operator, All with Different Upstream Operator

The following figure shows an OWB mapping for which two operators are connected to the same operator TGT_EMP. Both operators have an upstream operator. Only one map component can be connected to TGT_EMP in ODI. As a result, one operator will lose the connection to TGT_EMP.

The OWB mapping in the preceding figure is migrated to one of the ODI mappings in the following figures.

-or-

D.2.7 Pluggable Mapping Operator with only Constant as Input

The following figure shows an OWB mapping for which the pluggable mapping operator has no upstream source operator, and is only connected from a constant. Such kind of mapping may work in OWB.

The OWB mapping in the preceding figure is migrated to the ODI mapping in the following figure.

The constant operator CONSTANT in the OWB mapping is not migrated to any map component in ODI. Instead, the expression of the constant attribute is migrated, and that expression is set on the attribute of the reusable mapping component. Such ODI mapping has execution issue and it needs to be manually fixed after migration.

E Known Issues and Solutions

This appendix lists the known issues and their solutions.

This appendix contains the following topics:

E.1 Known Issues and Solutions

You can find out more information on the known issues during migration and how to work around these issues.

The following are the issues are known at the time of the release. This section also provides the solutions to work around these issues.

1. Symptom: The OWB to ODI Migration Utility does not migrate the comments from OWB Joiner Condition to ODI Joiner Condition.
Solution: Comments are migrated when the OWB Mapping is not ANSI. Otherwise, the comments are filtered out and not migrated. If you need Joiner comments to be migrated over for OWB mapping that is ANSI, you can use the migration configuration property SPLIT_JOIN_FOR_ANSI_SYNTAX=false and migrate the mapping again.

2. Symptom: A misspelled configuration parameter has been added to the configuration file. The Migration Utility execution does not report/list the misspelled configuration parameter in the generated log files.
Solution: Check carefully the properties name in the migration utility configuration file.A sample configuration file is provided in the following location.

<owb_home>/owb/bin/admin/migration.config

3. Symptom: After having migrated OWB mappings to ODI using the OWB-ODI Migration Utility, ODI generates database links for mappings that have source and target table in the same Oracle database.
Cause: This is not a bug. In OWB, when having e.g. a mapping with one source and one target in the same database but in different schemas, one location is required for every schema. When these two locations are migrated using the migration utility, the utility will create two data servers in topology. However, when ODI generates code for a mapping having source and target from different data servers, ODI will generate a database link to the source. The disparity in the code generated in ODI when compared with OWB is coming from the conceptual differences about how connections and schemas are described in OWB and ODI. The semantics and assumption in ODI is that if two physical schemas are under different data servers, these two physical schemas are always considered to be in different database instances. As a result, ODI will create two execution units in the ODI mapping and thus a database link will be used to access the source table. This is the expected behavior in ODI. The OWB-ODI migration utility is also behaving as designed. Since it is possible in OWB to have multiple locations with the same host/post/service name information but different user or schema, this will result in having multiple data servers with the same JDBC URL in ODI after migration.

Solution: Do the following:

- Create a new physical schema (pointing to the source) under the dataserver of the target.

- Change the context for the logical schema for the original source to make it point to the new physical schema.

4. Symptom: The Migration Utility fails to migrate OWB mappings containing the Data Generator operator. The Data Generator operator is used to introduce constants or sequences into a SQL*Loader mapping.
migration.log shows:

--------START MIGRATE MAPPING MAP1_DATA_GENERATOR.

------------[ERROR][Migration][MU-5001]Unable to migrate mapping with mapping operator DATA_GENERATOR:DATA_GENERATOR.

--------FAILED MIGRATE MAP1_DATA_GENERATOR.

The Migration Utility does not support upgrading OWB mappings that contain the Data Generator operator.

Solution:

- Before migrating, remove the Data Generator operator from the OWB mapping.

- Migrate the mapping from OWB to ODI.

- After migration add a constant or sequence (depending on the way the Data Generator was used) to the ODI mapping.

5. Symptom: When attempting to migrate an OWB Project with only a few selected objects into ODI 12c the result in unexpected.Instead of migrating in a 1 to 1 manner (for example to MY_PROJECT), the operation creates a new Project (ex MY_PROJECT_0) in ODI.
Solution: A new value for parameter MIGRATION_STRATEGY has been introduced in migration utility for ODI 12.1.3 and above. Change the MIGRATION_STRATEGY parameter from CREATE to NODUP.

6. Symptom: The OdiStartOwbJob utility is used to execute Oracle Warehouse Builder objects (e.g. mappings, process flows) from within Oracle Data Integrator and to retrieve the execution audit data into Oracle Data Integrator. Trying to configure OdiStartOwbJob, the Location listbox shows the location PlatformSchema. However all other locations are missing. Also a situation might occur where location PlatformSchema is listed together with only a subset of locations that can be seen in the OWB Design Client.
Cause: The location listbox of the OdiStartOwbJob utility, shows only locations that are registered in the OWB Control Center. Locations that are only registered in the Design Center are not listed by OdiStartOwbJob.

Solution:

- Start OWB 11.2.0.4 Design Client and login to the OWB Repository.

- Open the Control Center and register locations (target locations, process flow locations) that are missing in the listbox of the OdiStartOwbJob utility.

- Exit from the OWB Design Client.

- Start ODI 12c Studio and login to the ODI Repository.

- Open the Package where OdiStartOwbJob is being used and verify that the location listbox of OdiStartOwbJob shows the registered locations.

7. Symptom: The OdiStartOwbJob utility is used to execute Oracle Warehouse Builder objects (e.g. mappings, process flows) from within Oracle Data Integrator and to retrieve the execution audit data into Oracle Data Integrator.
Starting an ODI package containing OdiStartOwbJob fails with:

ODI-13702: Unexpected error when connecting to OWB workspace OWB_WORKSPACE_OWNER.OWB_WORKSPACE_NAME.

StatementCallback; bad SQL grammar [SELECT LOCATION_NAME, LOCATION_TYPE, LOCATION_TYPE_VERSION FROM OWBSYS.OWB_ODI_LOCATIONS]; nested exception is java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist.

Solution:

a. Check if required privileges are missing.
Using the query below, check if required privileges are missing:

connect owbsys/<password>

set lines 130

SELECT grantee,

table_name,

privilege

FROM user_tab_privs

WHERE table_name IN ( 'OWB_ODI_LOCATIONS', 'OWB_ODI_TASKS',

'OWB_ODI_TASK_PARAMETERS', 'OWB_SNP_SESSIONS',

'OWB_SNP_SESS_STEPS', 'OWB_SNP_SESS_TASKS',

'WB_RT_ODIAUDIT' );

b. Grant required privileges.
When required privileges are missing, grant the correct privileges using following grants:

connect owbsys/<password>

grant execute on wb_rt_odiaudit to OWB_USER;

grant select on owb_odi_locations to OWB_USER;

grant select on owb_odi_tasks to OWB_USER;

grant select on owb_odi_task_parameters to OWB_USER;

grant select on owb_snp_sessions to OWB_USER;

grant select on owb_snp_sess_steps to OWB_USER;

grant select on owb_snp_sess_tasks to OWB_USER;

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2017, Oracle and/or its affiliates. All rights reserved.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Pre-General Availability Draft Documentation Notice

If this document is in public or private pre-General Availability status:

This documentation is in pre-General Availability status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Private Pre-General Availability Draft Documentation Notice

If this document is in private pre-General Availability status:

The information contained in this document is for informational sharing purposes only and should be considered in your capacity as a customer advisory board member or pursuant to your pre-General Availability trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.

This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle Master Agreement, Oracle License and Services Agreement, Oracle PartnerNetwork Agreement, Oracle distribution agreement, or other license agreement which has been executed by you and Oracle and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.