viernes, 22 de octubre de 2010

Averiguar quien elimino un archivo de spool

Algunas veces todos hemos tenido la necesidad de averiguar que usuario ha eliminado un archivo de spool de un trabajo. Esto lo podremos hacer si tenemos activada la auditoria del sistema (valor QAUDCTL) que debe contener *AUDLVL. También debe estar especificado *SPLFDTA, en  el  valor de sistema QAUDLVL (ver Nota2).

Una vez comprobado, y activado, lo anterior, ya podemos recuperar las entradas del diario de auditoria que se correspondan con las operaciones en el spool.
Para ello lo mas recomendable es someter el mandato DSPJRN  (suele tardar bastante) indicando día/hora  de inicio y día/hora fin, del rango de tiempo donde queremos investigar la desaparición del spool, e indicando que solo queremos volcar las entradas de diario T-SF:
SBMJOB CMD(DSPJRN JRN(QAUDJRN) RCVRNG(*CURCHAIN) FROMTIME(ddmmyy hhmmss) TOTIME(ddmmyy hhmmss) JRNCDE((T)) ENTTYP(SF) OUTPUT(*OUTFILE) OUTFILFMT(*TYPE5) OUTFILE(MyTmpLib/TmpDspJrn) ENTDTALEN(*CALC)) JOB(DSPJRN)

El trabajo DSPJRN nos generará un archivo con las entradas relacionadas, en el ejemplo MyTmpLib/TmpDspJrn. Ahora podremos ejecutar una consulta, por ejemplo con SQL, indicando el nombre del archivo de spool y el nombre del trabajo de donde ha desaparecido el spool, en el ejemplo "QSYSPRT" y "MyJob":
SELECT * FROM MyTmpLib/TmpDspJrn WHERE JOESD LIKE 'D%' AND JOESD LIKE '%QSYSPRT%' AND JOESD LIKE '%MyJob%'

Y "voila", en la columna JOB NAME y USER NAME, ya tenemos el usuario que ha eliminado el archivo de spool, así como la hora y desde que programa, si es QCMD indica que se eliminó desde la linea de mandatos, o con alguna opción de menú. Cuando eliminamos un spool, el campo JOESD empieza con el carácter D.
Nota1: El OUTFILFMT(*TYPE5) es válido para la versión V5R2 o superiores. Para versiones anteriores podemos utilizar el *TYPE4, pero entonces no podemos especificar el nombre de trabajo (MyJob), con lo cual pueden aparecer más entradas que correspondan a eliminaciones de archivo de spool, pero en varios trabajos. Si no tenemos muchos puede que no sea un problema, pero si aparecen muchos, sera difícil discernir cual es el que buscamos, aunque hay otros valores que nos pueden ayudar, como puede ser la cola de salida que también aparece en el campo JOESD.

Nota2: Para activar la seguridad del sistema leer la entrada Configurar seguridad del sistema. Para saber más sobre la auditoria del sistema, Help400 publicó , hace ya unos años, una utilidad que puede ir bien para entender mejor como funciona.

No hay comentarios: