Author |
Message
|
elmcc1m |
Posted: Wed Apr 06, 2011 1:03 pm Post subject: Batch DB2 Stored Procedures Performance ? |
|
|
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 |
|
 |
bruce2359 |
Posted: Wed Apr 06, 2011 4:45 pm Post subject: |
|
|
 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 |
|
 |
belchman |
Posted: Mon Apr 11, 2011 5:57 am Post subject: |
|
|
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 |
|
 |
bruce2359 |
Posted: Mon Apr 11, 2011 6:02 am Post subject: |
|
|
 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 |
|
 |
belchman |
Posted: Mon Apr 11, 2011 6:35 am Post subject: |
|
|
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 |
|
 |
bruce2359 |
Posted: Mon Apr 11, 2011 7:52 am Post subject: |
|
|
 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 |
|
 |
belchman |
Posted: Mon Apr 11, 2011 9:01 am Post subject: |
|
|
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 |
|
 |
cicsprog |
Posted: Wed Apr 13, 2011 7:32 am Post subject: |
|
|
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 |
|
 |
belchman |
Posted: Wed Apr 13, 2011 8:34 am Post subject: |
|
|
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 |
|
 |
cicsprog |
Posted: Wed Apr 13, 2011 11:01 am Post subject: |
|
|
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 |
|
 |
belchman |
Posted: Wed Apr 13, 2011 11:09 am Post subject: |
|
|
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 |
|
 |
cicsprog |
Posted: Wed Apr 13, 2011 11:12 am Post subject: |
|
|
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 |
|
 |
|