En esta ocasión usaremos dos métodos distintos (un job usando IEHLIST y la herramienta File Manager) para intentar resolver la siguiente situación:
A veces ocurre que intentamos crear un fichero contiguo (parámetro CONTIG), por algún requerimiento, en un disco y falla por espacio. Miramos el espacio ocupado del disco y vemos que, en general, tiene espacio disponible de sobra, pero la extensión más larga que permite no es suficiente para meter el fichero al requerir espacio contiguo.
Entonces para intentar resolverlo, migramos o movemos ficheros a otro disco y aumenta el espacio disponible, pero máxima extensión permitida sigue siendo la misma porque no hemos elegido los ficheros “correctos”.
Veremos cómo identificarlos de forma sencilla por ambos métodos.
Partimos de este job de ejemplo que creará un fichero en el disco PRD000 de 6975 pistas de espacio contiguo.
Lo ejecutamos y falla por espacio insuficiente.
Vemos el estado del disco desde 3.4 de ISPF (opción V).
Vemos que tiene 19.933 pistas libres (recordamos que nuestro nuevo fichero necesita 6.975 pistas seguidas) y la máxima extensión es de 6945 (es decir, pistas seguidas dentro del disco), por lo tanto, por 30 pistas no entra nuestro nuevo fichero.
También nos fijamos en que la extensión máxima son 463 cilindros y una VTOC de 150 tracks.
He hecho un job que utiliza el PGM IEHLIST para leer la información de la VTOC del disco deseado y genera un informe. Mediante un programa REXX, que también he hecho, se formatea ese informe para ver los datos mejor y más rápido.
NOTA: Ambos podéis descárgalos al principio de la página.
JOB VTOCLIST
REXX VTOCFORM
Antes de ejecutar el job, indicaremos en el paso “STEP2” el disco del que queremos extraer el report. Una vez hecho, lo ejecutamos.
Terminará correctamente y generará un report.
Vemos el report y los campos son:
- DATA SET NAME. Nombre del dataset. En el caso de extesiones libres, indicará el espacio disponible en esa extensión.
- EXTN. Es el número de extensión de un fichero concreto.
- STR CYL. Es la posición de inicio del fichero dentro del disco.
- END CYL. Es la posición de fin del fichero dentro del disco. Restando la anterior, obtenemos lo que ocupa en cilindros.
El método consiste en buscar la extensión más grande (en esta caso, es 463 vimos anteriormente) y mover/migrar los ficheros que haya “al lado” de esa extensión dentro del disco (siempre y cuando se puedan mover, cuidado con esto).
En mi caso, el “STR CYL” empieza en el 10 porque mi VTOC ocupa 10 cyls (150 tracks).
NOTA: Siempre y cuando sean ficheros que se puedan mover. Cuidado al mover librerías tipo PARMLIB, librerías de módulos, etc.
Busco en el report la extensión más larga (463 cyl) y veo que el fichero “ZDBUG.V142.SMPLOG” es el siguiente que está en el disco. Al moverlo dejaría libre ese hueco de 28 cilindros (2447 – 2419).
Si el sistema con el que trabajáis tiene disponible File Manager (puede ser que no esté, por eso ofrezco la opción del job), también podemos ver esta información.
Vamos a revisar la VTOC del disco para identificar qué ficheros están “cerca” de nuestra extensión máxima en el disco para así saber qué ficheros debemos migrar/mover a otro disco.
La información debería ser la misma que el report anterior.
Dentro de File Manager, vamos a la opción 3 – Utilities.
Opción 5 – VTOC.
Ponemos el disco deseado (PRD000 en mi caso) y pulsamos intro.
Ordenamos por la columna “Begin”.
Pulsamos F11 para ver cuánto ocupan las extensiones y buscar la que se corresponde con la máxima extensión.
En este caso, la información es la misma que el report que generamos anteriormente pero mostrada en TRACKs en vez de CYLs.
El fichero que tendríamos que mover en este caso es el ZDBUG.V142.SMPLOG.
Con el siguiente job (ADRDSSU), vamos a mover el fichero ZDBUG.V142.SMPLOG del disco PRD000 al PRD001.
NOTA: Lo podéis descargar al principio de la entrada.
Una vez revisado el job (sobre todo el parámetro STORCLAS para ficheros SMS o NULLSTORCLAS para NO-SMS), lo ejecutamos.
Terminará correctamente.
Ahora vamos a mirar el disco desde 3.4 de ISPF, opción V.
Vemos que la extensión máxima ha aumentado hasta los 7.380 tracks – 492 cyls.
Ahora vamos a ejecutar de nuevo el job que genera el report de la VTOC para ver el estado.
Veremos que en esa posición del disco, la extensión ha aumentado y el siguiente fichero en el disco es el ZDBUG.V142.SMPLOGA.
También lo podemos comprobar en File Manager. La información es la misma.
Por último, dejo un report de un disco lleno completamente.
Podemos observar que el dataset”IBMUSER.FICHERO.GRANDE2” tiene 2 extensiones, por ejemplo. También vemos que no hay extensiones libres.
Si relanzamos el job que falló al principio por espacio, ahora terminará correctamente.
Espero que os haya gustado y os sea útil cuando tengáis problemas de espacio.