IBM OS/390 User Manual

Page of 673
OS/390 VSAM Cross-Region SHR(4)
VSE VSAM SHR(4 x) will refresh buffers from disk for every read I/O, and will
also lock the record, CI, or CA as appropriate to protect the file and user data
from corruption by possible concurrent update activity. SHR(4) data sets can
have inserts or updates which may cause CI and CA splits, and secondary
allocations can also safely be handled by VSE/VSAM.
OS/390 VSAM SHR(4 x) works very differently than VSE/VSAM. When SHR(4 x) is
specified OS/390 VSAM takes only the following special actions:
OS/390 VSAM will refresh the buffers from DASD for random reads. OS/390
VSAM will write the CI to DASD following the CHECK for random writes. This
allows some read and write integrity protection. However, OS/390 VSAM does
not automatically enqueue on the record, CI, or CA as VSE/VSAM does. Hence
another user may simultaneously update the same record or control interval.
Also OS/390 VSAM does not refresh buffers during sequential processing.
When SHR(4 4) is specified, a change in the High-Used-RBA of any component
(data or index) is not allowed. For a KSDS, this means:
 1. no CA splits are allowed
 2. the high-key CI cannot be extended
For all types of data sets, no extensions or new extent allocations are allowed. If
a program causes any of the above conditions, it will receive a 
no space
″ 
error
code.
These restrictions provide some protection since it is not possible for multiple
users to cause concurrent CA splits or extend the data set. However, without
user programming of Assembler ENQ/DEQ macros it is still possible to:
 1. lose updates
 2. read back-level records
 3. cause data set failures during concurrent CI splits
Of course, even with user ENQ/DEQ programming, it is possible for errors to
cause the same loss of data conditions.
Control Block Update Facility (CBUF) is used if SHR(3 3) or SHR(4 3) is used with
JCL DISP=SHR. This removes the programming restrictions related to updating
the High-Used-RBA, stated above. It does not assure full read or write integrity.
With SHR(4 3), buffers are refreshed for each direct request.
 Note 
To provide equivalent VSE/VSAM SHR(4 x) protection, when multiple users
are updating the same data set from different address spaces, the OS/390
VSAM SHR(4) user should read the chapter entitled 
Sharing a VSAM Data
Set
″ 
in the manual 
DFSMS/MVS Using Data Sets, SC26-4922.
In addition, partial to complete solutions for this functional difference between
VSE and OS/390 are available from software vendors which provide functions
similar to VSE/VSAM SHAREOPTION(4).
Chapter 5. Disk and Tape Storage Considerations
127