[AIX]

Staging maintenance level updates on AIX

On AIX®, you can use multiple installations of IBM® MQ on the same server to control the release of maintenance level updates.

Before you begin

The steps in this task are based on an example scenario in which it is assumed that you have two copies of IBM MQ named Inst_1 and Inst_2, and a number of applications and two queue managers, QM1 and QM2, running on a server. To set up your configuration for this scenario, complete the following steps:
  1. Install two copies of IBM MQ. In this example, they are named Inst_1 and Inst_2.
  2. Make Inst_1 primary by running setmqinst.
  3. Associate all the queue managers on the server with Inst_1 by running setmqm.
  4. Start all the queue managers on the server.
Note: From 1Q 2023, for Multiplatforms, there are two types of maintenance:
  • Fix packs, which contain roll-ups of all defects fixed since the previous fix pack delivery (or GA). Fix packs are produced exclusively for Long Term Support (LTS) releases during their normal support lifecycle.
  • Cumulative security updates (CSUs), which are smaller updates and contain security patches released since the previous maintenance (GA). CSUs are produced for LTS releases (including releases in extended support), and also for the latest IBM MQ Continuous Delivery (CD) release, as required to deliver relevant security patches.

For maintenance releases in or after 1Q 2023, the fourth digit in the VRMF represents either a fix pack number or a CSU number. Both types of maintenance are mutually cumulative (that is, they contain everything included in older CSUs and fix packs), and both are installed using the same mechanisms for applying maintenance. Both types of maintenance update the F-digit of the VRMF to a higher number than any previous maintenance: fix packs use "F" values divisible by 5, CSUs use "F" values not divisible by 5.

For maintenance releases before 1Q 2023, the fourth digit in the VRMF always represents the fix pack level. For example, the first fix pack of the IBM MQ 9.3.0 LTS release is numbered 9.3.0.1.

For more information, see Changes to IBM MQ's maintenance delivery model.

About this task

You can install multiple copies of IBM MQ on a server to stage the release of IBM MQ maintenance level updates. For example, as in the scenario that is described in the task steps, by using two installations to roll out maintenance level updates, you maintain two maintenance levels on a server, with the aim of getting all queue managers and applications to the production maintenance level before replacing the previous level of maintenance with the next level.

Which installation an application uses is driven by the queue manager that an application connects to. The setmqm command associates a queue manager with an installation. You can associate a queue manager with a different installation as long as the installation is at the same or higher command level. In this scenario, all the installations are at the same command level. You can associate or reassociate a queue manager with either of the installations running any of the fix packs or cumulative security updates (CSUs).

In this scenario, an application links to the primary installation. When it connects to a queue manager, IBM MQ switches the linkage to the installation associated with the queue manager; see Multi-installation queue manager coexistence on AIX, Linux, and Windows.

For applications built with the link options described in the product documentation, the simplest way to configure the link library search path for IBM MQ applications is to make an installation primary. Only if it is important to pick up a fix in the IBM MQ link library itself, must you review the search path. Either you must make the installation with the IBM MQ link library fix primary, or make a local adjustment for the application, perhaps by running the setmqenv command.

Running commands is a different matter. Commands are always run from the primary installation, or the installation you have selected by running the setmqenv command. If you run a command from the wrong installation, the command fails. For example, if QM1 is associated with Inst_1, running the command Inst_2_Installation_path/bin/strmqm QM1 fails.

Procedure

Apply the first maintenance level update to Inst_2.

  1. Download the first fix pack or cumulative security update (CSU) for the version of your product when it is released.
  2. Apply the fix pack or cumulative security update (CSU) that you downloaded to Inst_2.
  3. Verify Inst_2.
  4. Transfer the queue managers to Inst_2 one at a time.
    1. Stop QM1 and the applications connected to it.
      The endmqm command informs an application that the queue manager it is connected to is stopping; see Stopping a queue manager.
      Note: Applying maintenance level updates to multi-instance queue managers on AIX 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.
    2. Set up the local environment to the installation Inst_2.
      . Inst_2_INSTALLATION_PATH/bin/setmqenv -s
      
    3. Associate the queue manager with Inst_2.
      setmqm -m QM1 -n Inst_2
      
    4. Start QM1.
      strmqm QM1
      
    5. Repeat substeps c and d for QM2.
  5. Set Inst_2 primary.
    Inst_2_INSTALLATION_PATH/bin/setmqinst -i -n Inst_2
    

Apply the second maintenance level update to Inst_1.

  1. Download the next fix pack or cumulative security update (CSU), for the version of your product when it is released.
  2. Apply the fix pack or cumulative security update (CSU), that you have just downloaded to Inst_1.
  3. Verify Inst_1.
  4. Transfer the queue managers to Inst_1 one at a time.
    Follow the procedure in step 4, replacing Inst_2 by Inst_1 in the instructions.
  5. Set Inst_1 primary.
    
    Inst_1_INSTALLATION_PATH/bin/setmqinst -i -n Inst_1
    

For subsequent maintenance updates, alternate between Inst_2 and Inst_1.

  1. Alternate between repeating steps 1 to 5 for Inst_2 and steps 6 to 10 for Inst_1.