google analytics

lunes, 4 de julio de 2011

Trazas en CICS

Permiten conocer la actividad del CICS en cada momento, tanto desde el punto de vista del Sistema como de la Aplicación.

Por defecto el almacenamiento de las trazas se realiza sobre memoria, sin embargo, para poder obtener información para su posterior tratamiento es necesario que la información recolectada se guarde en disco. Para poder almacenar las trazas en disco, en el JCL de arranque del CICS se deben incluir  las siguientes DDNAME.

//DFHAUXT DD DSN=hlq_cics.DFHAUXT,DISP=SHR,DCB=BUFNO=5
//DFHBUXT DD DSN=hlq_cics.DFHBUXT,DISP=SHR,DCB=BUFNO=5

Parámetros

Para activar la recolección de trazas en disco, en ficheros, hay 2 opciones, bien configurar un conjunto de parámetros en la tabla SIT o bien utilizar la transacción CETR proporcionada por el CICS. El hecho de emplear dicha transacción frente a la configuración de los parámetros de la tabla SIT, es su sencillez de manejo e inmediatez.

Los parámetros de la tabla SIT a configurar son los siguientes:

INTTR. Indica si se arrancan las tranzas al iniciar CICS.

STNTR. Especifica el nivel de traceo estándard de todos los componentes del CICS. Cada componente CICS tiene varios puntos de traceo asociados a distintos niveles. Puede tomar los valores ALL indicando que se traceen todos los niveles, OFF indicando que no se tracee ningún nivel o un valor comprendido entre 1 y 32.

STNTRxx. Especifica el nivel de traceo standard de un componente concreto, donde xx es el componente. Este parámetro no se puede especificar en la tabla SIT, solo en el job de inicio del CICS. Toma los mismos valores que STNTR.

SPCTR. Especifica el nivel de traceo especial de todos los componentes del CICS. Cada componente CICS tiene varios puntos de traceo asociados a distintos niveles. Toma los mismos valores que STNTR.

SPCTRxx. Especifica el nivel de traceo especial de un componente concreto, donde xx es el componente. Este parámetro no se puede especificar en la tabla SIT, solo en el job de arranque del CICS. Toma los mismos valores que STNTR.

SYSTR. Especifica si se tracea el sistema. Puede tomar los valores ON y OFF.

USERTR. Especifica si tracea los programas de usuario, es decir el usuario puede incluir en su programa la sentencia EXEC CICS ENTER TRACENUM para escribir mensajes en el fichero de trazas o en memoria. Puede tomar los valores ON y OFF. En caso de que tome el valor OFF y un programa de usuario intente escribir una traza, la transacción asociada a dicho programa finalizará con el abend AEIP. La sentencia a incluir en el programa sería la siguiente:

EXEC CICS ENTER
     TRACENUM(10)
     FROM(SQLCODE-DISPLAY)
END-EXEC

Donde el parámetro TRACENUM es un número que identifica la traza y el parámetro FROM el texto a escribir en la taza.

TRTABSZ. Tamaño del espacio reservado para las trazas en memoria.

AUXTR. Especifica si las trazas se almacenan en disco (además de en memoria).

AUXTRSW. Especifica, en caso de que las trazas escriban en fichero si se switchea el fichero de trazas (se cambia uno por otro). Puede tomar los valores:
  • NO. Se para la recolección de trazas.
  • NEXT. Continua con el dataset B y se para el traceo cuando se llena este último.
  • ALL. Cuando se llena un data set, por ejemplo el A, se comienza con el data set B, y cuando este último se llena, se vuelve con el A y así sucesivamente.
Algunos de estos parámetros se pueden modificar también con la transacción CEMT.

CEMT S AUX START
CEMT S AUX STOP
CEMT S AUX NO
CEMT S AUX NEXT
CEMT S AUX ALL

CEMT S AUX SWITCH

Utilidad DFHTUxxx

CICS proporciona la utilidad DFHTUxxx par extraer la información recolectada. Los caracteres xxx dependen de la versión de CICS que tengamos instalada.

//PRTAUXT EXEC PGM=DFHTU650,REGION=0M
//STEPLIB DD DSN=hlq_cics.SDFHLOAD,DISP=SHR
//DFHAUXT DD DISP=SHR,DSN=hlq_cics.DFHAUXT
//DFHAXPRT DD SYSOUT=*
//DFHAXPRM DD *
ABBREV
TASKID=15609

La DDNAME DFHAUXT, indica el fichero o ficheros de trazas. Si se especifica más de un fichero de entrada deben estar en orden cronológico. La salida se deja en la ddname DFHAXPRT. En la ddname DFHAXPRM se introducirán los parámetros:

ABBREV - SHORT - FULL. Especifica la cantidad de información que se va a obtener por cada entrada del fichero.

TRANID=(tran). Especifica el nombre de la transacción. Si pueden especificar varias transacciones separadas por comas.

TASKID=(número). Especifica el número de tarea.

TERMID=(term). Especifica el nombre del terminal.

ALL. Especifica que queremos obtener información de todas las tareas que contiene el fichero de entrada.

Una vez obtenido los resultados es necesario una herramienta de interpretación y análisis de los mismos.

Pasos para obtener una traza

1. Arrancar la recolección de tazas. Para ello ejecutar la transacción CETR. Alimentar los siguientes parámetros:

Auxiliary Trace Status   ===> STARTED
Auxiliary Trace Dataset  ===> A
Auxiliary Switch Status  ===> Next
Master System Trace Flag ===> OFF
Master User Trace Flag   ===> ON

Pulsar [F5] y teclear el código de transacción sobre la que se quiere obtener la traza.

Transaction ID ===> XXXX

Pulsar [F4] para asignar a los componentes que deseemos tracear un nivel. Aunque hay 32 niveles de traceo, generalmente solo se emplean los niveles 1 y 2.

2. Ejecutar la transacción que se desea trazear. Apuntar el número de tarea.

3. Parar la recolección de trazas. Para ello ejecutar la transacción CETR y Alimentar los siguientes parámetros:

Auxiliary Trace Status   ===> STOPPED
Master System Trace Flag ===> ON

4. Una vez obtenidos los datos sobre los ficheros, ejecutar la utilidad DFHTUxx para extraer la información.

No hay comentarios:

Publicar un comentario en la entrada