View previous topic :: View next topic
|
Author |
Message |
i.jagath
New User
Joined: 21 May 2010 Posts: 3 Location: USA
|
|
|
|
Please suggest which is the best way to make a VSAM file available for read/update by 1000 jobs. All these jobs run daily and are file triggered. Files are copied into the mainframe at 5 min intervals from a FTP server i.e. there is a huge possibility that 10 files arrive on mainframe and 10 jobs get triggered and they are trying to get exclusive access of the VSAM.
The problem that we are facing with one approach i.e. if we used DISP=SHR and share options 3, there is an issue with sequence integrity and also one job gets hold of the vsam and other jobs abend.
Any recommendation on what should be the approach best suited for our needs. |
|
Back to top |
|
|
RahulG31
Active User
Joined: 20 Dec 2014 Posts: 446 Location: USA
|
|
|
|
Are all the jobs update jobs?
And how long is each job supposed to run? Can they finish in 5-10 mins or they may take hours to complete?
Can you have 10 separate VSAM files created from the original and merge them later?
I think the important question is how many jobs are going to update the VSAM and how many are read only. |
|
Back to top |
|
|
i.jagath
New User
Joined: 21 May 2010 Posts: 3 Location: USA
|
|
|
|
All the jobs does the same thing read and update the VSAM.
Most of the jobs will run in less than 5 min but some jobs take upto 2 hours. |
|
Back to top |
|
|
RahulG31
Active User
Joined: 20 Dec 2014 Posts: 446 Location: USA
|
|
|
|
And can you divide the VSAM into, say 10 parts, and use each part in approx. 100 jobs which use those particular records. Is it a possibility?
Secondly, do you have anything such as update timestamp in VSAM? |
|
Back to top |
|
|
i.jagath
New User
Joined: 21 May 2010 Posts: 3 Location: USA
|
|
|
|
splitting the VSAM is not a possiblity. We are in code freeze for our project and this change will not be approved. I am looking at smaller approach.
and there is no update timestamp. |
|
Back to top |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3076 Location: NYC,USA
|
|
|
|
Quote: |
i.e. if we used DISP=SHR and share options 3, there is an issue with sequence integrity |
What do you mean by this?
Quote: |
and also one job gets hold of the vsam and other jobs abend. |
Try for Negative dependency between the jobs during the scheduling? |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2454 Location: Hampshire, UK
|
|
|
|
You could make all the jobs run in the same class - and allow no other jobs to run in that class. Then set the machine up so that there is only one initiator processing that class. |
|
Back to top |
|
|
dneufarth
Active User
Joined: 27 Apr 2005 Posts: 420 Location: Inside the SPEW (Southwest Ohio, USA)
|
|
|
|
Nic,
You would think that a "serial" initiator would be standard in all shops just for things like this. Guess it was the norm in the past, but not anymore.
Dave |
|
Back to top |
|
|
Terry Heinze
JCL Moderator
Joined: 14 Jul 2008 Posts: 1248 Location: Richfield, MN, USA
|
|
|
|
Record Level Sharing (RLS) could be PART of the solution. Are you using it? |
|
Back to top |
|
|
David Robinson
Active User
Joined: 21 Dec 2011 Posts: 199 Location: UK
|
|
|
|
Surely the easiest way is just to use your scheduler to ensure only one job can run at a time? |
|
Back to top |
|
|
Garry Carroll
Senior Member
Joined: 08 May 2006 Posts: 1205 Location: Dublin, Ireland
|
|
|
|
If the jobs can run concurrently and require update access, maybe consider using the CICS EXCI interface to have CICS perform the I/O and ensure datga integrity?
Garry. |
|
Back to top |
|
|
Pete Wilson
Active Member
Joined: 31 Dec 2009 Posts: 590 Location: London
|
|
|
|
You could explore the use of VSAM Record Level Sharing (RLS) for the file.
It involves a possible new Storclas definition and possible Coupling Facility structure definition.
(damn..just saw Terry already suggested!) |
|
Back to top |
|
|
|