2 Preparing to Migrate

This chapter lists migration requirements and describes how to create the configuration file used for migration.

The following topics are addressed here:

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

  • 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 higher.

    If you have the standalone version of OWB, there is no need to set the JAVA_HOME environment.

  • 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.

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:

Non supported systems graphic

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.

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:

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.

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.

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

ODI_MASTER_DRIVER=<JDBC_driver_name>

Yes

JDBC driver used to connect to the ODI master repository.

The default value is oracle.jdbc.OracleDriver

ODI_USERNAME=<user_name>

Yes

Supervisor user name for ODI.

The default value is SUPERVISOR.

ODI_WORK_REPOSITORY_NAME=<user_name>

Yes

User name used to connect to the ODI work repository.

The default value is WORKREP1.

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>

Yes

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.


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.oracle.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