VSAM - Clúster
El clúster VSAM se define en JCL. Usos de JCLIDCAMSutilidad para crear un clúster. IDCAMS es una utilidad, desarrollada por IBM, para servicios de métodos de acceso. Se utiliza para definir principalmente conjuntos de datos VSAM.
Definición de un clúster
La siguiente sintaxis muestra los principales parámetros que se agrupan en Define Cluster, Data y Index.
.DEFINE CLUSTER (NAME(vsam-file-name) -
BLOCKS(number) -
VOLUMES(volume-serial) -
[INDEXED / NONINDEXED / NUMBERED / LINEAR] -
RECSZ(average maximum) -
[FREESPACE(CI-Percentage,CA-Percentage)] -
CISZ(number) -
[KEYS(length offset)] -
[READPW(password)] -
[FOR(days)|TO(date)] -
[UPDATEPW(password)] -
[REUSE / NOREUSE] ) -
DATA -
(NAME(vsam-file-name.data)) -
INDEX -
(NAME(vsam-file-name.index)) -
CATALOG(catalog-name[/password]))
Los parámetros en el nivel CLUSTER se aplican a todo el clúster. Los parámetros a nivel de DATOS o ÍNDICE se aplican solo al componente de datos o índice.
Discutiremos cada parámetro en detalle en la siguiente tabla:
No Señor | Parámetros con descripción |
---|---|
1 | DEFINE CLUSTER El comando Definir clúster se utiliza para definir un clúster y especificar atributos de parámetros para el clúster y sus componentes. |
2 | NAME NAME especifica el nombre del archivo VSAM para el que estamos definiendo el clúster. |
3 | BLOCKS Bloques especifica la cantidad de bloques asignados para el clúster. |
4 | VOLUMES Volumes especifica uno o más volúmenes que contendrán el clúster o componente. |
5 | INDEXED / NONINDEXED / NUMBERED / LINEAR Este parámetro puede tomar tres valores INDEXED, NONINDEXED o NUMBERED dependiendo del tipo de conjunto de datos que estamos creando. Para archivos de secuencia de clave (KSDS) se utiliza la opción INDEXED. Para archivos de secuencia de entrada (ESDS), se utiliza la opción NONINDEXED. Para archivos de registro relativo (RRDS), se requiere la opción NUMBERED. Para archivos lineales (LDS), se requiere la opción LINEAR. El valor predeterminado de este parámetro es INDEXADO. Discutiremos más sobre KSDS, ESDS, RRDS y LDS en los próximos módulos. |
6 | RECSZ El parámetro Tamaño de registro tiene dos valores que son Tamaño de registro promedio y máximo. El Promedio especifica la longitud promedio de los registros lógicos en el archivo y el Máximo indica la longitud de los registros. |
7 | FREESPACE Freespace especifica el porcentaje de espacio libre a reservar para los intervalos de control (CI) y las áreas de control (CA) del componente de datos. El valor predeterminado de este parámetro es cero porcentaje. |
8 | CISZ CISZ se conoce como tamaño de intervalo de control. Especifica el tamaño de los intervalos de control. |
9 | KEYS El parámetro de claves se define solo en archivos de secuencia de claves (KSDS). Especifica la longitud y el desplazamiento de la clave principal desde la primera columna. El rango de valor de este parámetro es de 1 a 255 bytes. |
10 | READPW El valor en el parámetro READPW especifica la contraseña del nivel de lectura. |
11 | FOR/TO El valor de este parámetro especifica la cantidad de tiempo en términos de fecha y días para retener el archivo. El valor predeterminado de este parámetro es cero días. |
12 | UPDATEPW El valor en el parámetro UPDATEPW especifica la contraseña del nivel de actualización. |
13 | REUSE / NOREUSE El parámetro REUSE permite definir clústeres que se pueden restablecer a su estado vacío sin eliminarlos ni redefinirlos. |
14 | DATA - NAME La parte de DATOS del clúster contiene el nombre del conjunto de datos que contiene los datos reales del archivo. |
15 | INDEX-NAME La parte INDICE del clúster contiene la clave principal y el puntero de memoria para el registro correspondiente en la parte de datos. Se define cuando se utiliza un clúster con secuencia de claves. |
dieciséis | CATALOG El parámetro de catálogo denota el catálogo bajo el cual se definirá el archivo. Discutiremos sobre el catálogo por separado en los próximos módulos. |
Ejemplo
A continuación se muestra un ejemplo básico para mostrar cómo definir un clúster en JCL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
DEFINE CLUSTER (NAME(MY.VSAM.KSDSFILE) -
INDEXED -
RECSZ(80 80) -
TRACKS(1,1) -
KEYS(5 0) -
CISZ(4096) -
FREESPACE(3 3) ) -
DATA (NAME(MY.VSAM.KSDSFILE.DATA)) -
INDEX (NAME(MY.VSAM.KSDSFILE.INDEX))
/*
Si va a ejecutar el JCL anterior en el servidor Mainframes. Debería ejecutarse con MAXCC = 0 y creará el archivo MY.VSAM.KSDSFILE VSAM.
Eliminar un clúster
Para eliminar un archivo VSAM, el clúster VSAM debe eliminarse mediante la utilidad IDCAMS. El comando DELETE elimina la entrada del clúster VSAM del catálogo y, opcionalmente, elimina el archivo, liberando así el espacio ocupado por el objeto. Si el conjunto de datos de VSAM no está vencido, no se eliminará. Para eliminar este tipo de conjuntos de datos, utilice la opción PURGA.
DELETE data-set-name CLUSTER
[ERASE / NOERASE]
[FORCE / NOFORCE]
[PURGE / NOPURGE]
[SCRATCH / NOSCRATCH]
La sintaxis anterior muestra los parámetros que podemos usar con la instrucción Delete. Discutiremos cada uno de ellos en detalle en la siguiente tabla:
No Señor | Parámetros con descripción |
---|---|
1 | ERASE / NOERASE La opción ERASE se especifica para anular el atributo ERASE especificado para el objeto en el catálogo. La opción NOERASE se toma por defecto. |
2 | FORCE / NOFORCE La opción FORCE se especifica para eliminar SPACE y USERCATALOG incluso si no están vacíos. La opción NOFORCE se toma por defecto. |
3 | PURGE / NOPURGE La opción PURGE se usa para eliminar el conjunto de datos VSAM si el conjunto de datos no ha expirado. La opción NOPURGE se toma por defecto. |
4 | SCRATCH / NOSCRATCH La opción SCRATCH se especifica para eliminar la entrada asociada para el objeto de la Tabla de contenido del volumen. Se utiliza principalmente para conjuntos de datos que no son de vsam, como los GDG. La opción NOSCRATCH se toma por defecto. |
Ejemplo
A continuación se muestra un ejemplo básico para mostrar cómo eliminar un clúster en JCL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEPNAME EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
DELETE MY.VSAM.KSDSFILE CLUSTER
PURGE
/*
Si va a ejecutar el JCL anterior en el servidor Mainframes. Debería ejecutarse con MAXCC = 0 y eliminará el archivo VSAM MY.VSAM.KSDSFILE.