+

Search Tips | Advanced Search

Migrating on Windows: multi-stage

Multi-stage migration is the term used to describe running a later version of IBM MQ alongside an earlier version on the same server. After installing the later version alongside the earlier version, we can create new queue managers to verify the later installation, and develop new applications. At the same time, we can migrate queue managers and their associated applications from the earlier version to the later version. By migrating queue managers and applications one-by-one, we can reduce the peak workload on staff managing the migration.


Before starting

Attention: From IBM MQ Version 9.0, the ccsid_part2.tbl file replaces the existing ccsid.tbl file, used in previous versions of the product, to supply additional CCSID information. The ccsid_part2.tbl file takes precedence over the ccsid.tbl file and:

  • Allows you to add or modify CCSID entries
  • Specify default data conversion
  • Specify data for different command levels

The ccsid_part2.tbl is applicable to the following platforms only:

  • Linux - all versions
  • Windows

If we have added any of our own CCSID information into your existing ccsid.tbl file, we should copy this information into the new ccsid_part2.tbl file, if we want to take advantage of the new formats in your customizations

We should copy the required information, rather than move the information, so that your existing version of IBM MQ continues to work.

Note: If we are running the IBM MQ.NET monitor in transactional mode, the queue manager it connects to must be the primary installation.


In the multi-stage migration scenario, you install the later version of the product alongside running queue managers that continue to be associated with the earlier version. We can create queue managers and run new applications using the later version installation. When we are ready to start migrating queue managers and applications from the earlier, we can do so, one-by-one. When migration to the later version is complete, we can uninstall the earlier version, and make the later version installation the primary installation.

With the multi-stage approach, until you uninstall the earlier version, we must configure an environment to run applications that connect to a queue manager to the later version. We must also provide a path to run IBM MQ commands. Both these tasks are accomplished with the setmqenv command.

Note: When you have uninstalled the earlier version, and set the later version as a primary installation, in most circumstances it is not necessary to run the setmqenv command to run applications. It is still necessary to run setmqenv to set the environment for commands that connect to a queue manager associated with an installation that is not primary.


Procedure

  1. Install the later version in a different installation directory from the earlier version and verify the installation.
    1. Decide on an installation naming convention. Give the installation a name of our choosing, or accept the default installation name. For the first installation, the default name is Installation1. For the second installation, the name is Installation2, and so on.
    2. Verify the installation.

      Run the installation verification procedures and your own tests.

    • We might create new queue managers running the later version, and start to develop new applications before migrating applications from the earlier version.

  2. Configure the operating system so that applications load the libraries for the later version of the product.
    1. Migrate queue managers one at a time.

      The first set of applications to load the libraries for the later version of the product are the applications that connect to the first queue manager we are going to migrate.

      It does not matter if those applications also connect to other queue managers on the server. If the applications load the later version libraries, IBM MQ automatically loads the libraries for the earlier version for those applications that connect to that version.

      We can either migrate the operating system environment of all applications, or just the applications that connect to the first queue manager we are going to migrate.

    2. Migrate IBM MQ MQI client applications

      Some of the applications might be running as IBM MQ MQI client applications on another workstation. When you migrate a queue manager, clients connected to it continue to run without loading a client library for the later version.

      We can migrate these clients later, when we need to do so.Important: If any IBM MQ MQI client applications are using the library for the earlier version on the server, we must eventually migrate the clients to use the later version of the product before you uninstall the earlier version.

  3. Migrate an application to load the new library for the later version:

    • Run setmqenv to modify the local path that is searched for IBM MQ libraries.
    • Relink applications with an additional runtime load path.

    Consult operating system documentation about how to modify the global search path, or include a fixed runtime load path in the application load module.

    To run setmqenv using the -s option:
    "Inst_1_INSTALLATION_PATH\bin\setmqenv" -s
     

    The -s option sets up the environment for the installation that runs the setmqenv command.

  4. Restart the queue manager and the applications that connect to it.
    1. Set up the local environment to the installation Inst_1.
      "Inst_1_INSTALLATION_PATH\bin\setmqenv" -s
      

      The -s option sets up the environment for the installation that runs the setmqenv command.

    2. Run the setmqm command to associate QM1 with Inst_1.
      setmqm -m QM1 -n Inst_1
      setmqm -m QM2 -n Inst_1
      
    3. Run the strmqm command to start QM1 and migrate it to the later version.
      strmqm QM1
      strmqm QM2
      
    4. Restart application 1

      • The application loads the later version library and connects to QM1, which is associated with the later version of the product.

  5. Migrate all queue managers and applications to the later version.

    • Repeat steps 2 and 4, when required, until all the queue managers and applications are migrated to the later version of the product.

  6. Uninstall the earlier version of the product.

    • When uninstalling the earlier product, we must stop all queue managers and applications that have loaded an IBM MQ library on the server. For this reason, you might choose to postpone uninstalling the earlier version of the product until a convenient maintenance window. When an earlier version of the product is not installed on a server, it is sufficient to stop the queue managers and applications that have loaded libraries from the installation that we are uninstalling or updating. It is not necessary to stop applications and queue managers associated with other installations.

    1. Stop all applications that have loaded IBM MQ libraries on the server.
    2. Stop the queue managers and listeners on the server.
    3. Uninstall the earlier version of the product.

      • Stop all local IBM MQ applications
      • You do not need to stop all the queue managers at this point.

        For migration from IBM WebSphere MQ Version 7.0.1 to a later version, we needed to stop all your queue managers and listeners, ensuring that you did not delete the queue managers. However, this does not apply to migration from a later version than IBM WebSphere MQ Version 7.0.1.

  7. Make Inst_1 the primary installation.
    1. Run the setmqinst command
      "Inst_1_INSTALLATION_PATH\bin\setmqinst" -i -n Inst_1
      
      Note: Use the dspmqinst command to discover the Installation name, or use the default value Installation 1.

      You do not have to set up a search path to run IBM MQ commands from the primary installation.


What to do next

We cannot reinstall an earlier version of the product on a system that has the latest, or any other, version of IBM MQ installed.

Now that we have uninstalled the earlier version of the product, and made the later installation primary, we can review how the application runtime environment is set. It is no longer necessary to run setmqenv to set up the search path to load libraries for the later version. If we have only one installation of the later version of the product installed, it is not necessary to run setmqenv to run commands.

Parent topic: Migrating a queue manager to a later version on Windows


Related concepts


Related tasks


Related information

Last updated: 2020-10-04