Author |
Message
|
nvs76 |
Posted: Wed Sep 28, 2005 9:12 am Post subject: Not receiving messages from Remote queue - Help please |
|
|
Novice
Joined: 28 Sep 2005 Posts: 11
|
Hello MQ Gurus,
Using MQ version 5.2 (not really sure)
I'm not really familiar with MQ series. Just know basic stuff as I just monitor whether msgs are transferring or not.
I have this queue REC.REC.CTR.UPDATE where I receive msgs from Mainframe. The msgs are getting delayed; sometimes takes 5 hrs, 10 hrs; 12 hrs...may be more... Its just started hapenning since 2-3 weeks.
The current depth of REC.REC.CTR.UPDATE is zero.
The depth on DLQ (dead letter queue) is 10000 and its' maxdepth is 10000 also.
I don't know if it is related to other queue not receiving the msgs.
Any help would be appreciated.
-NVS  |
|
Back to top |
|
 |
hopsala |
Posted: Wed Sep 28, 2005 9:19 am Post subject: Re: Not receiving messages from Remote queue - Help please |
|
|
 Guardian
Joined: 24 Sep 2004 Posts: 960
|
nvs76 wrote: |
Using MQ version 5.2 (not really sure) |
Use command "mqver" and tell us, also which OS are you on?
nvs76 wrote: |
The current depth of REC.REC.CTR.UPDATE is zero.
The depth on DLQ (dead letter queue) is 10000 and its' maxdepth is 10000 also. |
It is higly probable that this is related to your original prob. My guess is that msgs for some reason do not reach your local queue (REC.REC.CTR.UPDATE - what a terrible name!), so the qm tries to put them to DLQ, but since the dlq is full, the channel goes down. Check whether your channel in in RETRY.
Now, you need to know why msgs are put to the DLQ, so simply open the DLQ (using the MQ Explorer) and look at the dead letter queue header, that'll tell you why the msgs are there. Possibly you'll get not_authorized or some storage related problem (judging by the fact it used to work). |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 28, 2005 9:21 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Are you the MQ Administrator?
Or just the person who monitors things?
You should a) use amqsbcg to dump out the contents of the DLQ, or some other tool, and b) clear it. Then examine the reason code of the messages (at least the first and last) to see why they ended up there.
Then you need to look at the error logs for messages about problems with channels. If you don't see any on your local queue manager, you need to ask the mainframe MQ staff to check for channel errors on their side. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
nvs76 |
Posted: Wed Sep 28, 2005 9:50 am Post subject: |
|
|
Novice
Joined: 28 Sep 2005 Posts: 11
|
It was really fast reply.. Appreciate it!
I tried "mqver" but didn't find the command.
We are running the MQ on AIX 4.2 version.
Yes. I'm just monitoring the things, not an Administrator.
Here is the channel status.
display channel(APPOMQM.TO.PRMQ) all
33 : display channel(APPOMQM.TO.PRMQ) all
AMQ8414: Display Channel details.
CHANNEL(APPOMQM.TO.PRMQ)
CHLTYPE(SVR)
TRPTYPE(TCP)
DESCR( )
XMITQ(PRMQ)
MCANAME()
MODENAME()
TPNAME()
BATCHSZ(50)
DISCINT(3600)
SHORTRTY(10)
SHORTTMR(60)
LONGRTY(999999999)
LONGTMR(1200)
SCYEXIT()
MSGEXIT()
SENDEXIT()
RCVEXIT()
SEQWRAP(999999999)
MAXMSGL(4194304)
CONVERT(YES)
SCYDATA()
MSGDATA()
SENDDATA()
RCVDATA()
USERID()
PASSWORD()
MCAUSER()
MCATYPE(PROCESS)
CONNAME(MVS)
display channel(PRMQ.TO.APPOMQM) all
35 : display channel(PRMQ.TO.APPOMQM) all
AMQ8414: Display Channel details.
CHANNEL(PRMQ.TO.APPOMQM)
CHLTYPE(RQSTR)
TRPTYPE(TCP)
DESCR( )
MCANAME()
MODENAME()
TPNAME()
BATCHSZ(50)
SCYEXIT()
MSGEXIT()
SENDEXIT()
RCVEXIT()
SEQWRAP(999999999)
MAXMSGL(4194304)
PUTAUT(DEF)
SCYDATA()
MSGDATA()
SENDDATA()
RCVDATA()
USERID()
PASSWORD()
MCAUSER()
MCATYPE(PROCESS)
CONNAME(MVS)
MREXIT()
MRDATA()
MRRTY(10)
MRTMR(1000)
Here the MVS in CONNAME(MVS) is the mainframe box. |
|
Back to top |
|
 |
nvs76 |
Posted: Wed Sep 28, 2005 9:54 am Post subject: |
|
|
Novice
Joined: 28 Sep 2005 Posts: 11
|
jefflowrey wrote: |
Are you the MQ Administrator?
Or just the person who monitors things?
You should a) use amqsbcg to dump out the contents of the DLQ, or some other tool, and b) clear it. Then examine the reason code of the messages (at least the first and last) to see why they ended up there.
Then you need to look at the error logs for messages about problems with channels. If you don't see any on your local queue manager, you need to ask the mainframe MQ staff to check for channel errors on their side. |
Rather than clearing the dead letter queue, is there a way to find out why the msgs are going into DLQ? It might filled up again if we don't know the reason and just clear it up.
BTW I don't see command called amqsbcg in /usr/bin directory where other MQ commands are located.
Thanks, |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 28, 2005 9:54 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Actually, to display the channel status, you need to "display channel status(<channel name>)". _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
nvs76 |
Posted: Wed Sep 28, 2005 10:01 am Post subject: |
|
|
Novice
Joined: 28 Sep 2005 Posts: 11
|
jefflowrey wrote: |
Actually, to display the channel status, you need to "display channel status(<channel name>)". |
I tried this command in RUNMQSC and it didn't work.
display channel status(APPOMQM.TO.PRMQ)
1 : display channel status(APPOMQM.TO.PRMQ)
AMQ8405: Syntax error detected at or near end of command segment below:-
display channel status |
|
Back to top |
|
 |
PGoodhart |
Posted: Wed Sep 28, 2005 10:02 am Post subject: |
|
|
Master
Joined: 17 Jun 2004 Posts: 278 Location: Harrisburg PA
|
display chstatus(*) _________________ Patrick Goodhart
MQ Admin/Web Developer/Consultant
WebSphere Application Server Admin |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 28, 2005 10:02 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
sorry.
I always do "dis chs(<channelname>)". So I forgot the proper expansion, which is "display chstatus". _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
nvs76 |
Posted: Wed Sep 28, 2005 10:06 am Post subject: |
|
|
Novice
Joined: 28 Sep 2005 Posts: 11
|
dis chs(*)
19 : dis chs(*)
AMQ8417: Display Channel Status details.
CHANNEL(APPOMQM.TO.PRMQ)
XMITQ(PRMQ)
CONNAME(129.1.1.210)
CURRENT
AMQ8417: Display Channel Status details.
CHANNEL(PRMQ.TO.APPOMQM)
XMITQ()
CONNAME(129.1.1.210)
CURRENT
APPOMQM is MQMGR on AIX
PRMQ is MQMGR on Mainframe |
|
Back to top |
|
 |
sandiksk |
Posted: Wed Sep 28, 2005 10:26 am Post subject: |
|
|
Centurion
Joined: 08 Jun 2005 Posts: 133
|
did you check the error logs,
/var/mqm/errors
and /var/mqm/qmgrs/APPOMQM/errors |
|
Back to top |
|
 |
nvs76 |
Posted: Wed Sep 28, 2005 10:52 am Post subject: |
|
|
Novice
Joined: 28 Sep 2005 Posts: 11
|
Log from /var/mqm/errors/ last reported on 8/26/05.
08/26/05 07:17:53 AMQ9508: Program cannot connect to the queue manager.
EXPLANATION: The connection attempt to queue manager 'APPOMQM' failed with reaso
n code 2059.
ACTION: Ensure that the queue manager is available and operational.
-------------------------------------------------------------------------------
08/26/05 07:17:53 AMQ9228: The TCP/IP responder program could not be started.
EXPLANATION: An attempt was made to start an instance of the responder program,
but the program was rejected.
ACTION: The failure could be because either the subsystem has not been started (
in this case you should start the subsystem), or there are too many programs wai
ting (in this case you should try to start the responder program later).
-----------------------------------------------------------------------------------------------------------
Repeated log from /var/mqm/qmgrs/APPOMQM/errors/
09/26/05 20:58:18 AMQ9511: Messages cannot be put to a queue.
EXPLANATION: The attempt to put messages to queue 'DLQ' on queue manager 'APPOMQ
M' failed with reason code 2053.
ACTION: Ensure that the required queue is available and operational.
-------------------------------------------------------------------------------
09/26/05 20:58:18 AMQ9511: Messages cannot be put to a queue.
EXPLANATION: The attempt to put messages to queue 'ITEM.CATALOG.CTR.UPDATE' on q
ueue manager 'APPOMQM' failed with reason code 2053.
ACTION: Ensure that the required queue is available and operational.
I don't know how to clear the dead letter queue. The amqsbcg command is not found.
Last edited by nvs76 on Wed Sep 28, 2005 10:55 am; edited 1 time in total |
|
Back to top |
|
 |
hopsala |
Posted: Wed Sep 28, 2005 10:53 am Post subject: |
|
|
 Guardian
Joined: 24 Sep 2004 Posts: 960
|
First,
nvs76 wrote: |
Rather than clearing the dead letter queue, is there a way to find out why the msgs are going into DLQ? It might filled up again if we don't know the reason and just clear it up. |
hopsala wrote: |
Now, you need to know why msgs are put to the DLQ, so simply open the DLQ (using the MQ Explorer) and look at the dead letter queue header, that'll tell you why the msgs are there. Possibly you'll get not_authorized or some storage related problem (judging by the fact it used to work). |
(I think jeff didn't mean "clear" as in delete, but he meant use the dead letter queue handler to send msgs back where they belong.)
Second,
nvs76 wrote: |
BTW I don't see command called amqsbcg in /usr/bin directory where other MQ commands are located. |
If memory serves, user commands tend to be located under /var/mqm/bin not /usr/bin, mqver should also be there, if not search for it under /var/mqm or wherever it is you installed mq; odd it's not in your path...
Third, Did you try starting the channel? (command "START CHL(<chl name>)" on the *sender* side) |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 28, 2005 10:55 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Actually, I did mean "clear" as in "remove all the messages". But saving a copy first.
If the DLQ is full, that is a *problem*. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
hopsala |
Posted: Wed Sep 28, 2005 10:57 am Post subject: |
|
|
 Guardian
Joined: 24 Sep 2004 Posts: 960
|
nvs76 wrote: |
EXPLANATION: The attempt to put messages to queue 'DLQ' on queue manager 'APPOMQ
M' failed with reason code 2053. |
Well, I already told you that this is the case in a previous post; this is not the error msg you're looking for, you want the original prob that causes msgs to be sent to dlq - go back a bit in the same log (/var/mqm/qmgrs/APPOMQM/errors/), you'll find your answer. |
|
Back to top |
|
 |
|