En este estudio de caso, exploraremos cómo utilizar JCL para realizar tareas de mantenimiento del sistema. El mantenimiento del sistema es crucial para asegurar que los recursos estén disponibles y funcionando correctamente. Este estudio de caso cubrirá la creación de trabajos JCL para tareas comunes de mantenimiento, como la limpieza de conjuntos de datos temporales, la reorganización de bases de datos y la generación de informes de uso del sistema.

Objetivos del Estudio de Caso

  1. Comprender la importancia del mantenimiento del sistema.
  2. Aprender a escribir trabajos JCL para tareas de mantenimiento.
  3. Ejecutar y verificar trabajos de mantenimiento.

Tareas de Mantenimiento del Sistema

  1. Limpieza de Conjuntos de Datos Temporales

Los conjuntos de datos temporales pueden acumularse y consumir espacio de almacenamiento innecesario. Es importante limpiar estos conjuntos de datos regularmente.

Ejemplo de JCL para Limpieza de Conjuntos de Datos Temporales

//CLEANUP  JOB (ACCT),'CLEAN TEMP DATASETS',CLASS=A,MSGCLASS=X
//STEP1    EXEC PGM=IEFBR14
//TEMPDS   DD  DSN=TEMP.DATASET1,DISP=(MOD,DELETE)
//         DD  DSN=TEMP.DATASET2,DISP=(MOD,DELETE)
//         DD  DSN=TEMP.DATASET3,DISP=(MOD,DELETE)

Explicación:

  • JOB Statement: Define el trabajo con un nombre y una descripción.
  • EXEC Statement: Ejecuta el programa IEFBR14, que es un programa de utilidad que no realiza ninguna operación, pero permite la manipulación de conjuntos de datos.
  • DD Statements: Define los conjuntos de datos temporales que se eliminarán. DISP=(MOD,DELETE) indica que los conjuntos de datos deben ser eliminados si existen.

  1. Reorganización de Bases de Datos

La reorganización de bases de datos es necesaria para mantener el rendimiento y la integridad de los datos.

Ejemplo de JCL para Reorganización de Bases de Datos

//REORGDB  JOB (ACCT),'REORG DATABASE',CLASS=A,MSGCLASS=X
//STEP1    EXEC PGM=REORG
//DBINPUT  DD  DSN=DATABASE.INPUT,DISP=SHR
//DBOUTPUT DD  DSN=DATABASE.OUTPUT,DISP=(NEW,CATLG,DELETE),
//             SPACE=(CYL,(100,10),RLSE),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)

Explicación:

  • JOB Statement: Define el trabajo con un nombre y una descripción.
  • EXEC Statement: Ejecuta el programa de reorganización de la base de datos.
  • DD Statements: Define los conjuntos de datos de entrada y salida para la reorganización. DISP=SHR permite compartir el conjunto de datos de entrada, mientras que DISP=(NEW,CATLG,DELETE) crea un nuevo conjunto de datos de salida y lo cataloga.

  1. Generación de Informes de Uso del Sistema

Generar informes de uso del sistema ayuda a monitorear y gestionar los recursos del sistema.

Ejemplo de JCL para Generación de Informes

//SYSRPT   JOB (ACCT),'SYSTEM USAGE REPORT',CLASS=A,MSGCLASS=X
//STEP1    EXEC PGM=REPORTGEN
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  *
  REPORT TYPE=USAGE
  PERIOD=LASTMONTH
/*

Explicación:

  • JOB Statement: Define el trabajo con un nombre y una descripción.
  • EXEC Statement: Ejecuta el programa de generación de informes.
  • DD Statements: SYSPRINT envía la salida del informe a la impresora del sistema. SYSIN proporciona los parámetros de entrada para el programa de generación de informes.

Ejercicio Práctico

Ejercicio 1: Crear un Trabajo JCL para Limpieza de Conjuntos de Datos Temporales

Instrucciones:

  1. Escribe un trabajo JCL que elimine tres conjuntos de datos temporales.
  2. Asegúrate de que el trabajo tenga un nombre descriptivo y una descripción adecuada.

Solución:

//CLEANUP  JOB (ACCT),'CLEAN TEMP DATASETS',CLASS=A,MSGCLASS=X
//STEP1    EXEC PGM=IEFBR14
//TEMPDS1  DD  DSN=TEMP.DATASET1,DISP=(MOD,DELETE)
//TEMPDS2  DD  DSN=TEMP.DATASET2,DISP=(MOD,DELETE)
//TEMPDS3  DD  DSN=TEMP.DATASET3,DISP=(MOD,DELETE)

Ejercicio 2: Crear un Trabajo JCL para Reorganización de una Base de Datos

Instrucciones:

  1. Escribe un trabajo JCL que reorganice una base de datos.
  2. Define los conjuntos de datos de entrada y salida con los parámetros adecuados.

Solución:

//REORGDB  JOB (ACCT),'REORG DATABASE',CLASS=A,MSGCLASS=X
//STEP1    EXEC PGM=REORG
//DBINPUT  DD  DSN=DATABASE.INPUT,DISP=SHR
//DBOUTPUT DD  DSN=DATABASE.OUTPUT,DISP=(NEW,CATLG,DELETE),
//             SPACE=(CYL,(100,10),RLSE),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)

Conclusión

En este estudio de caso, hemos aprendido a utilizar JCL para realizar tareas de mantenimiento del sistema, como la limpieza de conjuntos de datos temporales, la reorganización de bases de datos y la generación de informes de uso del sistema. Estas tareas son esenciales para mantener el rendimiento y la disponibilidad del sistema. Con la práctica y la comprensión de estos conceptos, estarás mejor preparado para gestionar y mantener sistemas complejos utilizando JCL.

© Copyright 2024. Todos los derechos reservados