April 2024
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
2930  

Categories

April 2024
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
2930  

AMQ7017 queue manager log not available or corrupted

Problem
Your queue manager fails to start with the following error :

AMQ7017 Log not available

Cause
The qm.ini files had been altered and the LogPath entries were removed.

After making the change to qm.ini LogPath, the queue manager failed to start because S0000001.log was not available. The log file was present and the permissions appeared to be correct, but it seemed to be corrupted.

Solution
Edit the qm.ini file and specify the correct LogPath.

If the queue manager fails to start and you suspect a corrupted log file, then do the following:

Here are the steps to follow to recover from the damaged log file(s) in /var/mqm/log/qmgrname/active. The queue manager is referred to as TESTQMGR.

cd /var/mqm/qmgrs
mv TESTQMGR TEST.OLD

NOTE:This will rename the TESTQMGR directory to be TEST.OLD, effectively backing up all your queues and objects.
dltmqm TESTQMGR

Note: This command may not completely run and it may produce error messages. This is OK. At the end of this command there are 3 places to check to make sure everything is cleaned up from TESTQMGR and if it did not then you will need to manually remove
what is left.
There should not be a directory under /var/mqm/qmgrs by the name of TESTQMGR as it should have been renamed to TEST.OLD.
In /var/mqm/log there should not be a directory name TESTQMGR. If there is a directory left there, from /var/mqm/log issue the command rm -rf TESTQMGR to remove the old logs.
In /var/mqm there is a file called mqs.ini. Within file mqs.ini there will be QueueManager: stanzas for each queue manager defined on this box. There should no longer be a stanza referring to TESTQMGR. If there is a stanza for TESTQMGR, remove it; the whole
stanza (should be 4 lines.)
crtmqm TESTQMGR
cd /var/mqm/qmgrs
cp TESTQMGR/amqalchk.fil TEST.OLD

(This is to copy the new check point file over to the backup directory where you are saving our old queue manager files.)
rm -rf TESTQMGR

(This will remove the new qmgr files you just created so you can replace them with the files from the old queue manager that you had saved.)
mv TEST.OLD TESTQMGR

(This is where you just restored the old definitions. At this point you should have a new queue manager created with new logs but you should have our old queues and channels still there.)
strmqm TESTQMGR

(Start up the queue manager. Everything should be back to normal except there will be no attempt to recover any in-flight UOWs because you have nothing in the logs.)

another path ?

Failure recovery and the queue manager

After a full system failure and recovery, the queue manager might fail to start, displaying this message:

AMQ7017 Log not available.

This typically indicates that the log file is missing or damaged, or that the log path to the queue manager is inaccessible.
To remedy the problem, create a dummy queue manager and copy its header log file and transaction log files over to the actual queue manager. This will allow you to restart the queue manager.

 

 

When start being given AMQ7017 MQ queue manager: Log not available, the following example

$ strmqm

AMQ7017: Log not available.

For this problem solving process is more complex, as an example to the queue manager QM2 about the recovery process:

1, the backup queue manager QM2 objects

# su – mqm

$ cd /var/mqm/qmgrs

$ mv QM2 QM2_OLD

2, delete the queue manager QM2

$ dltmqm QM2

MQSeries queue manager deleted.

3, delete directory directory /var/mqm/log under the QM2

$ cd /var/mqm/log

$ rm -rf QM2

4? the file does not ensure /var/mqm/mqs.ini QM2 project, if it is deleted.

$ vi /var/mqm/mqs.ini

AllQueueManagers:

DefaultPrefix=/var/mqm

ClientExitPath:

ExitsDefaultPath=/var/mqm/exits

LogDefaults:

LogPrimaryFiles=3

LogSecondaryFiles=2

LogFilePages=1024

LogType=CIRCULAR

LogBufferPages=17

LogDefaultPath=/var/mqm/log

QueueManager:

Name=QM3

Prefix=/var/mqm

Directory=QM3

5? re-create the queue manager QM2

$ crtmqm QM2

MQSeries queue manager created.

Creating or replacing default objects for QM2.

Default objects statistics : 29 created. 0 replaced. 0 failed.

Completing setup.

Setup completed.

?? /var/mqm/mqs.ini ?????

$ vi /var/mqm/mqs.ini

AllQueueManagers:

DefaultPrefix=/var/mqm

ClientExitPath:

ExitsDefaultPath=/var/mqm/exits

LogDefaults:

LogPrimaryFiles=3

LogSecondaryFiles=2

LogFilePages=1024

LogType=CIRCULAR

LogBufferPages=17

LogDefaultPath=/var/mqm/log

QueueManager:

Name=QM3

Prefix=/var/mqm

Directory=QM3

QueueManager:

Name=QM2

Prefix=/var/mqm

Directory=QM2

6? Copy the new check point before the backup file to a directory in QM2_OLD

$ cd /var/mqm/qmgrs

$ cp QM2/amqalchk.fil QM2_OLD

7 Remove the new queue manager object directory /var/mqm/qmgrs/QM2

$ rm -rf QM2

8?the object manager object data backup to restore the directory to the directory QM2 QM2_OLD

$ mv QM2_OLD QM2

9 start the queue manager QM2, problems get.

$ strmqm QM2

MQSeries queue manager ‘QM2’ started.

1 comment to AMQ7017 queue manager log not available or corrupted

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>