View previous topic :: View next topic
|
Author |
Message |
sendhilkumaran
New User
Joined: 15 Apr 2010 Posts: 8 Location: chennai
|
|
|
|
Hi Experts!
Previously, I had a CICS programs which inturns calls lot of CICS programs. The sequence goes like this
A --> B --> C --> D
Now I have changed the main CICS, say A program into a Stored procedure. I have used EXCI to call the cics online programs from this SP.
Now the call from A --> B is working fine but I am getting sqlcode -911 in the sub-program C while performing select operation on a table, say TABLE1. This table TABLE1 is used in the first called cics program B.
I assume the first called cics program B establishes exclusive lock on the tables. Becuase of this, sub-programs, C and D are getting -911.
Please suggest me how to remove this exclusive lock, if my assumption is right? Or give me a right direction?
Please fidn below the db2 log below:
Code: |
DSNT376I -DB81 PLAN=XYZI000 WITH 269
CORRELATION-ID=POOLXYZI0001
CONNECTION-ID=HABCQOVC
LUW-ID=IIGNET.STSDB81.C6F40440D5D6=45348
THREAD-INFO=DBTPPQR:*:*:*
IS TIMED OUT. ONE HOLDER OF THE RESOURCE IS PLAN=DISTSERV
WITH
CORRELATION-ID=dllhost.exe
CONNECTION-ID=SERVER
LUW-ID=GA0B2E57.GA13.C6F401B8740C=44549
THREAD-INFO=PPQRCST:UTDIDAPP02:pxyzcst:dllhost.exe
ON MEMBER DBAB
DSNT501I -DB81 DSNILMCL RESOURCE UNAVAILABLE 270
CORRELATION-ID=POOLXYZI0001
CONNECTION-ID=HABCQOVC
LUW-ID=IIGNET.STSDB81.C6F40440D5D6=45348
REASON 00C9008E
TYPE 00000304
NAME PXYZD001.PXXXXX.X'0002F1' '.X'09' |
|
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
It appears that you have a timeout rather than a deadlock.
You may need to change the design because A or B is locking something for too long. This will surely happen if A or B locks something that either C or D needs to lock also. |
|
Back to top |
|
|
sendhilkumaran
New User
Joined: 15 Apr 2010 Posts: 8 Location: chennai
|
|
|
|
Thanks for your reply, Dick!
Actually, the program B performs a SELECT operation "WITH UR " on the table TABLE1 and I feel this should not lock the table. The program times out when the program C tries to perform SELECT operation on the same table TABLE1.
I was just wondering why an select operation with ur is putting a lock on that table.
I can see the CICS thread which holds this table is the same which is due to the miror program DFHMIRS which is used as shipment program to call CICS program from a stored procedure here.
Could anybody let me know what would be the isolation level for the mirror program DFHMIRS in general? |
|
Back to top |
|
|
GuyC
Senior Member
Joined: 11 Aug 2009 Posts: 1281 Location: Belgium
|
|
|
|
Programs that call eachother, run in the same Logical Unit of Work. No way they can lock eachother out.
Only if you have the same program/transaction concurrent you might get locks.
But according to the message it is a Distributed call (plan=DISTSERV) that locks the data : PPQRCST:UTDIDAPP02:pxyzcst:dllhost.exe |
|
Back to top |
|
|
|