View previous topic :: View next topic
|
Author |
Message |
vatish
New User
Joined: 23 Jun 2007 Posts: 6 Location: Pune
|
|
|
|
Hi,
Can you guys please let me know if I there is some command which can forcefully release a dataset from one JCL and make it available for some other?
If this is not possible then can I code a step which releases all resources held by a Step once that step is complete?
Thanks,
Vatish |
|
Back to top |
|
|
Aaru
Senior Member
Joined: 03 Jul 2007 Posts: 1287 Location: Chennai, India
|
|
|
|
Vatish,
Quote: |
forcefully release a dataset from one JCL and make it available for some other?
|
What is the business reason?
If it is an existing dataset, You can very well code the DISP parameter as DISP=SHR to make it available in more than 1 JCL. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
I would assume a dataset contention issue where one job updates a dataset and another then wwants to read it.
Split the job at end of update and then run parallel read jobs. |
|
Back to top |
|
|
Escapa
Senior Member
Joined: 16 Feb 2007 Posts: 1399 Location: IL, USA
|
|
|
|
Quote: |
If this is not possible then can I code a step which releases all resources held by a Step once that step is complete?
|
If you know after which step you want to release resources
split your jcl to two
Resources will get automatically released after completion of first jcl.. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
Would you care to explain the problem that you are experiencing, and perhaps us poor non psycics need not guess at your problem |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
As you've not posted your specifics, here's a generic consideration. . .
Why should "something" be able to free resources of an already running job? What whould happen to the partially complete work in the job that was rudely interrupted? Who gets to deal with that restart/recovery (yup, sequential files need integrity too).
What you have is a scheduling problem and i'd suggest you address it as such. There should be no consideration of forcefully "freeing" allocated resources while the job is running.
In some rare case, it may be necessary to cancel a production job so that some other can be run, but this should be very rare and is quite different than jerking the resource(s) away from the job on the fly.
As i mentioned, this is a scheduling problem and if you work with the scheduling people, it should not be too difficult to implement a satisfactory solution. |
|
Back to top |
|
|
vatish
New User
Joined: 23 Jun 2007 Posts: 6 Location: Pune
|
|
|
|
A step is writing to a data set and in the next step another program is reading this data set.
Actually it's a GDG and most of the time this is working fine but occasionally am getting abend with message "DATA SET RESERVATION UNSUCCESSFUL"
I believe this is contention error.
I could not find any other job which is accessing this GDG. |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
i think you will find its DFHSM.
Gerry |
|
Back to top |
|
|
mmwife
Super Moderator
Joined: 30 May 2003 Posts: 1592
|
|
|
|
H Vatish,
I'm assuming that you're asking if the job that has control of the DS can release that control.
Have you tried FREE=CLOSE? This dos just what you would think - frees the DS upon CLOSE of that DS.
There are some caveats - look in the JCL Ref Manual for details. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
I recommend you work with your storage management or system support people to identify exactly what is causing this.
Quote: |
I believe this is contention error. |
It needs to be a verified fact, not some belief.
If your job is the only job that uses that particular gdg, there will be no contention going from one step to the next. . . . The job already "has" the resource and does not need to "get" it again.
Given that your problem is within the only job that references the dataset, i probably would not use FREE=CLOSE in the first step. . . |
|
Back to top |
|
|
mmwife
Super Moderator
Joined: 30 May 2003 Posts: 1592
|
|
|
|
I keyed on the OP's 1st post that seemed to indicate 2 jobs were involved.
Quote: |
Can you guys please let me know if I there is some command which can forcefully release a dataset from one JCL and make it available for some other? |
Missed his follow-up & the GDG reference. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hi Jack,
Quote: |
I keyed on the OP's 1st post that seemed to indicate 2 jobs were involved. |
Same here - isn't discovery great
As mentioned HSM might also be a candidate, but i wouldn't think HSM would interfere with an already running job
Maybe it would be useful if we could see the actual jcl and contention message(s). |
|
Back to top |
|
|
jaspal
New User
Joined: 22 May 2007 Posts: 68 Location: mumbai
|
|
|
|
Hi Vatish,
Yuu can try with control card in both the jobs that they should not run parallel , if one job is executing other should go on hold it usually solves contention problem , either you can apply exclusive parm through scheduling.
Ex- control card.
Consider Job- A is having control card as
/*CNTL NNTRLCRD,EXC
And Job- B is having control card as
/*CNTL NNTRLCRD,SHR
then only one job will execute other will go on hold.
if A is executing B will go on hold and vice-versa.
Regards,
Jaspal
+919833814470 |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
Please note that the situation does not involve 2 jobs - the problem happens within a single job.
Maybe Vatish will post the cause of the contention when it is identified. |
|
Back to top |
|
|
rahulbank
New User
Joined: 25 Sep 2008 Posts: 66 Location: Bengaluruuuuuu
|
|
|
|
Dear Vatish,
If you face this error again at that time try in log /D GRS,RES=(SYSDSN,DSNNAME)..this will tell you on who is holding it... |
|
Back to top |
|
|
|