Solaris: Applying maintenance level updates on IBM MQ

How to apply maintenance level updates to IBM® MQ for Solaris using pkgadd.

Before you begin

  1. Ensure you have enough disk space to apply maintenance level updates. A maintenance level update requires hard disk space for installation. In addition, the installation process might require a similar amount of disk space to save the previous level. For example, a 16 MB update might require 32 MB of space. The additional space allows a maintenance level update to be removed, and the previous level to be restored automatically.
  2. If you are running on a server with multiple IBM MQ installations, you must identify the installation. Make sure that the commands you enter run against the correct installation; see setmqenv.

You can apply and remove maintenance from a IBM MQ MQI client that is not installed on the same server as a queue manager. You do not have to stop any queue managers or logon as administrator. Because you do not have to stop any queue managers, do not do steps 1 to 3 in the following maintenance procedure.

About this task

Stop applications using the installation and use pkgadd to install maintenance.

Important: Although it is possible to install a fix pack at the same level as an installation performed from a manufacturing refresh image at that level, you should not attempt this process. Installing a fix pack at the same level as the one already on your system, can leave the package management database of your system in an inconsistent state with respect to the installation of IBM MQ.

Procedure

  1. Log in as a user in group mqm.
  2. Stop all applications using the IBM MQ installation.

    If you use the MQ 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. End all the activity of queue managers associated with the IBM MQ installation.
    1. Run the dspmq command to list the state of all the queue managers on the system.

      Run either of the following commands from the installation that you are updating:

      
      dspmq -o installation -o status
      dspmq -a
      

      dspmq -o installation -o status displays the installation name and status of queue managers associated with all installations of IBM MQ.

      dspmq -a displays the status of active queue managers associated with the installation from which the command is run.

    2. Run the MQSC command, DISPLAY LSSTATUS(*) STATUS to list the status of listeners associated with a queue manager.
      
      echo "DISPLAY LSSTATUS(*) STATUS" | runmqsc QmgrName
      
    3. Run the endmqm command to stop each running queue manager associated with this installation.
      Read syntax diagramSkip visual syntax diagramendmqm -c-w-i-p QmgrName

      The endmqm command informs an application that the queue manager it is connected to is stopping; see Stopping a queue manager.

      • For the maintenance to proceed, applications must respond to an endmqm command by disconnecting from the queue manager and releasing any IBM MQ libraries they have loaded. If they do not, you must find another way to force applications to release IBM MQ resources, such as by stopping the applications.
      • You must also stop applications that are using the client libraries that are part of the installation. Client applications might be connected to a different queue manager, running a different installation of IBM MQ. The application is not informed about queue managers in the current installation being shut down.
      • Any applications that continue to have IBM MQ shared libraries from the installation loaded prevent you applying IBM MQ maintenance. An application might disconnect from a queue manager, or be forcibly disconnected, but keep an IBM MQ shared library loaded.
      Note: The topic, Applying maintenance level updates to multi-instance queue managers, describes how to apply maintenance to a multi-instance queue manager. A multi-instance queue manager can continue to run on one server, while maintenance is applied to another server.
    4. Stop any listeners associated with the queue managers, using the command:
      
      endmqlsr -m QMgrName
      
  4. Log in as root, or switch to the superuser using the su command.
  5. Change into the directory containing the maintenance packages.
  6. Run the crtmqfp command to create and use a unique set of packages to install on the system, if this fix pack is to be upgraded on a installation that is not the first installation on the system.
    This command creates and uses a unique set of packages to install on the system.
    1. Run the command crtmqfp mqm- <suffixname> where suffixname is the same as the suffix used during renaming of the base level IBM MQ installation.
      Note that this command creates a full copy of the installation packages in a subdirectory of /var/tmp.
    2. Set your current directory to the location specified when the crtmqfp command completes.
      This directory is a subdirectory of /var/spool, in which the unique set of packages is created. The packages have the suffix value contained within the filename.
  7. Proceed with installation using the following command:
    Enter the following command to start the installation process if this fix pack is to be upgraded on an installation that is
    1. The first installation on the system:
      
      pkgadd -d packagename
      
      where packagename corresponds to the image file name. For example:
      
      mqm-U1234.img
      
    2. Not the first installation on the system:
      
      pkgadd mqm-suffixname
      
      where suffixname is the name of the directory created in /var/spool/pkg.

      For example, if you install IBM WebSphere® MQ 7.0 as a package called mqm-main7 and create a package to upgrade to IBM WebSphere MQ 7.0.0.1, using the command crtmqfp mqm-main7, package mqm-main7-07-00-00-01 is created in /var/spool/pkg.

      To install package mqm-main7-07-00-00-01, issue the command pkgadd mqm-main7-07-00-00-01.

    For further information about using pkgadd to install software packages, see the Solaris documentation.
  8. Follow the on-screen instructions.