Applying maintenance level updates to multi-instance queue managers on Windows

On Windows platforms, we can use multi-instance queue managers to reduce the outage caused by applying maintenance updates.


Before starting

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, we must stop all the queue managers, and any IBM MQ service, on a server.

If we want a queue manager to keep running while maintenance is applied, we must configure it as a multi-instance queue manager, and have a standby instance running on another server. If the queue manager that we want to keep running is an existing single instance queue manager, we 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 we 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 we 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, we must switch back to the primary server when both servers have been updated.

If we have active and standby instances on several servers, we 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

  1. Log on as an Administrator.
  2. Stop all applications using the IBM MQ installation.

    If we 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.

  3. Find out the current state of the queue managers and their associated listeners associated with the IBM MQ installation.
    1. From the installation that we are updating, use the dspmq command to list the state of the queue managers:

      • To display the installation name and status of queue managers associated with all installations of IBM MQ, run the following command:
        dspmq -o installation -o status
        
      • To display the status of active queue managers associated with the installation from which you are running the command, run the following command:
        dspmq -a
        

    2. 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
      

  4. 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.
  5. Apply maintenance to the IBM MQ server. Follow the instructions in Applying maintenance level server updates on Windows, starting from Step 4.
  6. 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:
    strmqm -x QmgrName
  7. Repeat the procedure on the standby server, to update its maintenance level.
  8. If necessary, switch the active instances back to the primary servers:
    1. Stop the instances by using the endmqm command as shown in the following example:
      endmqm -shutdown_option -s QMgrName
    2. Restart the instances by using the strmqm command as shown in the following example:
      strmqm -x QmgrName

Parent topic: Applying and removing maintenance level server updates on Windows


Related information