View previous topic :: View next topic
|
Author |
Message |
kalukakkad
New User
Joined: 10 Mar 2005 Posts: 81
|
|
|
|
Can anybody explain how does locking works while segments are processed and how it is affected by different Procopts |
|
Back to top |
|
|
Devzee
Active Member
Joined: 20 Jan 2007 Posts: 684 Location: Hollywood
|
|
|
|
PSB PROCOPT option controls the function like Read/ Write/ etc that can be performed by the program on the database/segment.
The actual locking of segment is done by the program by issuing the GET HOLD calls before REPL/DLET. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Rght Devzee but there's more. One may use the Q command code to lock. Have some fun in searching. |
|
Back to top |
|
|
kalukakkad
New User
Joined: 10 Mar 2005 Posts: 81
|
|
|
|
Recently, i have been advised by the DBA that i should use PROCOPT=G with IRLM=Y instead of PROCOPT=GOT. I understand that GOT will result in dirty read, hence PROCOPT=G will be better, but what is with IRLM=Y.
Also, DBAs insist on using a checkpoint-restart logic even if it is a READ Only program. They say with PROCOPT=G, IMS gets a read lock.
Can you suggest what is the reason behind usage of PROCOPT=G and IRLM=Y |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
In stead of writing a copy of the documentation available my advise is to follow the link in my signature and search for IRLM (lock manager DB2) and PROCOPT (processing options). Have fun exploring |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
As for PROCOPT=GOT:
Quote: |
O
If the O option is used for a PCB, IMS does not check the ownership of the segments returned. Selecting PROCOPT=GO, GON, GONP, GOT, GOTP, and GOP indicates that read without integrity is in effect. No locking mechanism is used to maintain the integrity of the retrieved data. Therefore, the read without integrity program can result in one of the following:
a segment that has been updated by another program
a segment that does not exist in the database and never did (can occur if the updating program abends and backs out)
the segment data, and all subsequent data returned to the application, can be from a different database record (can occur If a segment has been deleted and another segment of the same type has been inserted in the same location)
IMS recognizes these error types and converts them to abendU0849. Even so, conditions can occur under PROCOPT GOx that are not detectable by IMS and result in other kinds of errors such as loops, time outs, and system abends. When using the O option, the design of your system must be carefully considered to determine if concurrent update activity is likely to cause these kinds of conditions.
|
I understand the concern of your DBA. |
|
Back to top |
|
|
kalukakkad
New User
Joined: 10 Mar 2005 Posts: 81
|
|
|
|
Thanks Devzee and Bitneuker. The link provided the necessary explanation. |
|
Back to top |
|
|
|