Migrating a queue manager to a later version of IBM MQ

After installing IBM MQ Version 9.1, you now want to migrate and upgrade an IBM MQ Version 8.0 queue manager to be used with IBM MQ Version 9.1.


We need to perform two main steps:

  1. Use the setmqm command to associate the queue manager with the desired installation, that is, the IBM MQ version.
  2. Use the strmqm command under the desired version, which updates the data of the queue manager for the new version.

For this scenario, the queue manager QMMIG, which was created with IBM MQ Version 8.0, is going to be used as an illustration of the migration procedure. Attention: Once a queue manager has been migrated to a later version of IBM MQ, it is no longer possible to use it with the previous version of IBM MQ. The migration process changes a number of files and object definitions, and it is not possible to go back.


Procedure

  1. Take a backup of the queue manager using the dmpmqcfg command. See Backing up and restoring IBM MQ queue manager data and Backing up queue manager configurationfor more information.
    1. To specify all the attributes, including default ones, (except setmqaut, which is not included in the output, specify the following command:
       dmpmqcfg -m QMgr -a > QMgr.dmpmqcfg.out.all.mqsc 
    2. To capture the attributes in setmqaut format, issue the following command:
        dmpmqcfg -m QMgr -o setmqaut > QMgr.dmpmqcfg.setmqaut.bat 
      Note: The output file containing the setmqaut commands, includes the name of the queue manager in each command. Therefore, if we want to restore the commands into a different queue manager, we need to edit the file and specify the desired queue manager name.

  2. To restore the:
    1. Commands for runmqsc, issue:
       runmqsc Qmgr < QMgr.dmpmqcfg.out.mqsc 
      or
       runmqsc Qmgr < QMgr.dmpmqcfg.out.all.mqsc 
    2. setmqaut commands issue:
       QMgr.dmpmqcfg.setmqaut.bat 

  3. The queue manager to be migrated is at IBM MQ Version 8.0, so we need to run the script that sets the running environment to IBM MQ Version 8.0:
    C:\> set-mq-80 
    1. Issue the command C:\> dspmqver to check the version that the queue manager is running on Version 8.0.
    2. Issue the command C:\> where dspmq to check that the queue manager is running:
      C:\Program Files\IBM\WebSphere MQ\bin64\dspmq.exe 
      C:\Program Files\IBM\WebSphere MQ\bin\dspmq.exe  
       
    3. Issue the command C:\> dspmq -m QMMIG -o installation -s
      QMNAME(QMMIG)               STATUS(Running) INSTNAME(Installation1) 
      INSTPATH(C:\Program Files\IBM\WebSphere MQ) INSTVER(8.0.0.9)
    4. Issue the command C:\> runmqsc QMMIG
      display qmgr cmdlevel version      
             1 : display qmgr cmdlevel 
      AMQ8408: Display Queue Manager details.    
        QMNAME(QMMIG)                     CMDLEVEL(800)    
        VERSION(08000009) 
      end 
      and note that the CMDLEVEL is at Version 8.0.
    5. Stop the queue manager by issuing the command C:\ endmqm -i QMMIG You receive the messages:
      WebSphere MQ queue manager 'QMMIG' ending. 
      WebSphere MQ queue manager 'QMMIG' ended. 

  4. Change the environment to run the IBM MQ Version 9.1 commands, either by issuing the command C:\> set-mq-910 if you created the batch file, or by using the setmqenv command, and then check the version by issuing the dspmqver command.
  5. Display the status of the queue managers by issuing the command C:\> dspmq -o installation -s. You receive the following output:
    QMNAME(QM80)                   STATUS(Running)INSTNAME(Installation1) 
    INSTPATH(C:\Program Files\IBM\WebSphere MQ) INSTVER(8.0.0.9) 
     
    QMNAME(QMMIG)                           STATUS(Ended immediately) INSTNAME(Installation1) 
    INSTPATH(C:\Program Files\IBM\WebSphere MQ) INSTVER(8.0.0.9) 
     
    QMNAME(QM910)                           STATUS(Running) INSTNAME(Installation2) 
    INSTPATH(C:\Program Files\IBM\MQ) INSTVER(9.1.0.0) 
    Attention: Queue manager QMMIG is still associated with Installation1 ( IBM MQ Version 8.0) while Installation2 is associated with IBM MQ Version 9.1.

    Therefore, we need to disassociate the queue manager QMMIG from Installation1 and associate it with Installation2

  6. Issue the following command to associate queue manager QMMIG with Installation2
    C:\> setmqm -m QMMIG -n Installation2 
    You receive the following message:
    The setmqm command completed successfully. 
    which informs you that QMMIG is now associated with IBM MQ Version 9.1.
  7. Start queue manager QMMIG by issuing the command C:\> strmqm QMMIG As this is the first time that the IBM MQ Version 9.1 strmqm command is being issued on a queue manager that had prior use with an older version, a migration takes place. You see output similar to the following:
    IBM MQ queue manager 'QMMIG' starting. 
    The queue manager is associated with installation 'Installation2'. 
    5 log records accessed on queue manager 'QMMIG' during the log replay phase. 
    Log replay for queue manager 'QMMIG' complete. 
    Transaction manager state recovered for queue manager 'QMMIG'. 
    Migrating objects for queue manager 'QMMIG'. 
    Default objects statistics : 5 created. 0 replaced. 0 failed. 
    IBM MQ queue manager 'QMMIG' started using V9.1.0.0. 
  8. Issue the following command, C:\> runmqsc QMMIG to display the attributes of the queue manager, and note the VERSION and CMDLEVEL fields:
    display qmgr cmdlevel version      
        1 : display qmgr cmdlevel version 
    AMQ8408I: Display Queue Manager details.    
       QMNAME(QMMIG)                           CMDLEVEL(910)    
       VERSION(09010000) 
    end 


Results

We have successfully migrated a queue manager to a later version of the product.

Parent topic: Installing a later version of IBM MQ to coexist with an earlier version on Windows Previous topic: Create a queue manager in IBM MQ Version 9.1 Next topic: Installing a fix pack on IBM MQ Version 9.1