RE: Help SQL Code

RE: Help SQL Code

 

  

Daniel thanks for all your help.
I will check with the DB2 system programmer if we have this APAR installed,
then I will tell you.

Rgds!
RLG


-----Mensaje original-----
De: DANIEL CALLAHAN [mailto:[Email address protected]
Enviado el: Martes, 30 de Mayo de 2006 03:16 p.m.
Para: Lopez Garcia, Ramiro
Asunto: RE: Help SQL Code


**A LazyDBA.com subscriber has responded to your lazydba.com post**
**LazyDBA.com mail shield has forwarded you this email,
**and removed any attachments, and kept your email address secret
**from this person, and any viruses/trojans.
**If you reply to this email, the person will see your email address as normal
**Anything below this line is the original email text


Make sure you have

APAR PQ96628

on for v7.

Then you can change the parm. Its for situations like you are in.









"Lopez Garcia
Ramiro "
<db2udbdba-ezmlms To
hield-x19115681.x "LazyDBA Discussion"
[Email address protected] [Email address protected]
a.com> cc

05/30/2006 03:42 Subject
PM RE: Help SQL Code










Thanks Venkata for you time and explanation.

No, the program has not EXCLUSIVE MODE.

Right now I am reviewing CLAIMDTA parameter of DSNZPARM that IBM books
suggest:

# Subsystem parameter CLAIMDTA, in macro DSN6SPRM, allows you to specify
# whether agents get a claim on data before they get a claim on an index.
# For partitioned table spaces, agents always get a claim at the table
space
# level before they claim partitions or indexes. Specify YES if you have
# problems with utility jobs that terminate with a return code of 8 and a
# reason code of 00C200EA. The default value is NO. See Part 5 (Volume 2)
of
# DB2 Administration Guide, SC26-9931-05 for more information about claims
# and drains.

My installation has CLAIMDTA=NO; any way If you know something about this
parameter, please share it.


What are the "couple of interesting bind parameters" that you saw?



-----Mensaje original-----
De: Kosaraju Venkata
[mailto:db2udbdba-ezmlmshield-x6872915.[Email address protected]
Enviado el: Martes, 30 de Mayo de 2006 02:01 p.m.
Para: LazyDBA Discussion
Asunto: RE: Help SQL Code


I am sorry, that was my fat finger:

Looks like you have the lock drain issue:

Here is some explanation about your error:

00C200EA
Explanation: DB2 is unable to perform the drain function on an object (a
table space, an index space, or a partition) because the object was held
by other claimers and the drain request timed out waiting for the claim
count to reach zero.

System Action: If the problem was encountered by DB2 when trying to
automatically recover a group buffer pool recovery pending (GRECP) object
following the failure of a group buffer pool (GBP), then DB2 issues
message DSNB350I or DSNB351I to the console with this reason code
indicating that the object cannot be automatically recovered.

Otherwise, a 'resource not available' return and reason code are sent back
to the requesting function. DB2 message DSNT500I may be sent to the
console. The reason code and the object name are recorded in the cursor
table (CT) and made available to the user in the SQLCA or in the message.

System Programmer Response: Take one of these actions:


o Reevaluate the utility timeout factor on installation panel DSNTIPI

and increase it, if necessary.


o Find the threads holding the object through the -DISPLAY DB CLAIMERS

command on the object. Either terminate those threads or wait until no

one holds the object. Then invoke the application again.


If DSNB350I or DSNB351I messages were issued, then after you take one of

the actions above, recover the GRECP objects as indicated in the "System

Programmer Response" for DSNB350I or DSNB351I.


Are you locking the table in EXCLUSIVE MODE before update the table in your
COBOL program.

Also I have noticed couple of interesting bind parameters in your bind
card. Please check with your systems programmer about lock size z-parms
parameter.

Please give me a call if you need any further help,

Thanks,
Venkat.
614-222-6638


-----Original Message-----
From: Kosaraju, Venkata
Sent: Tuesday, May 30, 2006 2:52 PM
To: 'Lopez Garcia Ramiro '; LazyDBA Discussion
Subject: RE: Help SQL Code


Looks like you are running out of

-----Original Message-----
From: Lopez Garcia Ramiro
[mailto:db2udbdba-ezmlmshield-x71164090.[Email address protected]
Sent: Tuesday, May 30, 2006 1:39 PM
To: LazyDBA Discussion
Subject: RE: Help SQL Code


Thanks Cruickshank!

You are rigth, yesterday afternoon the job had a contention with a QMF
online user; but at night
the job were running again, alone, and it abends also with the same sql
code/reason code, nothing was
running at the same time, can you believe it? Another way to try fix it?

Rgds!



-----Mensaje original-----
De: Cruickshank Rohan
[mailto:db2udbdba-ezmlmshield-x35075964.[Email address protected]
Enviado el: Martes, 30 de Mayo de 2006 12:17 p.m.
Para: LazyDBA Discussion
Asunto: RE: Help SQL Code


Seems like you have a contention issue with someone(s) else accessing
the table.
You may want to lock the table exclusive before doing the update or wait
until there is no one else accessing the table.

Here is a link that might be helpful...

http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/
com.ibm.db2.doc.mc/listomsgs.html

Thanks..

Rohan Cruickshank
Systems Engineer
RTS
770 433 8211 ext 84942
Purity of Heart, Clarity of Mind
and a Soul Devout
These three things I hope to find
Within and not Without
Mr Ramiro,

The error you are getting is with the LOCK drain issue;

Here is the some description of your error;

00C200EA
Explanation: DB2 is unable to perform the drain function on an object (a
table space, an index space, or a partition) because the object was held
by other claimers and the drain request timed out waiting for the claim
count to reach zero.

System Action: If the problem was encountered by DB2 when trying to
automatically recover a group buffer pool recovery pending (GRECP) object
following the failure of a group buffer pool (GBP), then DB2 issues
message DSNB350I or DSNB351I to the console with this reason code
indicating that the object cannot be automatically recovered.

Otherwise, a 'resource not available' return and reason code are sent back
to the requesting function. DB2 message DSNT500I may be sent to the
console. The reason code and the object name are recorded in the cursor
table (CT) and made available to the user in the SQLCA or in the message.

System Programmer Response: Take one of these actions:


o Reevaluate the utility timeout factor on installation panel DSNTIPI
and increase it, if necessary.

o Find the threads holding the object through the -DISPLAY DB CLAIMERS
command on the object. Either terminate those threads or wait until no
one holds the object. Then invoke the application again.

If DSNB350I or DSNB351I messages were issued, then after you take one of
the actions above, recover the GRECP objects as indicated in the "System
Programmer Response" for DSNB350I or DSNB351I.


Are you locking the table in exclusive mode before running update and also
check with your systems programmer about the lock size in the z-parms.

Thanks,
Venkat.

-----Original Message-----
From: Lopez Garcia Ramiro
[mailto:db2udbdba-ezmlmshield-x42553993.[Email address protected]
Sent: Tuesday, May 30, 2006 12:32 PM
To: LazyDBA Discussion
Subject: Help SQL Code


Hi guys, there is a program COBOL/DB2, runs an massive UPDATE in a jcl
with statict sql, but suddenly abends with:

SQL Code -904, Reason Code 00C200EA

The table has 27 millions of rows,12 indexes and 64 partitions; the
frecuency of commits for the update is 1000 rows. DB2 v7 for z/OS. The
BIND parameters are:

BIND PLAN (myplan) OWNER(X) QUALIFIER(X)+
NODEFER(PREPARE) VALIDATE(BIND) FLAG(I)+
ISOLATION(CS) CACHESIZE(1024) CURRENTDATA(YES)+
DEGREE(ANY) SQLRULES(DB2) ACQUIRE(ALLOCATE)+
RELEASE(DEALLOCATE) EXPLAIN(NO) DYNAMICRULES(RUN)+
NOREOPT(VARS) KEEPDYNAMIC(NO) IMMEDWRITE(NO)+
DBPROTOCOL(PRIVATE) ENCODING(500)+
DISCONNECT(EXPLICIT)+
MEMBER(mine)+
LIBRARY('mylib.prgrms.DBRM')+
ENABLE(*)+
ACTION(REPLACE) RETAIN


Can any one have a suggestion?

Thanks in advanced for all your help!





---------------------------------------------------------------------
PLEASE CLICK REPLY-ALL TO SEND A REPLY TO EVERYONE
website: http://www.LazyDBA.com
To unsubscribe: http://www.lazydba.com/unsubscribe.html






DB2 & UDB email list listserv db2-l LazyDBA home page