MainframeSupports
tip uge 37/2015:

Jeg har opdaget, at jeg slet ikke har skrevet et tip om at undgå at et dataset løber tør for plads. Det er en meget gammel og kendt sag, at datasets kan løbe tør for plads. Som du sikkert ved, så kan et dataset kun bestå af op til 16 adskilte blokke, de såkaldte extents, på samme volume. Af samme grund har mange installationer i tidernes løb anskaffet (dyrt) software (ikke leveret af IBM), som kan tæt på udrydde at et dataset løber tør for plads.

Nu om dage kan man klemme mange flere data ned på en enkelt volume, så derfor har en del installationer valgt at spare det omtalte software igen. Det hjælper desværre ikke ret meget, hvis man i JCL i sin space parameter angiver en for lille sekundær extent størrelse. Så er man stadig på den når alle 16 extents er taget. Heldigvis findes der et nemt lille kneb til at løse problemet. Du kan angive parameteren UNIT=(,9). Den første subparameter til UNIT er ligegyldig, så derfor behøver du ikke angive noget her. Den anden parameter angiver, hvor mange volumes/units, dit dataset må spredes hen over. Med denne parameter får du allokeret dit dataset som et multi volume dataset. Det smarte er, at et dataset kan gå i 16 extent på hver volume, så derfor kan dit dataset pludselig blive langt større.

Der er også en anden måde at få et multi volume dataset på, nemlig ved at benytte VOL=(,,,9). Du kan i følge JCL reference skrive helt op til 255, altså VOL=(,,,255), men jeg har hørt rygter ude i byen om, at et disk dataset kun kan sprede sig over 16 volumes. I UNIT parameteren kan du angive 59 som maximum. Og så er der lige den sidste vigtige detalje. Det er kun sekventielle datasets, der kan extente over flere volumes. Det kan PDS'er (member datasets) desværre ikke.

Efter offentliggørelsen af tippet har jeg afprøvet, hvor mange extents et sekventielt dataset kan tage på den installation, jeg arbejder på. Installationen kører z/OS 2.1 og her kom jeg op på 59 * 16 = 944 extents. Det er altså UNIT parameterens maximum, der afgør det totale antal mulige extents for et disk dataset vel at mærke. Der findes paneler i ISPF, hvor man kan angive op til 16 volume-navne, men det er altså ikke begrænsningen. Der findes også sider på internettet, der påstår, at det maksimale antal er 5 volumes. Jeg skal ikke afvise, at det er både afhængig af MVS versionen og konfigurationen på den enkelte installation, hvor mange volumes/units, et disk dataset kan sprede sig over, men det er i hvert fald muligt at komme op på 59 forskellige volumes med z/OS version 2.1.

Forrige danske tip        Last tip in english        Tip oversigten