I want to use the dmpmqlog
utility to view messages found in circular logs. Even though I follow everything as per IBM documentation, after I create the dump I'm unable to find the data in the logs. I stop the queue manager before running the dmpmqlog
command, manually add few messages to the queue. But in the dumped log files these messages are not shown.
I used the following invocation of dmpmqlog
:
dmpmqlog -m QMA
AMQ7701I: DMPMQLOG command is starting.
LOG FILE HEADER
***************
counter1 . . . : 56
FormatVersion . : 5 StrucId . . . . : 'HLFH'
logactive . . . : 3 loginactive . . : 2
logsize . . . . : 4096 pages
baselsn . . . . : <0:0:0:0>
nextlsn . . . . : <0:0:16:43833>
lowtranlsn . . : <0:0:16:43129>
minbufflsn . . : <0:0:16:42697>
headlsn . . . . : <0:0:16:42697>
taillsn . . . . : <0:0:16:43832>
hflag1 . . . . : 1
-> CONSISTENT
-> CIRCULAR
HeadExtentID . : 0 LastEID . . . . : 1650643508
LogId . . . . . : 1650643508
FirstArchNum . : 4294967295 LastArchNum . . : 4294967295
nextArcFile . . : 4294967295
FileCount . . . : 3
Files . . . . . : 0, 1, 2
LastCId . . . . : 0 softmax . . . . : 16777216
LogPageSize . . : 4096
RecOffset . . . : 4096
MinAlign . . . : 4096
counter2 . . . : 56
AMQ7719I: DMPMQLOG command is using a default of '0:0:16:42697' for the starting dump location.
LOG RECORD - LSN <0:0:16:42697>
**********
HLG Header: lrecsize 212, version 1, rmid 0, eyecatcher HLRH
Creation Time: 2022-04-22 22:39:27.137 (UNKNOWN) (UTC +330)
LogRecdType . . : ALM Start Checkpoint (1025)
Eyecatcher . . : ALRH Version . . . . : 1
LogRecdLen . . : 192 LogRecdOwnr . . : 1024 (ALM)
XTranid . . . . : TranType: NULL
ObjectName . . : NULL
Qid . . . . . . : {NULL_QID}
ThisLSN . . . . : <0:0:0:0>
PrevLSN . . . . : <0:0:15:50639>
No data for Start Checkpoint Record
LOG RECORD - LSN <0:0:16:42909>
**********
HLG Header: lrecsize 220, version 1, rmid 0, eyecatcher HLRH
Creation Time: 2022-04-22 22:39:27.137 (UNKNOWN) (UTC +330)
LogRecdType . . : ATM Transaction Table (773)
Eyecatcher . . : ALRH Version . . . . : 1
LogRecdLen . . : 200 LogRecdOwnr . . : 768 (ATM)
XTranid . . . . : TranType: NULL
ObjectName . . : NULL
Qid . . . . . . : {NULL_QID}
ThisLSN . . . . : <0:0:0:0>
PrevLSN . . . . : <0:0:0:0>
Also my CURRLOG
is showing no log files.
DIS QMSTATUS CURRLOG
1 : DIS QMSTATUS CURRLOG
AMQ8705I: Display Queue Manager Status Details.
QMNAME(QMD) STATUS(RUNNING)
CURRLOG( )
What am I doing wrong here, any help would be greatly appreciated.
IBM MQ V 9.1
I suspect you might have more luck with the dmpmqlog
program if you try the following invocation:-
dmpmqlog -m QMA -b
The CURRLOG parameter is only applicable if you are using linear logging. Since you are using circular logging, it is expected to see a blank in there.
From IBM Docs about DISPLAY QMSTATUS:-
CURRLOG
The name of the log extent being written to at the time that the DISPLAY QMSTATUS command is processed. If the queue manager is using circular logging, and this parameter is explicitly requested, a blank string is displayed.