On Windows platforms, you can use
multi-instance queue managers to reduce the outage caused by applying maintenance updates.
Before you begin
Before starting this task, read through the prerequisites described in Before you
begin in Applying maintenance level server updates on Windows
Before starting this task, see that the maintenance is applied to the IBM MQ installation on a server and not to individual queue
managers. Before you apply maintenance, you must stop all the queue managers, and any IBM MQ service, on a server.
If you want a queue manager to keep running while maintenance is applied, you must configure it
as a multi-instance queue manager, and have a standby instance running on another server. If the
queue manager that you want to keep running is an existing single instance queue manager, you must
convert it to a multi-instance queue manager. For prerequisites and guidance how to create a
multi-instance queue manager, see Multi-instance queue managers.
If
you are running multi-instance queue managers, you then can apply a maintenance update to a running
queue manager by switching the active instance to a different server.
Typically, active and standby installations are maintained at the same maintenance level. Consult
the maintenance instructions for each update. Consult the instructions to see if it is possible to
run the active and standby instances at different maintenance levels. Check whether fail over from
higher to lower, or only lower to higher maintenance level is possible.
The instructions for applying a maintenance update might require you to stop a multi-instance
queue manager completely.
If you have a primary server for running active queue manager instances, and a secondary server
that runs standby instances, you have a choice of updating the primary or secondary server first. If
you update the secondary server first, you must switch back to the primary server when both servers
have been updated.
If you have active and standby instances on several servers, you must plan in what order you
update the servers to minimize the disruption caused by ending the active instances on each server
you update.
About this task
Follow these steps to apply maintenance to a multi-instance queue manager on Windows.
Procedure
-
Log on as an Administrator.
-
Stop all applications using the IBM MQ
installation.
If you use the Managed File Transfer (MFT) component, ensure that
any MFT agents have finished all of the file transfers that they were engaged in. There should be no
incomplete transfers associated with the agents, and their SYSTEM.FTE.STATE queues should contain no
messages.
-
Find out the current state of the queue managers and their associated listeners associated with
the IBM MQ installation.
-
From the installation that you are updating, use the dspmq command to list
the state of the queue managers:
-
Use the MQSC command DISPLAY LSSTATUS to list the status of listeners
associated with a queue manager, as shown in the following example:
echo "DISPLAY LSSTATUS(*) STATUS" | runmqsc QmgrName
-
Use the endmqm command to stop each running queue manager associated with
this installation.
- If the queue manager is running as standby, run the endmqm command to end
the standby as shown in the following
example:
endmqm -x QMgrName
- If the queue manager is running as the active instance, run the endmqm
command to end the active instance and transfer control to the standby instance as shown in the
following
example:
endmqm -shutdown_option -s QMgrName
where
-shutdown_option is an optional parameter specifying the type of shutdown. For
more information about optional parameters for the endmqm command, see endmqm. If there is no standby
instance running, and the command fails, start a standby instance on a different
server.
- If a queue manager is running as a single instance queue manager, stop the queue manager. In
the case of a single queue manager you have no alternative but to stop the queue manager before
applying the maintenance update. For more information about how to stop a queue manager, see Stopping a queue
manager.
Stop any listeners associated with the queue managers by using the
endmqlsr
command as shown in the following
example:
endmqlsr -m QMgrName
After you complete this step, no queue manager instances are left running on the server
that you intend to update.
-
Apply maintenance to the IBM MQ server.
-
When you have completed the maintenance update, use the strmqm command to
restart all the queue managers on the IBM MQ server,
permitting standby instances, as shown in the following example:
-
Repeat the procedure on the standby server, to update its maintenance level.
-
If necessary, switch the active instances back to the primary servers:
-
Stop the instances by using the endmqm command as shown in the following
example:
endmqm -shutdown_option -s QMgrName
-
Restart the instances by using the strmqm command as shown in the following
example: