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:
- Use the setmqm command to associate the queue manager with the desired installation, that is, the IBM MQ version.
- 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
- 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.
- 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
- 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.
- To specify all the attributes, including default ones, (except
setmqaut, which is not included in the output, specify the following
command:
- To restore the:
- Commands for runmqsc,
issue:
runmqsc Qmgr < QMgr.dmpmqcfg.out.mqsc
orrunmqsc Qmgr < QMgr.dmpmqcfg.out.all.mqsc
- setmqaut commands issue:
QMgr.dmpmqcfg.setmqaut.bat
- Commands for runmqsc,
issue:
- 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
- Issue the command C:\> dspmqver to check the version that the queue manager is running on Version 8.0.
- 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
- 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)
- 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. - 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.
- 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.
- 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
- 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. - 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.
- 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