LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous (more recent) messageNext (less recent) messagePrevious (more recent) in topicNext (less recent) in topicPrevious (more recent) by same authorNext (less recent) by same authorPrevious page (February 1999, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Thu, 4 Feb 1999 17:00:14 -0500
Reply-To:     MICHAEL.RAITHEL@RAITHM49.CUSTOMS.SPRINT.COM
Sender:       "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From:         "Michael A. Raithel" <MICHAEL.RAITHEL@RAITHM49.CUSTOMS.SPRINT.COM>
Subject:      (MVS) Re: Re: Job Bombing on MVS-insufficient workspace

Cybie Frontier dragged me (just kidding), into this discussion by writing, in part:

>After having said all these, I also remember that the MVS >Companion gives a reference to Michael Raithel's book >regarding this. Sorry Michael, I have not yet reached that >level, but could you possibly have a "neat" solution to >this? :) >

(Cybie's entire posting can be found beneath the Sig line, below).

Cybie, this puts me in the uncomfortable position of having to mention my book, "Tuning SAS Applications in the MVS Environment," published by the SAS Institute, Inc. in 1995, 303 pages, book #55231:-) This book _IS_ mentioned in the SAS Companion for the MVS Environment, Version 6, Second Edition on pages 39, 151, and on the back cover. I am shocked that you are using SAS under OS/390 (MVS) and do not have a copy on your bookshelf (still kidding)!

Well, all seriousness aside, I did not respond to your interesting posting because I saw that you got a lot of good advice from some very talented SAS-under-MVS programmers. You couldn't go wrong with most of the advice that you got.

The bottom line is that free space on Work DASD's is extremely variable, especially in organizations that have a lot of batch job action. It is very hard to predict how much space is available and how fragmented the various Work DASD will be when you submit a particular job (unless you know how to specifically look--hard to do for jobs scheduled at oh-dark-thirty). I usually opt for a large primary extent, and then smaller, more reasonable secondary extents. Most of my batch SAS jobs have the following:

//STEP01 EXEC SAS,WORK='750,100'

or

//STEP01 EXEC SAS,WORK='2000,100'

I like to grab a big slice of Work SAS library DASD space up front, and then deal with smaller chunks if I need them. But, then, I know what I can get away with in my own particular environment.

In the book, I don't cover your exact problem: running out of space in the SAS Work library, mid-job, due to taking up all of the extents. But, I _DO_ cover: not finding enough space for the SAS job to initiate, and not finding enough DASD Work space to take a secondary extent (on the SAS Work Library) in Chapter 12, section: DASD Work Space Shortages, pp.270 - 276. I don't think that it is cost effective to buy the entire book for six pages, so I'll briefly go over the five points, below. They may not apply to your specific situation, but what the heck, somebody might find them useful!

Five Ways to minimize the risk of DASD Work Space shortages:

1. Decreasing the primary Work space allocation. If the primary Work space allocation consistently fails, reduce it to ensure that you get enough Work space for your job to begin running. SAS batch jobs will not run if they cannot allocate the primary quantity of SAS Work library space. You should have secondary allocations set less than or equal to the primary allocation amount. This works well in sites where the Work DASD is very fragmented.

2. Increasing the size of the primary Work space allocation. Another annoying situation is when the Work data set cannot take a secondary extent. Sometimes if you make your primary Work space allocation large enough, you may be able to do all of your work within it. In this scenario, you would specify smaller secondary allocations.

3. Manage the space within your own SAS Work Library. In doing this, _YOU_ take control, and delete obsolete, never- to-be-used-again, temporary SAS data sets from the SAS Work Library via PROC DATASETS. I _HIGHLY_ recommend this approach! But, then, I always make my bed and keep my room clean...

4. Reschedule your application's time of execution. Though this may seem like a Wimp's approach, it can be very effective. In most organizations, the 9 - 5 time slot is the heavy period of program submission, and thus Work DASD space utilization. (Yes, yes, yes, we all know that it differs by organization and may be 8 - 9 pm, or may be heavier at night, etc.). By scheduling you batch job for the quieter, non-batch-prime-time hours, you may have enough space at your disposal to accomplish your goals.

5. Allocate the SAS Work data library on your own DASD. If you own, or can borrow dedicated DASD, then you can control exactly how much space you can allocate, and direct the program to allocate the SAS Work Library on that particular DASD. The override JCL might look like:

//SAS.WORK DD UNIT=3390,VOL=SER=ZEP001

Some organizations that I have worked for have "loaner" DASD for special production jobs that need it. You might check with your DASD administrator if this appeals to you.

The above points are hardly an exhaustive discussion of each topic, but more of a "consider this method and its positives" discussion. Obviously, some concepts have been trivialized to fit this particular forum's medium.

To make this posting endless...

Regarding Multivolume SAS Data Libraries, the SAS Companion for the MVS Environment, Version 6, FIRST EDITION, has a great write-up. It is in Appendix 2, Multivolume SAS Data Libraries, pp 531 - 534. I found this to be very helpful in the past, and was amazed that it was dropped from the Second edition of 'the companion. (Cybie, the only problem with using this in your situation, is that you must specifically know what DASD volumes you are going to use).

A cool way of increasing your SAS data library's space, on or between DASD volumes, is via the XTENDLIB command. I do not remember where I got this, and believe that it was FAXED to me eons ago by the very helpful, hard working, always there when you need them, SAS Institute Technical Support. Here is an example of using XTENDLIB:

********************************************; * ALLOCATE THE SAS PRIMARY/EXTEND LIBRARIES*; ********************************************; LIBNAME MAINLIB 'CYBIES.BIG.SASLIB' DISP=NEW UNIT=SYSDA SPACE=(CYL,(1000));

LIBNAME EXTEND01 'CYBIES.EXTEN001.SASLIB' DISP=NEW UNIT=SYSDA SPACE=(CYL,(1000));

********************************************; * XTEND THE LIBRARY. *; ********************************************; XTENDLIB MAINLIB EXTEN001;

The code, above, allocates two new SAS data libraries, and then specifies for the SAS System to consider the second as an extent of the first.

Cybie, I guess that I do not really have any "neat" trick to specifically solve your problem. Rather, I am zapped by the same situation from time to time, myself. The things that I recommended, above will help you to minimize running out of DASD Work space. So, too will the expert advice that you got from other posters!

Cybie, good luck in your forays into allocating space, the final frontier!

I hope that this suggestion proves helpful now, and in the future!

Of course, all of these opinions and insights are my own, and do not reflect those of my organization or my associates.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Michael A. Raithel "The man who wrote the book on performance" E-mail: maraithel@erols.com Author: Tuning SAS Applications in the MVS Environment +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Everything is funny as long as it is happening to somebody else. -- Will Rogers +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

>Thanks to Shawn, Barbara, Carol, Frank, Carla, Rhoades, >Tim, Michael, Ming,Kleonte for your suggestions. I was >hoping for a disk span solution, got to try it tomorrow. >Meanwhile, I decided to create a permanent dataset on Tape >( and not a temprary dataset)to avoid the problem. It >worked this time. >However, it may not work the next time when I really need >that extra workspace and creating permanent data on tape >(even with a retention period of 1 day is not good >enough). > >Maybe spanning the workspace is the only solution. >Increasing the number of primary and secondary space from >544,544 to 1000,800 may not be possible - each >installation is different and they have different rules. > >After having said all these, I also remember that the MVS >Companion gives a reference to Michael Raithel's book >regarding this. Sorry Michael, I have not yet reached that >level, but could you possibly have a "neat" solution to >this? :)


Back to: Top of message | Previous page | Main SAS-L page