View previous topic :: View next topic
|
Author |
Message |
genesis786
Active User
Joined: 28 Sep 2005 Posts: 210 Location: St Katherine's Dock London
|
|
|
|
Hi,
I have a general Dataset V34.GEN.CLIST which gets concatenated to SYSPROC of every TSO user when s/he logs in. Currently this dataset is running out of space (Giving E37 whenever I try to edit/add any member to it) and there are around 10 users who are logged on in the TSO so I am unable to compress the dataset (it says 'Dataset in Use').
Is there a way to get around this problem. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Get the people to log off and compress/re-allocate larger or do this overnight when no one is using the pds.
You might also consider using a pdse to eliminate the compress need. |
|
Back to top |
|
|
genesis786
Active User
Joined: 28 Sep 2005 Posts: 210 Location: St Katherine's Dock London
|
|
|
|
hi d.sch.
thanks. Is there a way to forcefully delete the dataset ? i have copied all members of the dataset into another dataset. what i think i need to do now is delete the old one and rename the new to old. or am i thinking too loud?
Thanks. |
|
Back to top |
|
|
hikaps14
Active User
Joined: 02 Sep 2005 Posts: 189 Location: Noida
|
|
|
|
Hi,
There is one way of compressing a dataset with 'DATASET in use'. Try compressing in batch job.
execute IEBGENER , copy same input dataset to o/p dataset and use DISP=SHR.
The above trick should work.
If you do not resolve space abend even after compressing, then u got to recrerate your dataset.
Thanks,
-Kapil. |
|
Back to top |
|
|
Terry Heinze
JCL Moderator
Joined: 14 Jul 2008 Posts: 1249 Location: Richfield, MN, USA
|
|
|
|
I don't think compressing a "data set in use" PDS will be successful in batch. I believe your batch job will wait until everyone is "out" of the PDS. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
Is there a way to forcefully delete the dataset ? |
I don't know how to do this while it is in use. . .
Quote: |
or am i thinking too loud? |
Good idea, but delete/allocate needs to be "single-user".
Quote: |
execute IEBGENER , copy same input dataset to o/p dataset and use DISP=SHR.
The above trick should work. |
Have you done this to prove it works today? Please post the output of a job that successfully compressed a pds that was currently in use this approach. |
|
Back to top |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
Does anyone else think that that PDS is probably a good candidate to convert to a PDS/E? |
|
Back to top |
|
|
hikaps14
Active User
Joined: 02 Sep 2005 Posts: 189 Location: Noida
|
|
|
|
Hi,
I use the below job to compress datasets.
//STEP10 EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//SYSUT3 DD SPACE=(TRK,(1,1)),UNIT=SYSDA
//SYSUT4 DD SPACE=(TRK,(1,1)),UNIT=SYSDA
//DDI1 DD DSN=XXX.YYY.ZZZ.LOADLIB,
// DISP=SHR
//DDO1 DD DSN=XXX.YYY.ZZZ..LOADLIB,
// DISP=SHR
//*
//SYSIN DD *
COPY OUTDD=DDO1,INDD=DDI1
/*
I couldn't test the above job right now, I can test it and let you know results by tomorrow.
Please let me know, if you find anything wrong with this job.
Thanks,
-Kapil. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Quote: |
Does anyone else think that that PDS is probably a good candidate to convert to a PDS/E? |
Yup.
Quote: |
You might also consider using a pdse to eliminate the compress need. |
d |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
I couldn't test the above job right now, I can test it and let you know results by tomorrow. |
Yes, the job you posted should work as long as the dataset is not in use. . .
Your first post mentions IEBGENER and that it would work while the dataset was "in use". . . |
|
Back to top |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
I know that there are third-party data management tools that allow for a compress of a PDS that's in-use. |
|
Back to top |
|
|
hikaps14
Active User
Joined: 02 Sep 2005 Posts: 189 Location: Noida
|
|
|
|
I am sorry for that IEBGENER/IEBCOPY confusion. When I looked at my job, I found it to IEBCOPY.
As I understand the problem. the dataset is in SHR mode among 10 users. So, this job won't work with DISP=OLD( keep on waiting for dataset). It might work with DISP=SHR.
Still, I got to test it.
Thanks,
-Kapil. |
|
Back to top |
|
|
Terry Heinze
JCL Moderator
Joined: 14 Jul 2008 Posts: 1249 Location: Richfield, MN, USA
|
|
|
|
Quote: |
Please let me know, if you find anything wrong with this job. |
Did you back up your PDS before running this job? |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
If the dataset has DISP=SHR, a batch compress job will work -- I've done it before but it's never a good idea. The problem can be if the current users of the dataset don't refresh their data once the compress is done, they could be attempting to refer to members in locations that aren't in use anymore, or even in use by a different member. Compress changes the member locations in the PDS and that can impact address spaces that have already opened the dataset. |
|
Back to top |
|
|
Terry Heinze
JCL Moderator
Joined: 14 Jul 2008 Posts: 1249 Location: Richfield, MN, USA
|
|
|
|
When I need to allocate more space or more directory blocks for a PDS, which in effect does a compress, I always run the following steps:copy the old PDS (disp=old) to a new PDS
delete the old
rename the new to the old |
|
Back to top |
|
|
hikaps14
Active User
Joined: 02 Sep 2005 Posts: 189 Location: Noida
|
|
|
|
Hi Robert,
Quote: |
If the dataset has DISP=SHR, a batch compress job will work -- I've done it before |
Thanks for confirmation.
Quote: |
but it's never a good idea. The problem can be if the current users of the dataset don't refresh their data once the compress is done, they could be attempting to refer to members in locations that aren't in use anymore, or even in use by a different member. |
I never new about it. I had used the compress job many times and never faced any problem before, may be I was lucky. Thanks for the information and I will take care of this next time (refresh PDS before using it).
Thanks,
-Kapil. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
You were probably lucky nobody was using the file at the time. Basically a PDS has location pointers in the member directory that tell the system where each member starts. When a member is deleted, that space is not reused until a compress is done, at which time everything is moved to start at the end of the member directory without any gaps. You can see the potential for problems if you compress via DISP=SHR a PDS that has programs with open members -- they aren't going to get the new locations until they close & open. |
|
Back to top |
|
|
Simon Jia
New User
Joined: 21 Nov 2008 Posts: 5 Location: China
|
|
|
|
IEBCOPY with DISP=SHR actually worked!
I just tried using the technique to compress a PDS which is being used by over 10 users, and it worked!
But I still can't confirm whether it will work if someone is updating members.
I am pretty sure all the 10 users are just reading the members only. |
|
Back to top |
|
|
nevilh
Active User
Joined: 01 Sep 2006 Posts: 262
|
|
|
|
Kapils job will work and should cause no problems if the dataset is only allocated to the SYSPROC of tso users |
|
Back to top |
|
|
|