+ All Categories
Home > Documents > Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

Date post: 02-Jan-2022
Category:
Upload: others
View: 16 times
Download: 0 times
Share this document with a friend
27
Page 1 of 27 Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux https://www.ibm.com/support/pages/node/875570 Date last updated: 04-Aug-2020 Angel Rivera – [email protected] IBM MQ Support +++ Objective This techdoc shows all the steps to upgrade MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux. The single installation is explicitly designated as Primary. This is a straight upgrade and does not exploit the 'multi-version' feature in which several versions of MQ can co-exist ("side-by-side"). The upgrade instructions apply also for MQ 9.2. You can upgrade from MQ 8.0 to MQ 9.1 without first going through MQ 9.0. You can upgrade from MQ 8.0 to MQ 9.2 without first going through MQ 9.0 or MQ 9.2. Note: You cannot migrate directly from MQ 7.x to MQ 9.1 or MQ 9.2: - If you are using MQ 7.0, then you will need to upgrade to MQ 8.0, then to MQ 9.1 or MQ 9.2 - If you are using MQ 7.1 or MQ 7.5, then you will need to upgrade to MQ 8.0 or MQ 9.0, then to MQ 9.1 or MQ 9.2. Even though the platform used in this techdoc is Linux x86 64-bit, the overall instructions apply also to other UNIX distributions: AIX and Solaris. Note that HP-UX is no longer supported in MQ 9.1. Note that Solaris is no longer supported in MQ 9.2. Prior to the upgrade, you need to take a full backup of your MQ 8.0 queue managers. Why? Because the upgrade to MQ 9.1 is NOT reversible. If you need to back out and revert back to MQ 8.0, you will need to delete the upgraded MQ 9.1 queue managers and restore the MQ 8.0 queue managers from backup.
Transcript
Page 1: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 11 ooff 2277

Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux

https://www.ibm.com/support/pages/node/875570

Date last updated: 04-Aug-2020

Angel Rivera – rriivveerraa@@uuss..iibbmm..ccoomm IBM MQ Support

+++ Objective This techdoc shows all the steps to upgrade MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux. The single installation is explicitly designated as Primary. This is a straight upgrade and does not exploit the 'multi-version' feature in which several versions of MQ can co-exist ("side-by-side"). The upgrade instructions apply also for MQ 9.2. You can upgrade from MQ 8.0 to MQ 9.1 without first going through MQ 9.0. You can upgrade from MQ 8.0 to MQ 9.2 without first going through MQ 9.0 or MQ 9.2. Note: You cannot migrate directly from MQ 7.x to MQ 9.1 or MQ 9.2: - If you are using MQ 7.0, then you will need to upgrade to MQ 8.0, then to MQ 9.1 or MQ 9.2 - If you are using MQ 7.1 or MQ 7.5, then you will need to upgrade to MQ 8.0 or MQ 9.0, then to MQ 9.1 or MQ 9.2. Even though the platform used in this techdoc is Linux x86 64-bit, the overall instructions apply also to other UNIX distributions: AIX and Solaris. Note that HP-UX is no longer supported in MQ 9.1. Note that Solaris is no longer supported in MQ 9.2. Prior to the upgrade, you need to take a full backup of your MQ 8.0 queue managers. Why? Because the upgrade to MQ 9.1 is NOT reversible. If you need to back out and revert back to MQ 8.0, you will need to delete the upgraded MQ 9.1 queue managers and restore the MQ 8.0 queue managers from backup.

Page 2: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 22 ooff 2277

The chapters are: Chapter 1: Uninstalling MQ 8.0 Chapter 2: Installing MQ 9.1.0.0 LTS Chapter 3: Applying Fix Pack MQ 9.1.0.1 LTS Chapter 4: Running setmqinst to designate the Primary installation Chapter 5: Running setmqenv to use MQ 9.1 commands Chapter 6: Creating a queue manager under 9.1 Chapter 7: Remote access to the new MQ 9.1 queue manager Chapter 8: Upgrading an existing queue manager to MQ 9.1

Page 3: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 33 ooff 2277

++ For more information on what new attributes, queues and system objects were introduced in MQ 9.0 and MQ 9.1, see the following technotes: http://www.ibm.com/support/docview.wss?uid=swg21608033 New SYSTEM queues added in WebSphere MQ 7.1, 7.5, 8.0, 9.0 and 9.1 http://www.ibm.com/support/docview.wss?uid=swg21578742 New WebSphere MQ 7.1, 7.5, 8.0, 9.0 and 9.1 attributes in DISPLAY QMGR for new or migrated queue managers http://www.ibm.com/support/docview.wss?uid=swg21620936 New objects and new attributes for objects in WebSphere MQ 7.1, 7.5, 8.0, 9.0 and 9.1 ++ For more information on what is new and what has changed after MQ 8.0, see: https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.sec.doc/q014265_.htm#q014265_ IBM MQ 9.1.x / IBM MQ / Securing / Confidentiality of messages / Enabling CipherSpecs / Deprecated CipherSpecs https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.pro.doc/q113110_.htm#q113110_ IBM MQ 9.1.x / IBM MQ / About IBM MQ / What's new and changed in IBM MQ Version 9.1.0 https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.pro.doc/q113110_.htm#q113110_ IBM MQ 9.0.x / IBM MQ / About IBM MQ / What's new and changed in IBM MQ Version 9.0.0

Page 4: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 44 ooff 2277

++ Hardware and software Red Hat Enterprise Linux (RHEL) on x86-64-bit: # lsb_release -dr Description: Red Hat Enterprise Linux Server release 7.4 (Maipo) Release: 7.4 Queue Managers: QM80 => Created with MQ 8.0.0.11. To be migrated to MQ 9.1.0.1 QM91 => Created with MQ 9.1.0.1 LTS. ++ Overall tasks The straight upgrade from MQ 8.0 to MQ 9.1 means that only one version of MQ will be available under /opt/mqm. It is necessary to: - uninstall MQ 8.0 from /opt/mqm, - and then install MQ 9.1, also in /opt/mqm. These tasks do NOT alter the contents of /var/mqm (which contains the data for the queue managers). That is, when you uninstall the product from /opt/mqm, the queue managers are NOT deleted. ++ Current setup of MQ 8.0.0.11 MQ 8.0.0.11 already installed in the default location: /opt/mqm The data for the queue managers is stored in:

/var/mqm The output of the following command shows a mix of MQ 8.0 filesets (base, fix pack) # rpm -qa | grep MQSeries MQSeriesServer-U80011-8.0.0-11.x86_64 MQSeriesRuntime-8.0.0-0.x86_64 …

Page 5: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 55 ooff 2277

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++ Chapter 1: Uninstalling MQ 8.0 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ Take a backup of the queue manager data and recovery logs Take a backup of /var/mqm and any other file system that is used (such as mounted, or via symbolic links) for the storage of the MQ recovery logs and the MQ data for the queue managers. If the queue manager is created in a non-default directory (such as Multi-Instance), ensure that all queue manager data and logs are included in the backup based on the configuration in mqs.ini and qm.ini files. Note: When an MQ 8.0 queue manager is upgraded to MQ 9.1, it goes through some migration steps that are NOT reversible. If for some reason you want to back out later on your upgrade MQ queue manager (at 9.1) back to 8.0, you will NOT be able to use the current data in /var/mqm and you will need to restore from the backup taken when the MQ queue manager was at 8.0. Disclaimer: The MQ Support teams do not recommend or support the action to revert to an earlier version of the product. If any problem were to occur after upgrading to MQ 9.1, the best way to address the situation is to contact MQ Support and get that fixed, rather than by reverting to version MQ 8.0. Given the above disclaimer, please review the following technotes which explain more details on the topic.

hhttttpp::////wwwwww..iibbmm..ccoomm//ssuuppppoorrtt//ddooccvviieeww..wwssss??rrss==117711&&uuiidd==sswwgg2211225511772211 After upgrading from MQ 5.3 to V6/V7, or from MQ V6 to V7, you want to revert back to previous level ++ Stop all MQ activity Stop the queue managers and clients. For details see: https://www.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.ins.doc/q009610_.htm IBM MQ 8.0.0 / IBM MQ / Installing / Uninstalling / IBM MQ Advanced Message Security Uninstalling on Linux

Page 6: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 66 ooff 2277

++ Uninstalling MQ 8.0 There are 2 choices: a) Uninstall all the MQ rpms using a single command. This is the easiest and most expedient. b) Uninstall each Fix Pack, starting from the latest one (MQ 8.0.0.11) and then uninstall the next Fix Pack (such as MQ 8.0.0.10) and so on, until finally uninstall the base MQ 8.0.0.0. The rest of this section provides more details. a) Uninstalling everything using a single command It could be tedious to completely uninstall MQ in Linux when there are several fix packs applied, because you need to uninstall the most recent applied Fix pack first (such as 8.0.0.11), then the next one (8.0.0.10), then the next ones and finally the base (8.0.0.0). However, you could do the full install in a single step and it is explained below. The following single command uninstalls all the rpms for MQ for all the fix packs and the base. It is really a combination of 2 rpm commands: the inner one gets all the MQ filesets that are installed, and the outer one does the uninstall (by providing the complete list of installed filesets, the rpm command will know how to handle the proper sequence for uninstalling them). Notice that the inner rpm is surrounded by a pair of the special character: back quote (in an English keyboard, the key is the one on the upper left corner of the keyboard, to the left of the number 1, below the Esc key) rpm -ev `rpm -qa | grep MQSeries` | | | inner rpm | +-- back quotes -----+ |-------- outer rpm --------| b) Uninstalling only a fix pack See the previous section above for the explanation: rpm -ev `rpm -qa | grep MQSeries | grep U80011` + After the uninstallation of the MQ filesets Notice that there are no MQ filesets shown as installed:

Page 7: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 77 ooff 2277

+++ROOT+++ otocyst1.fyre.ibm.com: /root # rpm -qa | grep MQSeries Notice that the /opt/mqm directory does no longer exist: +++ROOT+++ otocyst1.fyre.ibm.com: /root # ls /opt/mqm ls: cannot access /opt/mqm: No such file or directory Notice that the mqinst.ini file was updated (the 2 lines about being Primary installation were removed). +++ROOT+++ otocyst1.fyre.ibm.com: /root # cat /etc/opt/mqm/mqinst.ini Installation: Name=Installation1 Description= Identifier=1 FilePath=/opt/mqm

Page 8: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 88 ooff 2277

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++ Chapter 2: Installing MQ 9.1.0.0 LTS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ Downloading the MQ 9.1.0.0 LTS code It is recommended that the "Search for Part Numbers" should be used in IBM Passport Advantage to find the MQ components easier. The following technote has more details on the component names and the part numbers for the installable images for MQ 9.1 from the IBM Passport Advantage web site: https://www-01.ibm.com/support/docview.wss?uid=swg24044776 Downloading IBM MQ Version 9.1 For this techdoc, the following files were downloaded: CNRE3ML IBM MQ V9.1 for Linux on x86 64-bit eImage The following file … IBM_MQ_9.1_LINUX_X86-64.tar.gz … was downloaded to: /downloads/mq9100 ++ Installing MQ 9.1 into /opt/mqm You need to login as root.

Change to the location of the downloaded file and uncompress it: # cd /downloads/mq9100 # tar -zxvf IBM_MQ_9.1_LINUX_X86-64.tar.gz Notice that the extracted files are stored in a new subdirectory: MQServer # ls -1F IBM_MQ_9.1_LINUX_X86-64.tar.gz MQServer/ ++ Note about new feature: RDQM The rpm file for MQSeriesRDQM is stored in a deeper subdirectory:

Page 9: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 99 ooff 2277

# cd /downloads/mq9100 # ls MQServer/Advanced/RDQM installRDQMsupport MQSeriesRDQM-9.1.0-0.x86_64.rpm PreReqs repackage uninstallRDQMsupport ++ Note about the licensing (Updated on 17-Apr-2020) 1) The following web page from the online manual for MQ has some information on MQ Licenses: https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.pro.doc/q126140_.htm IBM MQ 9.1.x / IBM MQ / About IBM MQ / IBM MQ license information 2) You need to have an active subscription to upgrade to newer versions of MQ. If you have questions about licenses and entitlement please consult with your IBM Sales representative. ++ Note about using MQ in English - no need to install *Msg* rpm filesets Messages in U.S. English are automatically installed with IBM MQ. That is, the "message catalog for U.S. English" is always installed. Therefore, by default, the informational, warning and error messages displayed by the MQ product will be in English. Message catalogs for all languages are included with the MQ installation image for: - The base/rebased MQ product downloaded from IBM Passport Advantage - The fix packs for MQ downloaded from IBM Fix Central A best practice is to install only those message catalogs that your team is going to use and to delete those message catalogs that your team is not going to use. Otherwise, the presence of message catalogs that are not used just take space in the disk and clutter the output of “rpm -qa” when querying for installed MQ packages.

Page 10: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 1100 ooff 2277

+ Hint if you only work in English: If you are not going to install these additional message catalogs, then you can delete the *Msg*.rpm files. In that way, if you issue the simplest rpm command to install of available rpm filesets, these non-English message catalogs will not be installed. . + References: . https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.ins.doc/q008953_.htm IBM MQ 9.1.x / IBM MQ / Installing and uninstalling / Installing and uninstalling IBM MQ on Linux / Displaying messages in your national language on Linux + begin excerpt To display messages from a different national language message catalog, you must install the appropriate catalog and set the LANG environment variable. . About this task Messages in U.S. English are automatically installed with IBM MQ. . Message catalogs for all languages are installed in MQ_INSTALLATION_PATH/msg/language identifier, where language identifier is one of the identifiers in Table 1. + end excerpt For example, in a test system where NONE of the message catalogs were installed, the following is the contents of the directory mentioned above (notice the subdirectory en_US for the locale English in the US). $ ls -F /opt/mqm/msg en_US/ In addition: https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.ins.doc/q008350_.htm#q008350___q008350_mcat IBM MQ 9.1.x / IBM MQ / Installing and uninstalling / Installing and uninstalling IBM MQ on Linux / Installing IBM MQ on Linux using rpm / IBM MQ rpm components for Linux systems + begin excerpt Table 2. IBM MQ message catalogs for Linux systems

Message catalog language RPM package name

Brazilian Portuguese MQSeriesMsg_pt

Czech MQSeriesMsg_cs

Page 11: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 1111 ooff 2277

French MQSeriesMsg_fr

German MQSeriesMsg_de

Hungarian MQSeriesMsg_hu

Italian MQSeriesMsg_it

Japanese MQSeriesMsg_ja

Korean MQSeriesMsg_ko

Polish MQSeriesMsg_pl

Russian MQSeriesMsg_ru

Spanish MQSeriesMsg_es

Simplified Chinese MQSeriesMsg_Zh_CN

Traditional Chinese MQSeriesMsg_Zh_TW

U.S. English not applicable

+ end excerpt Note: there is no file named "MQSeriesMsg_en" because the U.S. English messages are always installed. ++ Running rpm Note: It is recommended that you invoke the "rpm" command with all the filesets that you want to install, instead of invoking "rpm" separately for each fileset. In that way, you avoid the need to specify the strict order to install the filesets, because some are pre-requisites for others. When you include all the filesets at once, the "rpm" command finds out which is the proper order of installation and proceeds to execute the installation in the precise order. Login as user: root Go to the directory that has the rpm files to be installed: # cd /downloads/mq9100/MQServer

Change to the subdirectory and proceed to accept the license: # ./mqlicense.sh -accept … Agreement accepted: Proceed with install. Issue: # rpm -ivh MQ*.rpm Preparing... ################################# [100%] Updating / installing... 1:MQSeriesRuntime-9.1.0-0 ################################# [ 3%] … 34:MQSeriesSDK-9.1.0-0 ################################# [100%]

List the installed rpm’s.

Page 12: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 1122 ooff 2277

# rpm -qa | grep MQSeries MQSeriesRuntime-9.1.0-0.x86_64 … # /opt/mqm/bin/dspmqinst InstName: Installation1 InstDesc: Identifier: 1 InstPath: /opt/mqm Version: 9.1.0.1 Primary: No State: Available

Page 13: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 1133 ooff 2277

++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++ Chapter 3: Applying Fix Pack MQ 9.1.0.1 LTS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ Downloading latest Fix Pack for MQ 9.1 LTS

hhttttpp::////wwwwww--0011..iibbmm..ccoomm//ssuuppppoorrtt//ddooccvviieeww..wwssss??rrss==117711&&uuiidd==sswwgg2277000066003377 Recommended Fixes for WebSphere MQ Follow the prompts for: IBM MQ Version 9.1 LTS Fix Pack 9.1.0.1 For this technote, the fix pack MQ 9.1.0.1 LTS was downloaded. https://www-01.ibm.com/support/docview.wss?uid=ibm10738815 Downloading IBM MQ Version 9.1.0.1 The file … 9.1.0-IBM-MQ-LinuxX64-FP0001.tar.gz

… was downloaded into: /downloads/mq9101 ++ Applying the fix pack Login as root Change to the location where the file was downloaded: # cd /downloads/mq9101 Untar the file: # tar -zxvf 9.1.0-IBM-MQ-LinuxX64-FP0001.tar.gz Notice that the RDQM feature is extracted into its own subdirectory: Advanced # ls -1F 9.1.0-IBM-MQ-LinuxX64-FP0001.tar.gz Advanced/ MQSeriesAMQP-U9101-9.1.0-1.x86_64.rpm … # ls -1F Advanced/RDQM MQSeriesRDQM-U9101-9.1.0-1.x86_64.rpm PreReqs/ Install the rpm files: # rpm -ivh MQ*.rpm

Page 14: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 1144 ooff 2277

Preparing... ################################# [100%] Updating / installing... 1:MQSeriesRuntime-U9101-9.1.0-1 ############################# ( 87%) … 34:MQSeriesWeb-U9101-9.1.0-1 ################################# [100%]

List the installed rpm’s. Notice that you will see a mix of base 9.1.0.0 and fix pack 9.1.0.1 # rpm -qa | grep MQSeries MQSeriesRuntime-9.1.0-0.x86_64 MQSeriesRuntime-U9101-9.1.0-1.x86_64 Show the MQ installation details: # /opt/mqm/bin/dspmqinst InstName: Installation1 InstDesc: Identifier: 1 InstPath: /opt/mqm Version: 9.1.0.1 Primary: No State: Available

Page 15: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 1155 ooff 2277

++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++ Chapter 4: Running setmqinst to designate the Primary installation ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ OK, you have installed MQ 9.1 and you proceed to issue MQ commands. You login as an MQ Administrator and try to run an MQ command, such as: dspmq You expect the list of queue managers, but instead, you get an error message! -bash: dspmq: command not found

You try another command: dspmqver And instead of getting the version of MQ, you get an error message. What is going on? This is what happened: starting with MQ 7.1, there is a new function called "multi-version", which allows to have multiple versions and fix packs of MQ to be installed concurrently (co-existing) in the same machine. For example, you may want to have: MQ 7.0.1.6 (the minimum version in 7.0.1 for multi-version) in /opt/mqm MQ 7.1.0.0 in /opt/mqm71 MQ 7.1.0.1 in /opt/mqm7101 MQ 7.5.0.0 in /opt/mqm75 MQ 8.0.0.11 in /opt/mqm80 Assuming the above 5 installations, now you will have 5 different versions of the command "strmqm". Question: which one do you want to use? If there is a symbolic link in /usr/lib for "strmqm", to which version should it point to? To the one in /opt/mqm? Or /opt/mqm75? It could be very confusing to issue strmqm for a queue manager that is running under MQ 7.5 but the strmqm is the one from MQ 7.1.0.1. To avoid that confusion, the symbolic links in /usr/bin for most of the MQ commands and links in /usr/lib for the MQ library files have been removed whenever MQ 7.1 or later is installed in the system. At this point, you have 2 ways on how to proceed: a) Decide to not have a Primary installation.

Page 16: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 1166 ooff 2277

b) Designate one of the installations to be a Primary installation, and symbolic links will be created in /usr/bin to use the MQ files from the desired installation. This is desirable when you want to work most of the time with that particular installation. For this techdoc, because we have ONLY ONE installation of MQ, it makes perfect sense that /opt/mqm should be the Primary Installation. Thus, the rest of this chapter will describe how to accomplish that. Wait a moment! If I have only 1 installation of MQ in the system, why the MQ installation utilities do not assign it to be the Primary? Why do I have to be bothered to take one more step in order to manually designate it as Primary? One reason is that the utilities do not know if your intention is to install in the same day 2 different versions of MQ in the same machine. A Primary installation is not chosen (even if it is the only installation) just in case that you want to exploit the multi-version feature later on and this early decision of not designating a Primary will save you confusion and frustration later on. On UNIX and Linux systems, if you set an installation as the Primary installation, symbolic links to the external libraries and control commands of that installation are added into /usr/lib, and /usr/bin. If you do not have a primary installation, the symbolic links are not created. For more information see: https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.ins.doc/q005740_.htm IBM MQ 9.1.x / IBM MQ / Installing and uninstalling / IBM MQ installation overview / Planning considerations for installation on Multiplatforms / Primary installation on UNIX, Linux, and Windows https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.con.doc/q015180_.htm IBM MQ 9.1.x / IBM MQ / Configuring / Configuring multiple installations / Changing the primary installation You need to run the command as root (otherwise, the command will fail) Login as root Issue: # /opt/mqm/bin/setmqinst -i -p /opt/mqm 143 of 143 tasks have been completed successfully.

Page 17: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 1177 ooff 2277

'Installation1' (/opt/mqm) set as the primary installation. Issue the command to show the MQ installations. Notice that the Installation1 has been designated as Primary. Primary: Yes # /opt/mqm/bin/dspmqinst InstName: Installation1 InstDesc: Identifier: 1 InstPath: /opt/mqm Version: 9.1.0.1 Primary: Yes State: Available Notice that a couple of lines are appended to the mqinst.ini file: there is a new stanza "Primary": # cat /etc/opt/mqm/mqinst.ini Installation: Name=Installation1 Description= Identifier=1 FilePath=/opt/mqm Primary: Name=Installation1 Notice that there are new symbolic links for MQ commands in /usr/bin, such as: ls -l /usr/bin/*mq*

lrwxrwxrwx 1 root root 18 Mar 9 16:59 /usr/bin/dspmq -> /opt/mqm/bin/dspmq lrwxrwxrwx 1 root root 21 Mar 9 16:59 /usr/bin/dspmqtrc -> /opt/mqm/bin/dspmqtrc lrwxrwxrwx 1 root root 21 Mar 9 16:59 /usr/bin/dspmqver -> /opt/mqm/bin/dspmqver lrwxrwxrwx 1 root root 21 Mar 9 16:59 /usr/bin/endmqlsr -> /opt/mqm/bin/endmqlsr lrwxrwxrwx 1 root root 19 Mar 9 16:59 /usr/bin/endmqm -> /opt/mqm/bin/endmqm

Also notice that there are symbolic links in /usr/lib, such as: # ls -l /usr/lib/*mq*

lrwxrwxrwx 1 root root 20 Mar 9 16:59 /usr/lib/libimqb23gl_r.so -> libimqb23gl_r.so.4.1 lrwxrwxrwx 1 root root 33 Mar 9 17:58 /usr/lib/libimqb23gl_r.so.4.1 -> /opt/mqm/lib/libimqb23gl_r.so.4.1

Now that we have a Primary installation and the symbolic links in /usr/bin, let's check again the behavior dspmq and dspmqver commands mentioned earlier.

Page 18: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 1188 ooff 2277

Login as mqm Issue: $ dspmq QMNAME(QM80) STATUS(Ended immediately) $ dspmqver Name: IBM MQ Version: 9.1.0.1 Level: p910-001-181108 BuildType: IKAP - (Production) Platform: IBM MQ for Linux (x86-64 platform) Mode: 64-bit O/S: Linux 3.10.0-957.1.3.el7.x86_64 InstName: Installation1 InstDesc: Primary: Yes InstPath: /opt/mqm DataPath: /var/mqm MaxCmdLevel: 910 LicenseType: Production

Page 19: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 1199 ooff 2277

++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++ Chapter 5: Running setmqenv to use MQ 9.1 commands ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Now that we finished with the root activities, we can login as an MQ administrator. You can use the following new MQ command to display the information on the installation. [email protected]: /home/mqm $ dspmqinst InstName: Installation1 InstDesc: Identifier: 1 InstPath: /opt/mqm Version: 9.1.0.1 Primary: Yes State: Available Now, let's display the version of MQ: $ dspmqver Name: IBM MQ Version: 9.1.0.1 Level: p910-001-181108 BuildType: IKAP - (Production) Platform: IBM MQ for Linux (x86-64 platform) Mode: 64-bit O/S: Linux 3.10.0-957.1.3.el7.x86_64 InstName: Installation1 InstDesc: Primary: Yes InstPath: /opt/mqm DataPath: /var/mqm MaxCmdLevel: 910 LicenseType: Production You need to run the following MQ command to setup the MQ environment variables: setmqenv

Page 20: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 2200 ooff 2277

Before running "setmqenv", the following command did not return any entries for environment variables that have "MQ" or "mq" in the names: $ set | grep -i mq (no items returned) It is a bit tricky to invoke the setmqenv command. You need to "source" (run "inline") the utility setmqenv by specifying a leading . (dot) and a blank: $ . /opt/mqm/bin/setmqenv -n Installation1

| |

| +--- blank

+--- dot

These are the changes made in the environment by this utility: CLASSPATH=/opt/mqm/java/lib/com.ibm.mq.jar:/opt/mqm/java/lib/com.ibm.mqjms.jar:/opt/mqm/java/lib/com.ibm.mq.allclient.jar:/opt/mqm/samp/wmqjava/samples:/opt/mqm/samp/jms/samples MANPATH=/opt/mqm/man::/usr/man MQSERVER='SYSTEM.DEF.SVRCONN/TCP/localhost(1414)' MQ_DATA_PATH=/var/mqm MQ_ENV_MODE=64 MQ_INSTALLATION_NAME=Installation1 MQ_INSTALLATION_PATH=/opt/mqm MQ_JAVA_DATA_PATH=/var/mqm MQ_JAVA_INSTALL_PATH=/opt/mqm/java MQ_JAVA_LIB_PATH=/opt/mqm/java/lib64 MQ_JRE_PATH=/opt/mqm/java/jre64/jre MQ_RETVAL=0 PATH=/opt/mqm/bin:/opt/ibm/java-x86_64-70/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/bin:/home/mqm/bin:.:/sbin:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin:/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin:/home/mqm/.local/bin:/home/mqm/bin + Hint: You can create a script that will run the setmqenv command with the specified syntax.

Page 21: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 2211 ooff 2277

Its usage is an overkill when having only 1 installation in the system, but it becomes very useful if you decide to exploit the multi-version features later on. For example, the script $HOME/bin/set-mq-91 can be created with the contents:

$ mkdir $HOME/bin $ cd $HOME/bin $ vi set-mq-91

============= begin script # Name: set-mq-91

# Purpose: to setup the environment to run MQ 9.1

. /opt/mqm/bin/setmqenv -n Installation1

# Additional MQ directories for the PATH

export

PATH=$PATH:$MQ_INSTALLATION_PATH/java/bin:$MQ_INSTALLATION_PATH/

samp/bin:$MQ_INSTALLATION_PATH/samp/jms/samples:

# Add local directory for running Java/JMS programs

export CLASSPATH=$CLASSPATH:.

# Display the full fix pack level

dspmqver -f 2

# end

============= end of script Notice that additional directories are included in the PATH. This is going to be explained later. The setmqenv will setup the proper directory for MQ_INSTALLATION_PATH. You will need to specify the script as executable: $ chmod 755 $HOME/bin/set-mq-91 You will need to add $HOME/bin in the PATH in your .bashrc or .profile: PATH=$PATH:$HOME/bin:. export PATH You will need to invoke the script with the leading dot!

$ . set-mq-91

| |

| +--- blank

+--- dot

+++ Hint for your bashrc or profile You can add into your bashrc or profile file the following: . set-mq-91

Page 22: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 2222 ooff 2277

++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++ Chapter 6: Creating a queue manager under 9.1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Let's create a new queue manager. Notice the new line shown in bold font that indicates that Installation1 is used: [email protected]: /home/mqm $ crtmqm -u SYSTEM.DEAD.LETTER.QUEUE QM91 IBM MQ queue manager created. Directory '/var/mqm/qmgrs/QM91' created. The queue manager is associated with installation 'Installation1'. Creating or replacing default objects for queue manager 'QM91'. Default objects statistics : 84 created. 0 replaced. 0 failed. Completing setup. Setup completed. Start the queue manager. Notice the lines that indicate the installation and the version under which the queue manager is running: $ strmqm QM91 IBM MQ queue manager 'QM91' starting. The queue manager is associated with installation 'Installation1'. 5 log records accessed on queue manager 'QM91' during the log replay phase. Log replay for queue manager 'QM91' complete. Transaction manager state recovered for queue manager 'QM91'. IBM MQ queue manager 'QM91' started using V9.1.0.1. Let's display the status $ dspmq -m QM91 QMNAME(QM91) STATUS(Running) Let's do a more advanced display of status. $ dspmq -o installation -m QM91 QMNAME(QM91) INSTNAME(Installation1) INSTPATH(/opt/mqm) INSTVER(9.1.0.1)

Page 23: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 2233 ooff 2277

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++ Chapter 7: Remote access to the new MQ 9.1 queue manager ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ This is a TEST queue manager and it is NOT a PRODUCTION queue manager. In order to illustrate in a simpler and faster way the remote connection, 2 relative new security features are being relaxed to behave like an MQ 7.0 queue manager. These are items 2 and 3 in the list below. NOTE: The changes in items 2 and 3 are not suitable for PRODUCTION queue managers! 1: Add listener and SYSTEM.ADMIN.SVRCONN for MQ Explorer. 2: Customize CONNAUTH to allow MQ administrators to not specify passwords, otherwise you will get the generic rc 2035 (MQRC_NOT_AUTHORIZED) NOTE: This change is not suitable for PRODUCTION but might be suitable for TEST queue managers. 3: Customize the channel authentication records to allow MQ administrators, otherwise you will get the generic rc 2035 (MQRC_NOT_AUTHORIZED) NOTE: This change is not suitable for PRODUCTION but might be suitable for TEST queue managers. The rest of this chapter provides more details Step 1: Let's customize the queue manager to allow it to be monitored remotely by the MQ Explorer and to create a local queue Q1 for initial testing: $ runmqsc QM91 define listener(TCP.LISTENER) trptype(tcp) control(qmgr) port(1414) start listener(TCP.LISTENER) define channel(SYSTEM.ADMIN.SVRCONN) chltype(SVRCONN) REPLACE define ql(Q1) end Now you start the MQ Explorer from a remote host, using a userid that is an MQ Administrator in the host that has the newly created queue manager.

Page 24: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 2244 ooff 2277

Text inside the dialog box: Access not permitted. You are not authorized to perform this operation. (AMQ4036) Severity: 10 (Warning) Explanation: The queue manager security mechanism has indicated that the userid associated with this request is not authorized to access the object. When dealing with security errors (authentication, authorization), the MQ client application will not get more information. To find out more details, you need to take a look at the error log for the queue manager (/var/mqm/qmgrs/QM91/errors/AMQERR01.LOG). Step 2” Consult the following technotes for more information on strategies to overcome the remote access. ## Security note: the following changes are not suitable for PRODUCTION but might be suitable for TEST queue managers. a) Starting with MQ 7.1, a new security feature was introduced: channel authentication records. The default behavior is that MQ administrators are blocked from doing a remote access. For more information on the errors and the workarounds see: http://www.ibm.com/support/docview.wss?uid=swg21577137 WMQ 7.1, 7.5, 8.0 queue manager RC 2035 MQRC_NOT_AUTHORIZED or AMQ4036 when using client connection as an MQ Administrator b) Starting with MQ 8.0, the MQ Administrators are required to provide a password when doing a remote access.

Page 25: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 2255 ooff 2277

The user/password that we are talking here are the ones from the operating system where the queue manager resides. The queue manager does NOT store passwords. The MQ Client passes the userid and password to the queue manager, the queue manager checks the entry for AUTHINFO and it sees that the CHCKCLNT(REQADM) is set, which means that the MQ Administrators must provide a valid password. The queue manager receives the userid from the client and it determines that this userid belongs to the local group "mqm". Thus, the queue manager asks the operating system (OS) to validate the received password for the userid. The OS is the one in charge of validating that the provided password is the correct one, and tells the results to the queue manager. If the password is fine, then the queue manager proceeds with the connection, but if the password is not valid, then the queue manager will issue a reason code 2035. See the following technote for the new errors that are generated and some workarounds to overcome them. This technote includes also information on the MQCSP structure that can be used to specify userids and passwords that are longer than 12 characters. http://www.ibm.com/support/docview.wss?uid=swg21680930 MQ 8.0: errors AMQ5540, AMQ5541 and AMQ5542, application did not supply a user ID and password, 2035 MQRC_NOT_AUTHORIZED If the user is not an MQ administrator, then you will need to create new channel authentication records to allow the user to access the queue manager. For a variety of examples of channel authentication records, see: http://www-01.ibm.com/support/docview.wss?uid=swg27041997 CHLAUTH Made Simple: Common Scenarios and Examples and How to Verify them with RUNCHECK c) In addition, the following technote includes also information on the MQCSP structure that can be used to specify userids and passwords that are longer than 12 characters. http://www.ibm.com/support/docview.wss?rs=171&uid=swg27048082 How to specify a userid and a password in MQ Explorer 8 Chapter 1: Setup of a connection for a remote queue manager Chapter 2: Specifying userid and password using the default compatibility mode Chapter 3: Specifying userid and password using MQCSP Authentication mode

Page 26: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 2266 ooff 2277

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++ Chapter 8: Upgrading an existing queue manager from MQ 8.0 to MQ 9.1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Let's display the status of the queue managers. $ dspmq QMNAME(QM80) STATUS(Ended immediately) QMNAME(QM91) STATUS(Running) Notice that the QM80 queue manager was created with MQ 8.0 and its data is still for MQ 8.0. To migrate QM80 from MQ 8.0 to MQ 9.1, you need to start the queue manager with the MQ 9.1 code. The strmqm command will detect that the data needs to be upgraded and it will proceed to upgrade the data. NOTE: The upgrade of the data is NOT reversible! $ strmqm QM80 IBM MQ queue manager 'QM80' starting. The queue manager is associated with installation 'Installation1'. 5 log records accessed on queue manager 'QM80' during the log replay phase. Log replay for queue manager 'QM80' complete. Transaction manager state recovered for queue manager 'QM80'. Migrating objects for queue manager 'QM80'. Default objects statistics : 5 created. 0 replaced. 0 failed. IBM MQ queue manager 'QM80' started using V9.1.0.1. Let's display the status: $ dspmq QMNAME(QM80) STATUS(Running) QMNAME(QM91) STATUS(Running) - Now display some relevant attributes for the queue manager using runmqsc. Notice the CMDLEVEL and the new VERSION fields: $ runmqsc QM80

Page 27: Upgrading MQ 8.0.0.11 to MQ 9.1.0.1 LTS in Linux Angel ...

PPaaggee 2277 ooff 2277

DISPLAY QMGR CMDLEVEL VERSION AMQ8408I: Display Queue Manager details. QMNAME(QM80) CMDLEVEL(910) VERSION(09010001) +++ end +++


Recommended