God påske / Happy easter. Næste tip udkommer onsdag den 14. april / Next tip will be published the 14th of April.
Vidste du, at det faktisk er ret let at læse informationer om migrerede datasets uden at benytte HLIST kommandoen. Faktisk kan HLIST kommandoen kun vise en meget lille del af alle de informationer, som HSM gemmer om migrerede datasets. Alle informationerne gemmer HSM i et dataset kaldet MCDS'et. MCDS'et kan f.eks. læses med SORT og så er det jo bare derudaf.
Første hindring er selvfølgelig at finde ud af, hvad MCDS datasettet hedder på din installation. Når jeg kommer til en ny installation benytter jeg eksempelvis følgende fremgangsmåde: Først udsteder jeg en TSO ISRDDN, som jeg så stikker kommandoen ENQ. I ENQ displayet udfylder jeg Major name med SYSZARC og blanker de øvrige felter og trykker Enter. I kolonnen job name står der nu, hvad HSM task'et hedder. Nu er der to måder at fremskaffe selve datasetnavnet på, det ene er at fortsætte i ENQ, nu med Major name lig SYSDSN og jobname feltet lig navnet på HSM task'et. Hvis et af de viste datasets hedder MCDS som sidste qualifier, så er det ret sikkert, at du har fat i det rigtige datasetnavn. Den sikre måde er at gå i SDSF eller SYSVIEW og finde ud af, hvilket datasetnavn, der er tilknyttet DD-navnet MIGCAT i HSM task'et.
Næste hindring er RACF. Hvis du ikke har læse-adgang til MCDS datasettet, ja så er det jo i gang med at overbevise de sikkerhedsansvarlige om, at du har brug for at kunne læse MCDS'et uden om HSM.
Sidste hindring før du rent faktisk kan begynde at udtrække data er selvfølgelig at vide, hvordan records i MCDS'et er opbygget. Det kræver adgang til manualen Diagnosis Reference for HSM. Den ligger desværre ikke tilgængeligt på internettet. Det er nemlig en af den slags manualer, man skal betale for i dyre domme. Sandsynligvis gemmer den sig i BookManager på en Bookshelf, der starter med ARC (rigtig gamle dage) eller med DGT (SMS bookshelves). Der findes i hvert fald en Diagnosis Reference til DFSMS/MVS V1R5. Når du har fundet manualen, så skal du kigge i det afsnit, der omhandler MCD record'en.
Fortvivl ikke, selv om du mangler manualen, der er lidt hjælp at hente i følgende stump JCL:
I dette tilfælde hedder MCDS'et altså MY.MCDS. Steppet scanner hele MCDS'et og udskriver kun de records på SYSOUT, som starter med MYUSER. Det er lige så godt som at lave en HLIST LEVEL(MYUSER.), men steppet tager noget længere tid at udføre end HLIST kommandoen, da HLIST kommandoen kan lave direkte opslag. Til gengæld kan man med SORT udtrække på kryds og tværs med forskellige kriterier, når man kender record strukturen.
På SYSOUT har jeg i eksemplet valgt at udskrive nogle få men ret interessante informationer. Kolonne 1-44 indeholder naturligvis navnet på et migreret dataset. Kolonne 65-70 indeholder VOLSER for den disk eller tape, som datasettet er migreret til. Kolonne 117-120 indeholder det antal bytes, som datasettet fylder i HSM. Det er absolut ikke det samme som der bliver udskrevet af HLIST kommandoen. Kolonne 117-120 er "The real thing". Bemærk at tomme datasets kan fylde mere end 0 bytes. Jeg har forsøgt mig frem og fundet ud af, at datasets, der fylder mindre end 691 bytes kan betragtes som tomme. Det forudsætter dog, at DFDSS benyttes som "Data mover" (det gør de fleste installationer).
De 4 bytes i kolonne 273-276 indeholder en relativ position på den tape, som datasettet er migreret til (er kun relevant for datasets migreret til tape). Jeg har haft stor nytte af netop denne kolonne sammen med kolonnen med VOLSER. Jeg havde en opgave, hvor jeg skulle recalle flere tusind datasets fra tape. Jeg fandt ud af, at hvis jeg recallede datasettene sorteret efter VOLSER og relativ position, så tog en recall for et dataset i gennemsnit 2 sekunder og det må siges at være ret godt i forhold til den tid jeg typisk oplever på en almindelig recall fra tape, som normalt tager mellem 30 sekunder og et minut.