Author |
Message
|
skoesters |
Posted: Tue Aug 04, 2009 5:09 am Post subject: saveqmgr.linux fails with "Got bad PCF response message |
|
|
Acolyte
Joined: 08 Jun 2008 Posts: 73
|
Hi,
i tried to save a qmgr config on RedHat Linux MQ 7 with the "saveqmgr.linux" tool.
i started it with
/opt/mqm/bin/saveqmgr.linux -m QM.BLA
then i get this:
SAVEQMGR V6.1.0
Compiled for Websphere MQ V7.0 on Jul 29 2008
Requesting attributes of the queue manager...
Writing Queue Manager definition to SAVEQMGR.TST.
Generating attributes for Websphere MQ Release 7.0.0
Generating code for platform UNIX
Requesting attributes of all authinfo objects...
Requesting attributes of all queues...
Requesting attributes of all channels...
Requesting attributes of all processes...
Requesting attributes of all namelists...
Requesting attributes of all listeners...
Requesting attributes of all services...
Requesting attributes of all topics...
Requesting attributes of all subscriptions...
Writing AuthInfo definitions to SAVEQMGR.TST.
Writing Queue definitions to SAVEQMGR.TST.
Skipping dynamic queue AMQ.MQEXPLORER.1299074414
Skipping dynamic queue SAVEQMGR.4A33A27A201E0302
Writing Channel definitions to SAVEQMGR.TST.
Writing Process definitions to SAVEQMGR.TST.
Writing Namelist definitions to SAVEQMGR.TST.
Writing Listener definitions to SAVEQMGR.TST.
Writing Service definitions to SAVEQMGR.TST.
Writing Topic definitions to SAVEQMGR.TST.
Writing Subscription definitions to SAVEQMGR.TST.
Got bad PCF response message
Type = 2
StrucLength = 36
Version = 1
Command = 176
MsgSeqNumber = 2
Control = 0
CompCode = 2
Reason = 2035
ParameterCount = 0
Processing Aborted, output file may be incomplete
this happens with all of my QMGRs.
Maybe one of you guys can help me.
Thanks in advanced
Sebastian |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Aug 04, 2009 5:20 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Make sure your process (saveqmgr) is running with mqm authority.
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
skoesters |
Posted: Tue Aug 04, 2009 5:22 am Post subject: |
|
|
Acolyte
Joined: 08 Jun 2008 Posts: 73
|
i use the tool as user "mqm".
now i again downloaded the latest MS03 but it didn´t help. |
|
Back to top |
|
 |
skoesters |
Posted: Tue Aug 04, 2009 5:25 am Post subject: |
|
|
Acolyte
Joined: 08 Jun 2008 Posts: 73
|
i think it was wrong to use the "normal" (32bit) version.
it´s a 64bit Server.
fyi:
i now also tried the 64bit version:
/opt/mqm/bin/saveqmgr64.linux -m QM.BLA
Compiled for Websphere MQ V7.0 on May 7 2009
SAVEQMGR V6.1.2
Requesting attributes of the queue manager...
Writing Queue Manager definition to SAVEQMGR.MQSC.
Generating attributes for Websphere MQ Release 7.0.0
Generating code for platform UNIX
Requesting attributes of all authinfo objects...
Requesting attributes of all queues...
Requesting attributes of all channels...
Requesting attributes of all processes...
Requesting attributes of all namelists...
Requesting attributes of all listeners...
Requesting attributes of all services...
Requesting attributes of all topics...
Requesting attributes of all subscriptions...
Writing AuthInfo definitions to SAVEQMGR.MQSC.
Writing Queue definitions to SAVEQMGR.MQSC.
Skipping dynamic queue AMQ.MQEXPLORER.1299074414
Skipping dynamic queue SAVEQMGR.4A33A27A201E1002
Writing Channel definitions to SAVEQMGR.MQSC.
Writing Process definitions to SAVEQMGR.MQSC.
Writing Namelist definitions to SAVEQMGR.MQSC.
Writing Listener definitions to SAVEQMGR.MQSC.
Writing Service definitions to SAVEQMGR.MQSC.
Writing Topic definitions to SAVEQMGR.MQSC.
Writing Subscription definitions to SAVEQMGR.MQSC.
Got bad PCF response message
Type = 2
StrucLength = 36
Version = 1
Command = 176
MsgSeqNumber = 2
Control = 0
CompCode = 2
Reason = 2035
ParameterCount = 0
Processing Aborted, output file may be incomplete
same problem |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Aug 04, 2009 5:25 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
skoesters wrote: |
i use the tool as user "mqm".
now i again downloaded the latest MS03 but it didn´t help. |
Contact the person maintaining it. Should be in the doc.
Let Jeff know what's wrong. Supply as much detail to him as you can.
I am surprised however that you get a 2035 running as mqm...
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Aug 04, 2009 5:27 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Hi, first off you're using 6.1.0. The most recent MS03 is 6.1.2.
Second off, I need you to verify something. Have you previously applied any MS03 produced MQSC files to the queue manager you are talking to?
There is a bug in MS03 earlier than 6.1.2 that puts the wrong default value into a few different attributes in Topic and Subscription objects. When this wrong default value is passed into runmqsc, and SYSTEM.BASE.TOPIC gets redefined, this ends up causing the command server to improperly return a 2035 even for users that are in mqm or are mqm.
You may need to recreate this queue manager from scratch, and edit your MQSC to recreate your objects to NOT include SYSTEM topics or subscriptions. |
|
Back to top |
|
 |
skoesters |
Posted: Tue Aug 04, 2009 5:37 am Post subject: |
|
|
Acolyte
Joined: 08 Jun 2008 Posts: 73
|
Hi Jeff,
i updated it a few posts before yours. I now use
SAVEQMGR V6.1.2
to answer your question:
yes i did.
i have had to re-install the server some month ago. Before that i saved all QMGRs, then i re-installed the Server and used the files from savegmgr to re-create my qmgrs.
is there any other way to save my currently running qmgrs? Its a little bit difficult to create them all again only by hand.
EDIT: fyi: i created all the saveqmgr files (before the re-install) with Version SAVEQMGR V6.1.0. Then i used this files to re-created the qmgrs, which worked.
thanks |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Aug 04, 2009 6:03 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Hi Sebastian -
It looks like the correct thing to do is to do a DELETE and then a DEFINE on the following objects:
SYSTEM.BASE.TOPIC
SYSTEM.BROKER.DEFAULT.STREAM
SYSTEM.BROKER.DEFAULT.SUBPOINT
SYSTEM.DEFAULT.TOPIC
You can use the MS03 backup of these objects, provided you use the backup from 6.1.2 or otherwise ensure that the TOPICSTR does not have a space in it, that it is merely <parentheses><single-quote><single-quote><parentheses> (''). |
|
Back to top |
|
 |
skoesters |
Posted: Tue Aug 04, 2009 6:18 am Post subject: |
|
|
Acolyte
Joined: 08 Jun 2008 Posts: 73
|
Thanks Jeff,
only to ensure that i understood everything.
i should delete the objects you told me and then re-create them (let me guess: it´s not a good idea to do this, while the qmgr is in use?!).
"You can use the MS03 backup of these objects, provided you use the backup from 6.1.2...."
i only have backups created with 6.1.0.
the "SYSTEM.BASE.TOPIC" for example looks like this in my backup file:
DEFINE TOPIC ('SYSTEM.BASE.TOPIC') +
* ALTDATE (2009-01-16) +
* ALTTIME (10.46.0 +
TOPICSTR(' ') +
DESCR('Base topic for resolving attributes') +
CLUSTER(' ') +
DEFPRTY(0) +
DEFPSIST(NO) +
DEFPRESP(SYNC) +
MDURMDL('SYSTEM.DURABLE.MODEL.QUEUE') +
DURSUB(YES) +
PUB(ENABLED) +
SUB(ENABLED) +
MNDURMDL('SYSTEM.NDURABLE.MODEL.QUEUE') +
NPMSGDLV(ALLAVAIL) +
PMSGDLV(ALLDUR) +
PROXYSUB(FIRSTUSE) +
PUBSCOPE(ALL) +
SUBSCOPE(ALL) +
WILDCARD(PASSTHRU) +
REPLACE
can i use this to re-create the object?
you said: "otherwise ensure that the TOPICSTR does not have a space in it, that it is merely <parentheses><single-quote><single-quote><parentheses> ('')."
that looks ok for me (the 6.1.0 backup)
thanks |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Aug 04, 2009 6:27 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
First off, you can't use DEFINE... REPLACE.
You have to use DELETE TOPIC and then DEFINE TOPIC.
Secondly, no, the 6.1.0 backup is incorrect. If you look very carefully at the file in a text editor, you will see that the TOPICSTR parameter is <parentheses><single-quote><space><single-quote><parentheses>.
This is the heart of the problem. It was not clear when I released MS03 6.1.0, the first version with support for MQ v7, that it was necessary to produce an empty string, rather than a string with a single blank space, for TOPICSTR and a few other parameters. There was nothing in the documentation that indicated that there should be a difference, nor that these particular parameters were special.
You should be able to edit a copy of your 6.1.0 backup file and remove the space, and add a "DELETE TOPIC" command, and then re-run that. |
|
Back to top |
|
 |
skoesters |
Posted: Tue Aug 04, 2009 6:46 am Post subject: |
|
|
Acolyte
Joined: 08 Jun 2008 Posts: 73
|
ok, so i have to do this? :
for example:
delete topic('SYSTEM.BASE.TOPIC')
then
DEFINE TOPIC ('SYSTEM.BASE.TOPIC') +
* ALTDATE (2009-01-16) +
* ALTTIME (10.46.0 +
TOPICSTR('') +
DESCR('Base topic for resolving attributes') +
CLUSTER(' ') +
DEFPRTY(0) +
DEFPSIST(NO) +
DEFPRESP(SYNC) +
MDURMDL('SYSTEM.DURABLE.MODEL.QUEUE') +
DURSUB(YES) +
PUB(ENABLED) +
SUB(ENABLED) +
MNDURMDL('SYSTEM.NDURABLE.MODEL.QUEUE') +
NPMSGDLV(ALLAVAIL) +
PMSGDLV(ALLDUR) +
PROXYSUB(FIRSTUSE) +
PUBSCOPE(ALL) +
SUBSCOPE(ALL) +
WILDCARD(PASSTHRU)
without the space in TOPICSTR (you was right...i looked in the wrong field) and without the "REPLACE" at the end?
this with all 4 objects.
Then it should be possible to create a new (working) backup with 6.1.2?
Sorry for the many questions, but my english is not the best so i sometimes have problems to understand everthing correct.
thanks |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Aug 04, 2009 7:47 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Yes, that looks correct.
You may have to restart the qmgr after this is applied to clear the 2035, though. I'm not entirely clear on this.
To be clear, the only thing your backup is missing right now with 6.1.2 is SUBSCRIPTION objects.
You can rely that when MS03 says that it is "Writing X definitions" to the output for any given value of X (channel, queue, qmgr, topic) that it has completed writing everything that it has already said it was writing..
So your backup may be sufficient for what you need.
But your queue manager still has an issue, and you should still do the DELETE and DEFINEs. |
|
Back to top |
|
 |
skoesters |
Posted: Tue Aug 04, 2009 8:07 am Post subject: |
|
|
Acolyte
Joined: 08 Jun 2008 Posts: 73
|
i created a "DEF" file which i would start agains all qmgr´s on my system.
it would be great if could have a look at it before i run it:
Code: |
DELETE TOPIC ('SYSTEM.BASE.TOPIC')
DEFINE TOPIC ('SYSTEM.BASE.TOPIC') +
* ALTDATE (2008-11-21) +
* ALTTIME (16.27.08) +
TOPICSTR('') +
DESCR('Base topic for resolving attributes') +
CLUSTER(' ') +
DEFPRTY(0) +
DEFPSIST(NO) +
DEFPRESP(SYNC) +
MDURMDL('SYSTEM.DURABLE.MODEL.QUEUE') +
DURSUB(YES) +
PUB(ENABLED) +
SUB(ENABLED) +
MNDURMDL('SYSTEM.NDURABLE.MODEL.QUEUE') +
NPMSGDLV(ALLAVAIL) +
PMSGDLV(ALLDUR) +
PROXYSUB(FIRSTUSE) +
PUBSCOPE(ALL) +
SUBSCOPE(ALL) +
WILDCARD(PASSTHRU)
DELETE TOPIC ('SYSTEM.BROKER.DEFAULT.STREAM')
DEFINE TOPIC ('SYSTEM.BROKER.DEFAULT.STREAM') +
* ALTDATE (2008-11-21) +
* ALTTIME (16.27.09) +
TOPICSTR('') +
DESCR('Default stream for queued Pub/Sub interface') +
CLUSTER(' ') +
DEFPRTY(ASPARENT) +
DEFPSIST(ASPARENT) +
DEFPRESP(ASPARENT) +
MDURMDL(' ') +
DURSUB(ASPARENT) +
PUB(ASPARENT) +
SUB(ASPARENT) +
MNDURMDL(' ') +
NPMSGDLV(ASPARENT) +
PMSGDLV(ASPARENT) +
PROXYSUB(FIRSTUSE) +
PUBSCOPE(ASPARENT) +
SUBSCOPE(ASPARENT) +
WILDCARD(BLOCK)
DELETE TOPIC ('SYSTEM.BROKER.DEFAULT.SUBPOINT')
DEFINE TOPIC ('SYSTEM.BROKER.DEFAULT.SUBPOINT') +
* ALTDATE (2008-11-21) +
* ALTTIME (16.27.09) +
TOPICSTR('') +
DESCR('Default RFH2 subscription point for queued Pub/Sub int-
erface') +
CLUSTER(' ') +
DEFPRTY(ASPARENT) +
DEFPSIST(ASPARENT) +
DEFPRESP(ASPARENT) +
MDURMDL(' ') +
DURSUB(ASPARENT) +
PUB(ASPARENT) +
SUB(ASPARENT) +
MNDURMDL(' ') +
NPMSGDLV(ASPARENT) +
PMSGDLV(ASPARENT) +
PROXYSUB(FIRSTUSE) +
PUBSCOPE(ASPARENT) +
SUBSCOPE(ASPARENT) +
WILDCARD(BLOCK)
DELETE TOPIC ('SYSTEM.DEFAULT.TOPIC')
DEFINE TOPIC ('SYSTEM.DEFAULT.TOPIC') +
* ALTDATE (2008-11-21) +
* ALTTIME (16.27.08) +
TOPICSTR('') +
DESCR(' ') +
CLUSTER(' ') +
DEFPRTY(ASPARENT) +
DEFPSIST(ASPARENT) +
DEFPRESP(ASPARENT) +
MDURMDL(' ') +
DURSUB(ASPARENT) +
PUB(ASPARENT) +
SUB(ASPARENT) +
MNDURMDL(' ') +
NPMSGDLV(ASPARENT) +
PMSGDLV(ASPARENT) +
PROXYSUB(FIRSTUSE) +
PUBSCOPE(ASPARENT) +
SUBSCOPE(ASPARENT) +
WILDCARD(PASSTHRU)
|
i also found a QUEUE that is named 'SYSTEM.BROKER.DEFAULT.STREAM'. Do i also have to delete it or only the TOPIC which is named 'SYSTEM.BROKER.DEFAULT.STREAM'?
If you give me your "ok" i will have a look if i could save my qmgrs after that with savegmgr.
Thanks a lot |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Aug 04, 2009 8:41 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Yes, as far as I can say, that looks correct.
No, I do not believe that you need to delete the SYSTEM.BROKER.DEFAULT.STREAM Queue, just the Topic. |
|
Back to top |
|
 |
skoesters |
Posted: Tue Aug 04, 2009 8:45 am Post subject: |
|
|
Acolyte
Joined: 08 Jun 2008 Posts: 73
|
thanks very much.
i have to look when i can run the script. I will let you know if i have done it |
|
Back to top |
|
 |
|