Skip to main content

Migrating to IBM database servers gets easier with the latest MTK release

New features in the IBM Migration Toolkit V1.4

Hemant Bhatia, Software Engineer, IBM, Software Group
Hemant Bhatia is a Software Engineer at IBM's Lenexa lab. He has worked on IBM's Informix 4GL, Informix classic databases, DB2 Information Integrator, and IBM Migration Toolkit.
Nicholas Geib, Software Engineer, IBM, Software Group
Nicholas Geib is a Software Engineer at IBM's Lenexa lab working on the IBM Migration Toolkit.

Summary:  The free-of-charge Migration Toolkit (MTK) has long been a powerful tool for moving from non-IBM databases to IBM products. In December 2005, a new version of MTK was released, and it includes a number of new capabilities. It supports two new target databases (Informix® Dynamic Server (IDS) and DB2® Universal Database™ (UDB) for z/OS®), gives you the ability to migrate from Sybase SQL Anywhere, and includes support for migrating additional Oracle datatypes. This article highlights these new features.

Date:  23 Mar 2006
Level:  Introductory
Activity:  965 views

Contents

Read about the following new features of MTK V1.4:

Migrating Oracle/Sybase SQL Anywhere to Informix Dynamic Server

This section of the article describes the five-step process to be followed while migrating to Informix Dynamic Server databases.

Before performing the five-step migration process, create a new project with either Oracle or Sybase SQL Anywhere as the source and Informix Dynamic Server as the target.

Step 1: Specify source

MTK provides you the ability to either extract the source objects directly from the source database or import scripts containing SQL to be translated. For Informix Dynamic Server as the target, source extraction is supported only through a JDBC™ connection. Make sure that your system CLASSPATH contains the source JDBC driver before using MTK for extraction from a source database.

For the purpose of this article, you will extract a simple table from an Oracle database. If you have SQL already existing in a file, you can convert that by importing it.

If you are extracting objects directly from the source, provide the necessary information for connecting to the source after clicking the extract button. The panel that comes up shows the information from the Oracle source database that you are accessing. You can select the tables that you want to migrate and extract the DDL into a file. Currently MTK V1.4 does not support migration of Oracle Procedures/Functions, triggers, and packages to Informix. Support for migrating these to Informix is planned for future releases.


Figure 1. Source database Extraction Panel

Step 2: Convert

After extracting the data into the file, click on the Convert tab. Here you can view the Oracle information extracted into the file. This script will be converted to a script usable by IDS by pressing the convert button. Before converting, you can change the default mappings of Oracle data types to any of their allowable IDS mapping by clicking the Global Type Mapping button. The Advanced Options can be used to change the format of the converted output. The Set Context button provides the user the ability to select a context file that has the information on which the file being converted depends.

After MTK has converted the Oracle file, an IDS (.ids) file and a report (.rpt) file are generated. The .ids file contains the IDS DDL statements that were translated from Oracle DDL statements during the conversion. The report file contains a list of errors that were identified during the conversion. The Refine page that opens after the conversion allows the user to view these files. This is discussed in the following section.


Figure 2. Convert Panel

Step 3: Refine

The Refine panel allows the user to view the translated output, locate error messages, and make changes to the converted file. These changes can be made by clicking on either the source (Oracle) or target (IDS) tabs. If you do make any changes in this step, you will have to redo the Convert step for these changes to take effect in the translated file.


Figure 3. Refine Panel

Step 4: Generate data transfer scripts

The Generate Data Transfer Scripts panel allows you to generate scripts for extracting data and lets you select the client with which you want to deploy the SQL scripts and the generated data to the target server. The scripts for the Informix target currently generated by MTK V1.4 can only be deployed using the MTK GUI. Manual deployment using the generated scripts is not supported. The available clients through which you can deploy to the Informix target client are JDBC and DBACCESS. The Informix JDBC driver is currently shipped with the MTK. If you plan to use DBACCESS, you need to run MTK on a machine that has the environment set up for running DBACCESS. For the purposes of this article, JDBC was used for DDL and data deployment to Informix Dynamic Server. Clicking the Next button lets you create files for deployment.


Figure 4. Generate Data Transfer Scripts panel

Step 5: Deploy to target

This is the final step in migration of a database from a source to the Informix target. In this step, the MTK provides you the ability to deploy the DDL, extract the data, and load the data into the target database.

For Informix as the target, you will have to provide the following information:

  • Host Name: The machine on which you have Informix server deployed.
  • Port: The port number for your Informix server.
  • Server Name: The name of the Informix server in which your database will be deployed. This is the same as the value of the INFORMIXSERVER environment variable on the machine on which you have Informix server installed.
  • Database Name: The name of the database to which you want to deploy the DDL and the data. Currently MTK supports deployment to Informix ANSI databases only.

The Advanced options button also lets you specify the DB_LOCALE and the CLIENT_LOCALE of your Informix database. If you want to either create a new database or recreate an exiting Infrmix database select the (Re)create option. You will then have to specify the credentials to be used on the Informix server to which you want to deploy your DDL and data. The MTK provides you the ability to deploy the DDL, extract data and load the data into the target database.

After filling in the required fields, click the Deploy button. This will deploy the data to your target server. A verification report will be generated which can be used to check for any problems with the deployment. This report indicates the number of source database objects deployed to Informix target database.

Tip: If you are using DBACCESS for deployment to Informix and you machine is not a trusted client, MTK will prompt you for a password during the deployment process. You will need to provide the same password as you did in the credentials on the Deploy panel.


Figure 5. Deploy to target panel

Target database: DB2 UDB for z/OS

MTK V1.4 supports migrations to a second new target, DB2 UDB for z/OS. Migrating to DB2 UDB on this IBM mainframe platform previously required using a separate, beta product. With a successful beta period now complete, IBM can incorporate support for migrations from Oracle 8i, 9i, and 10g to DB2 UDB for z/OS Version 8 into MTK V1.4.

When migrating to DB2 UDB on z/OS opposed to non-mainframe systems, there are a number of unique setup requirements. DB2 must be configured to support Java™ user-defined functions and procedures, which requires special workload manager (WLM) support. Additionally, an FTP server must run on the mainframe. Since the z/OS platform uses the EBCDIC file format instead of ASCII, which is common for servers running the Oracle database, the source data format must be converted. During the data deployment step MTK uses the z/OS FTP server's built-in ASCII-EBCDIC conversion when required to transform data to the z/OS-native format. Further, resource recovery services (RRS) must be properly configured. Please reference DB2 UDB for z/OS documentation for details (see Resources). Finally, and just as in non-z/OS targets, the DB2 server must be cataloged on the machine from which MTK is run.

Migrating to DB2 UDB for z/OS occurs through the familiar five-step process, as referenced above: 1) Specify the Source, 2) Convert, 3) Refine, 4) Generate Data Transfer Scripts and 5) Deploy. MTK presents the same user interface for steps one through three, regardless of your chosen target database. However, there are user interface differences in the fourth and fifth steps. Let's take a look at what's changed when migrating to DB2 UDB for z/OS.

Generate data transfer scripts

Figure 6, below, is a screenshot of the tab for the Generate Data Transfer Scripts step. You are presented with three options for the location of Oracle data that will be extracted. Choose to store the data on the zSeries® system (option 1 or 3) when you're ready to migrate. The second option is only meant to provide a local copy of the table contents. Next, fill in the root DSN, which relates to where the data files will be stored on the z/OS machine before importing into DB2. Check with your the z/OS administrator for the proper value, if required. Then click Create Scripts.

In comparison to DB2 UDB for Linux®, UNIX® and Windows® migrations, there are fewer options on this panel. MTK always loads data to DB2 UDB for z/OS using the LOAD utility with the REPLACE option. An IMPORT utility is not available on z/OS. Also, since LOAD requires that data files be placed on the EBCDIC z/OS machine, the ASC or DEL file format choices presented in the Linux/UNIX/Windows context are irrelevant.


Figure 6. z/OS Generate Data Transfer Scripts panel

Deploy to target

The last step in the migration process brings you to the tab shown in Figure 7, below. This tab has a number of new fields due to the design of DB2 UDB for z/OS. Enter the name of the DB2 server as it appears in your local catalog and your credentials. Then specify up to two different workload managers responsible for user-defined functions and stored procedures, according to the z/OS configuration. Next enter the appropriate FTP information, especially the volume name. Clicking Advanced Allocations for Load allows you to specify non-default volumes for LOAD auxiliary files such as SYSUT1 and SYSERR. Finally, check any appropriate combination of the bottom three checkboxes and click the Deploy button.


Figure 7. z/OS Deploy to Target panel

Support for migration from Sybase SQL Anywhere databases

MTK V1.4 provides limited support for migrating Sybase SQL Anywhere version 9 (ASA) databases to Informix Dynamic Server. It also provides significant support for migrating Sybase SQL Anywhere version 9 databases to DB2 UDB for Linux, UNIX, and Windows databases. The steps to be followed for migrating from Sybase ASA to either Informix or DB2 UDB for Linux, UNIX, and Windows are same as noted above. For migrating to Informix, DDL and data extraction from the Sybase ASA database is only supported using JDBC. For DB2 UDB for Linux, UNIX, and Windows as the target, you can use either JDBC or ODBC. For extracting from Sybase ASA databases, JConnect 5_2 or later must be installed and accessible through the system $PATH and $CLASSPATH.

Oracle TIMESTAMP

An additional feature of MTK 1.4 is the support for the Oracle data type TIMESTAMP. Introduced in Oracle 9i, TIMESTAMP supports an optional precision ranging from 0 to 9. Further, TIMESTAMP can be used with either of two optional clauses: "WITH TIME ZONE" and "WITH LOCAL TIME ZONE".

MTK converts an Oracle TIMESTAMP of any precision to DB2 as a TIMESTAMP with precision of 6. When the target is IDS, TIMESTAMP is converted to DATETIME with precision of 5. Translation of the "WITH TIME ZONE" and "WITH LOCAL TIME ZONE" clauses is not supported to any target.


Resources

Learn

Get products and technologies

About the authors

Hemant Bhatia is a Software Engineer at IBM's Lenexa lab. He has worked on IBM's Informix 4GL, Informix classic databases, DB2 Information Integrator, and IBM Migration Toolkit.

Nicholas Geib is a Software Engineer at IBM's Lenexa lab working on the IBM Migration Toolkit.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Information Management
ArticleID=106270
ArticleTitle=Migrating to IBM database servers gets easier with the latest MTK release
publish-date=03232006
author1-email=bhatiah@us.ibm.com
author1-email-cc=
author2-email=njgeib@us.ibm.com
author2-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers