View previous topic :: View next topic |
Author |
Message |
PRAKASH Beginner
Joined: 07 Mar 2004 Posts: 10 Topics: 5
|
Posted: Thu Jun 23, 2005 7:23 am Post subject: IDMS Lock Problems for Performance Enhancement |
|
|
Hi all IMDS Gurus
We have an IDMS installation on our mainframe and for the past few months we are trying to reduce the number of locks the database held.
We have proceeded as follows.
1. We identified the programs that are causing a maximum no of locks and found that they are using most of the areas in update mode eventhough they are not updating anything.
2. We have changed the ready area statements in all these programs so that they ready the areas in update mode only when needed and all the other areas in retrieval mode. Ideally this should bring the locks down atleast to a certain extent but to our surprise it did not result in any improvement.
3. We came to the following conclusion that this is because the locks are held for retrieval also and these also might cause contention sometimes becasue exclusive lock is not allowed unless all the shared locks are released and this might lead to deadlock sometimes.
If there is no lock held on retrieval then this might not be a deadlock case.
By default our sytem level RETRIEVAL NOLOCK option is set. But the dialogs are being compiled in ADSC with lock options on SHARED RETRIEVAL. So we are recompiling all dialogs with RETRIEVAL NOLOCK option so that no locks are held for retrieval. But somehow we cannot
compile some of the dialogs with this reason , dont know why.
Can you please let us know why the sytem is not allowing us to compile with the option RETRIEVAL NOLOCK at dialog level. Do we need to take care of any other aspects as well.
Thanks.
Prakash. |
|
Back to top |
|
 |
kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12384 Topics: 75 Location: San Jose
|
Posted: Thu Jun 23, 2005 7:48 am Post subject: |
|
|
Quote: |
Can you please let us know why the sytem is not allowing us to compile with the option RETRIEVAL NOLOCK at dialog level. Do we need to take care of any other aspects as well.
|
Prakash
Your sysgen should be updated to run Dialog to run with RETRIEVAL NOLOCK option. Check this link which discusses about shared updates.
http://www.unm.edu/cirt/ais/docs/iprogbatchjob.htm
Hope this helps...
Cheers
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
 |
PRAKASH Beginner
Joined: 07 Mar 2004 Posts: 10 Topics: 5
|
Posted: Fri Jun 24, 2005 2:16 am Post subject: |
|
|
Thanks kolusu for your pointers.
But our sysgen default is RETRIEVAL NOLOCK only. There is another RETRIEVAL NOLOCK option at ADSC compiler level. Till now we were compiling dialogs in ADSC with out enabling this option so its obtaining locks for retrieval also. So we have now decided to compile some dialogs at ADSC level with RETRIEVAL NOLOCK option enabled and see the change in the number of locks. We have compiled a few dialogs and waiting for the results now.
The problem we encountered yesterday was if the PREMAP was readied in retrieval mode and response process in UPDATE mode this option would not work and the compilation fails. So we have to ready PREMAP area also in UPDATE mode if this option has to work eventhough PREMAP is not doing any updates.
CA manuals specify this as
The update dialog abends if:
- A higher dialog in the application thread has the RETRIEVAL NOLOCK indicator set and system-wide RETRIEVAL NOLOCKS are specified.
But we are still facing the problem with batch. As per CA, for batch programs, if the SYSGEN option is RETRIEVAL NOLOCK readying the areas in retrieval mode should not take any LOCKS but our program stats reveal that they indeed are taking locks. So stuck here on how to proceed further. Our main concern is to remove retrieval locks as they are causing lots of problems in our installation.
And any pointers on how to get the lock statistics of a batch IDMS program. I know in online we can use DISPLAY STATS in the program and get the stats but the same is not working in batch. |
|
Back to top |
|
 |
|
|