IBM Books

Quick Beginnings


Migrating Instances

This procedure describes how to migrate DB2 instances that were created using a previous version of a DB2 product.

Before you can migrate an instance to use the latest version of DB2, you must install DB2 Version 5 on your system.

* Figure hint not displayed.

If there are several DB2 instances using previous versions of DB2 products, you do not need to migrate all of these instances at this time. Instances, that are not migrated, will continue to use previous versions of DB2 products.

Each DB2 instance must be migrated separately. To successfully migrate a DB2 instance, you need to perform the following steps:

Note:If you want to migrate several instances, you must repeat these steps for each instance.

Prepare the DB2 Instance for Migration

Before you can migrate a DB2 instance, all applications using any databases, owned by this instance, must be completed or terminated. To prepare a DB2 instance for migration, you need to perform the following steps:

  1. Log in as the DB2 instance.

  2. Ensure that there are no applications using any databases owned by this DB2 instance.

  3. Stop all database server processes owned by the DB2 instance by issuing the db2stop command.

  4. Stop the DB2 license daemon by issuing the db2licd end command.

  5. Stop all command line processor sessions by issuing a db2 terminate command in each session that was running the command line processor.

    The DB2 instance is now ready for migration.

  6. Log out as the DB2 instance.

Verify that Databases Can Be Migrated

Version 5 of DB2 provides the db2ckmig migration tool. This tool verifies whether all cataloged databases can be migrated. The db2imigr command in "Migrate the DB2 Instance" uses the db2ckmig command to verify whether the cataloged databases can be migrated. However, to ensure that you can migrate all databases to Version 5, you should run the db2ckmig program before you migrate the instance.

You must correct errors reported by this program before continuing with instance migration. For detailed information about the db2ckmig program, refer to the Version 5 Command Reference .

For example, to verify that all cataloged databases can be migrated, log in as the instance owner and use the following command:

   DB2DIR/instance/db2ckmig -e -a SERVER -1 INSTHOME/migration.log


where DB2DIR = /usr/lpp/db2_05_00 on AIX


= /opt/IBMdb2/V5.0 on HP-UX or Solaris

and INSTHOME is the home directory of the instance.

Check the log file, INSTHOME/migration.log. If it shows any errors, see Table 11 for suggested corrective actions.
Note:The log file displays the errors that occur when you run the db2ckmig program. Check that the log is empty before continuing with the instance migration. Backup the database after making corrections.

Table 11. Correcting Error Messages
Error Action
A database is in Backup pending state Perform a backup of the database.
A database is in Roll-forward pending state Recover the database as required; perform or resume a Roll-forward Database to end of log and stop.
Table space ID not in normal state Recover the database and table space as required; perform or resume a Roll-forward Database to end of logs and stop.
A database is in Database transaction inconsistent state Restart the database to return it to a consistent state.
The database contains database objects that have a schema name of SYSCAT, SYSSTAT, or SYSFUN These schema names are reserved for the Version 5 database manager. To correct this error, do the following:
  1. Back up the database.
  2. Export the data from the database object (catalogs or tables).
  3. Drop the object.
  4. Recreate the object with the corrected schema name.
  5. Import/Load the data into the object.
  6. Run db2ckmig against the database again, ensuring that the database passes the db2ckmig check.
  7. Make a backup copy of the database.
The database contains database objects that have a dependency on the SYSFUN.DIFFERENCE function. Possible violated database objects are:
  • Constraint
  • Function
  • Trigger
  • View
The SYSFUN.DIFFERENCE function must be dropped and recreated during database migration. However, if there is a database object that is dependent on this function, migration will fail. To ensure that database migration is successfully completed and correct this error, do the following:

Constraint
Issue the alter table command to drop the constraint.

Function
Issue the drop function command to drop the function dependent on SYSFUN.DIFFERENCE.

Trigger
Issue the drop trigger command to drop the trigger.

View
Issue the drop view command to drop the view.
Note:Any package dependent on SYSFUN.DIFFERENCE will be marked inoperative after migration. Therefore, the db2ckmig program will not report any package that is dependent on the SYSFUN.DIFFERENCE function.

All local databases now have the same authentication type as the instance where they reside; the authentication type in the database directory is ignored by DB2 Version 5 servers. If a warning is logged due to a conflicting authentication type, and you want a database to retain its previous authentication type, then you can do one of the following:



* Figure hint not displayed.

Before changing the authentication type of the instance, you should make sure that the new authentication type will be appropriate for all databases residing there. Be certain to consider the security implications of the different authentication types.

If there are databases that you do not want to migrate, you can uncatalog them (along with all aliases); db2ckmig does not perform any verification of uncataloged databases.

  

Refer to the Administration Guide for more information about the actions required to correct these conditions.

Migration Considerations for the User Exit Program



* Figure hint not displayed.

Follow these instructions if you are using the user exit program, db2uexit, with previous versions of DB2.

DB2 Version 5 has changed the interface it uses to invoke the user exit program to archive and retrieve log files. These new interfaces are documented in the Administration Guide . The name for the user exit program has changed to db2uext2 in Version 5; in previous versions, it was called db2uexit.

The following should be considered before migrating instances:

At a convenient time, you should modify your user exit program to use the new Version 5 interfaces. The new user exit program should replace db2uext2 in the INSTHOME/sqllib/bin directory, used to support the pre-version 5 user exit program, db2uexit, which should be removed.

Migrate the DB2 Instance



* Figure hint not displayed.

Only local cataloged databases, owned by the DB2 instance, are checked for migration. Uncataloged databases may be unusable after the instance has been migrated.

After an instance is ready for migration, use the db2imigr command to migrate the instance. You need to perform the following steps:

  1. Log in as root.

  2. Run the db2imigr command as follows:
       DB2DIR/instance/db2imigr [-d] [-a AuthType] [-u fencedID] InstName
    


    where DB2DIR = /usr/lpp/db2_05_00 on AIX


    = /opt/IBMdb2/V5.0 on HP-UX or Solaris

    and where:

    -d
    Sets the debug mode that you can use for problem determination

    -a AuthType
    Is an optional parameter that specifies the authentication for the instance. Valid authentication types are SERVER, CLIENT, and DCS. If the -a parameter is not specified, the authentication type defaults to SERVER, if a server product is installed. Otherwise, the AuthType is set to CLIENT.

    Notes:

    1. The authentication type of the instance applies to all databases owned by the instance.

    2. Authentication type, DCE, is valid. However, it is not valid to choose DCE as an AuthType for this command. To enable DCE authentication for a DB2 instance, refer to the Administration Guide.

    -u fencedID
    Is the user under which the fenced user-defined functions (UDFs) and Stored Procedures will execute.

    InstName
    Is the login name of the instance owner.

  3. If there are any errors in verifying that all databases can be migrated, see Table 11 and take the suggested corrective actions. Then, reissue the db2imigr command.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]

[ DB2 List of Books | Search the DB2 Books ]