I'm trying to biuld some job automations for MQ Upgrading/Patching, so far the upgrade was great! But when it comes to the rollback part Im getting issues at the time of starting the previous version. Epecifically the error I get is:
IBM MQ queue manager 'QM1.TEST' starting.
The queue manager is associated with installation 'Installation1'.
AMQ7204E: IBM MQ queue manager 'QM1.TEST' cannot be started by this
installation. It has previously been started by a newer release of IBM MQ.
Does someone has some information about it?
I checked the logs and it points to the CMDLEVEL. Which I understand if Im upgrading from 9.2 to 9.3 will be 920 instead of 930. Basically I uninstalled the 9.3 and then installed 9.2 with rpm (as the IBM document says: https://www.ibm.com/docs/en/ibm-mq/9.2?topic=linux-upgrading-mq-installation-using-rpm-command). Looks like somewhere in /var/mqm something changes when I do the upgrade but doesn't go back when I try to go back to 9.2
Also I tried to force the strmqm command with a -e CMDLEVEL=920 but no luck, still getting the same message:
01/03/2024 04:12:59 PM - Process(17166.1) User(mqm) Program(amqzxma0)
Host(iacvm1649) Installation(Installation1)
VRMF(9.2.0.7) QMgr(QM1.TEST)
Time(2024-01-03T19:12:59.439Z)
ArithInsert1(930)
CommentInsert1(QM1.TEST)
AMQ7204E: IBM MQ queue manager 'QM1.TEST' cannot be started by this
installation. It has previously been started by a newer release of IBM MQ.
EXPLANATION:
The queue manager has previously been started by a newer release of IBM MQ at
command level 930. This installation is not compatible with the newer release's
data. Migration between these releases is not possible.
ACTION:
If the queue manager's data is shared using networked storage, ensure that all
installations used to start the queue manager are of the same release. The
queue manager can be started by installing a release of IBM MQ which supports
command level 930 or higher.
Just in case:
[mqm@test1 errors]$ dspmqver
Name: IBM MQ
Version: 9.2.0.7
Level: p920-007-221118
BuildType: IKAP - (Production)
Platform: IBM MQ for Linux (x86-64 platform)
Mode: 64-bit
O/S: Linux 4.18.0-513.9.1.el8_9.x86_64
O/S Details: Red Hat Enterprise Linux 8.9 (Ootpa)
InstName: Installation1
InstDesc:
Primary: No
InstPath: /opt/mqm
DataPath: /var/mqm
MaxCmdLevel: 920
LicenseType: Production
[mqm@test1]$ rpm -qa | grep MQSeries
MQSeriesWeb-9.2.0-7.x86_64
MQSeriesRuntime-9.2.0-7.x86_64
MQSeriesSamples-9.2.0-7.x86_64
MQSeriesJRE-9.2.0-7.x86_64
MQSeriesSDK-9.2.0-7.x86_64
MQSeriesServer-9.2.0-7.x86_64
MQSeriesClient-9.2.0-7.x86_64
MQSeriesGSKit-9.2.0-7.x86_64
MQSeriesMan-9.2.0-7.x86_64
MQSeriesJava-9.2.0-7.x86_64
As Josh mentioned, once you start a new release of IBM MQ against an existing queue manager's data files then you cannot revert back to the lower numbered release. i.e. 9.3 -> 9.2
What I always do is before any upgrade is:
run dmpmqcfg command against the queue manager and dump everything to a file
take a backup of the entire queue manager directory under /var/mqm/qmgrs/{QMgrName}/ for Unix/Linux or C:\ProgramData\IBM\MQ\qmgrs{QMgrName}\ on Windows.
Then if anything goes wrong, I can get back to a working version of MQ after the downgrading IBM MQ.