ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » Batch DB2 Stored Procedures Performance ?

Post new topic  Reply to topic
 Batch DB2 Stored Procedures Performance ? « View previous topic :: View next topic » 
Author Message
elmcc1m
PostPosted: Wed Apr 06, 2011 1:03 pm    Post subject: Batch DB2 Stored Procedures Performance ? Reply with quote

Novice

Joined: 19 Feb 2007
Posts: 14

I have an application coding a batch DB2 Stored procedure which they will be making many MQ calls. This is on z/OS 1.11 with RRS. As a system support guy, what should be my performance concerns? I don't see this addressed in the manuals.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Wed Apr 06, 2011 4:45 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9469
Location: US: west coast, almost. Otherwise, enroute.

Quote:
As a system support guy, what should be my performance concerns? I don't see this addressed in the manuals.

Meeting SLAs (Service Level Agreements) should be your primary concern.

You need to understand general performance tuning and bottleneck analysis in z/OS. All this is well-documented; and there are a wide variety of tools available.

Both DB2 and WMQ performance information can be found by searching google. Each offers opportunities for performance tuning.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
belchman
PostPosted: Mon Apr 11, 2011 5:57 am    Post subject: Reply with quote

Partisan

Joined: 31 Mar 2006
Posts: 386
Location: Ohio, USA

Anyone have experience using the DB2 MQSEND function? We are using it in a DB2 trigger to put a message on a triggered queue and are having difficulty due to the DB2 data sharing facility.

There are 2 DB2 subsystems and 2 MQ subsystems on the same sysplex comprised of 2 LPARs. When the DB2 trigger fires, it can run on one or the other of the LPARs.

In the "SYSIBM.MQSERVICE_TABLE" we have an affinity to a queue manager. We are trying to get around that by populating the attribute with a SPACE (null not allowed) so that it will use the default queue manager. That way both DB2 systems have the same attribute value for QMGR.

Since we do not have MQ queue sharing in production yet, this project cannot take advantage of that.

I have recently set up QMgrA @ LParA to be the default QMgr by compiling a new SCSQAUTH and QMgrB and LParB the same.

Is there a way to have each DB2 subsystem to have diff steplib concatenations? Has anyone else solved this without q sharing?

Thx in advance.
_________________
Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Apr 11, 2011 6:02 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9469
Location: US: west coast, almost. Otherwise, enroute.

Quote:
I have recently set up QMgrA @ LParA to be the default QMgr by compiling a new SCSQAUTH

SCSQAUTH? That's a dataset. What exactly did you re-compile?
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
belchman
PostPosted: Mon Apr 11, 2011 6:35 am    Post subject: Reply with quote

Partisan

Joined: 31 Mar 2006
Posts: 386
Location: Ohio, USA

I did TASK 19, of the v7 setup guide.

"The supplied program CSQBDEFV improves the portability of your application programs. In CSQBDEFV, you can specify the name of a queue manager, or queue sharing group, to be connected to rather than specifying it in the MQCONN..."

I created 2 new CSQBDEFV modules and each module is is a copy of the SCSQAUTH specific to the 2 QMgrs in play.
_________________
Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Apr 11, 2011 7:52 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9469
Location: US: west coast, almost. Otherwise, enroute.

belchman wrote:
...and are having difficulty due to the DB2 data sharing facility.

What kind of difficulty?
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
belchman
PostPosted: Mon Apr 11, 2011 9:01 am    Post subject: Reply with quote

Partisan

Joined: 31 Mar 2006
Posts: 386
Location: Ohio, USA

When the trigger fires on LPAR that does not host the queue manager identified in the "SYSIBM.MQSERVICE_TABLE.QMGRNAME" field, a MQRC-2058 and/or 2059 is raised. The same holds true when the "SYSIBM.MQSERVICE_TABLE.QMGRNAME" field is set to spaces, because the steplib concatenations for one of the 2 db2subsystems uses a deafult qmgr that is not hosted on the hosting qmgr.

I think the DBAs and SysOps came up with a good workaround until we get QSG in place.

Once we test this workaround, I will post it here.
_________________
Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter
Back to top
View user's profile Send private message
cicsprog
PostPosted: Wed Apr 13, 2011 7:32 am    Post subject: Reply with quote

Partisan

Joined: 27 Jan 2002
Posts: 347

If I understand your situation, here was our solution. Since these WLM managed job run as started tasks, you can make use of the System Symbolic &SMFID. In my example, we have an LPAR with the name of C3. We created a member in our PROCLIB called MQ$C3. In that member:

VIEW SYS1.DBMS.PROCLIB(MQ$C3) - 01.01 C
Command ===>
****** ***************************** Top of Data ***********
000001 //* INCLUDE MEMBER TO SET MQ QMANAGER SYMBOLIC
000002 // SET MQQM=MQC2

If your WLM JCL you add:

// INCLUDE MEMBER=MQ$&SMFID
//* Example of subsitution
//DB2WLM EXEC PGM=JUNK
//STEPLIB DD DSN=MY.DEFAULT.MQM.LOADLIB..&MQQM
after subsititution
//STEPLIB DD DSN=MQ.DEFAULT.MQM.LOADLIB.MQC3

that will allow you to point to the correct QManager in the WLM JCL that runs on that particular LPAR. ONLY works for a STARTED TASK.


EDIT:
You can check what System Symbolics have been set for a particular MVS LPAR by using this command SHOWMVS (assuming u have access). You can also view what System Symbolics have been set by viewing xxxx.PARMLIB(IEASYMxx). Since different sites might set System Symbolics differently, check to see which system symbolic uniquely qualifies an LPAR at your site.
Back to top
View user's profile Send private message
belchman
PostPosted: Wed Apr 13, 2011 8:34 am    Post subject: Reply with quote

Partisan

Joined: 31 Mar 2006
Posts: 386
Location: Ohio, USA

Thx SysProg,

For what I know, that is kind of what we did.


Give qmgrA and qmgrB are separate tasks on different LPARs and the DB2 trigger can fire on any of the 2 LPARs at any moment in time, we needed each trigger to reference a different CSQBDEFV in a different library.

Our SysProgs created aliases to each of the unique MQ libraries (blah.blah.scsqauth(csqBDEFV). They then use symbolics in the steblib for each DB2 shared instance (I do not know the DB2 terminology) to build the correct alias at runtime which point to thye correct csqbdefv.

This will all go away when I have my QSGs built becuase I can point everything to the QSG instead of a qmgr.

Thx for your input. Hopefully the next person will find this thread when the need it.
_________________
Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter
Back to top
View user's profile Send private message
cicsprog
PostPosted: Wed Apr 13, 2011 11:01 am    Post subject: Reply with quote

Partisan

Joined: 27 Jan 2002
Posts: 347

YW....only issue with this is if you had two DB2s on the same LPAR that datashared and each made use of MQ in SP's.

We had QS for a while. What I didn't like about it was that we had to RE-BIND on the DB2 QS parts for very minor MQ related mainteanace.

GL!

Does this mean I get a MQseries.Net screen saver?
Back to top
View user's profile Send private message
belchman
PostPosted: Wed Apr 13, 2011 11:09 am    Post subject: Reply with quote

Partisan

Joined: 31 Mar 2006
Posts: 386
Location: Ohio, USA

By SPs, do you mean Stored Procedures (aka Triggers)? If so, noted.

I will send you a copy of the MQSeries.net screensaver I got Nada!

Danke Shen
_________________
Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter
Back to top
View user's profile Send private message
cicsprog
PostPosted: Wed Apr 13, 2011 11:12 am    Post subject: Reply with quote

Partisan

Joined: 27 Jan 2002
Posts: 347

belchman wrote:
By SPs, do you mean Stored Procedures (aka Triggers)? If so, noted.

I will send you a copy of the MQSeries.net screensaver I got Nada!

Danke Shen



YEP...SP = Stored Procedure.

I was just kidding about the Screen Saver.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » Batch DB2 Stored Procedures Performance ?
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.