Operaciones y comandos rutinarios en mainframes

Autor: Kujaku | El viernes 19 de octubre del 2007 @ 02:25.

Hasta ahora hemos explicado temas de programación con COBOL-CICS, planificadores y demás, pero no nos hemos metido dentro de la Master Console del sistema y dar comandos para ver como funciona nuestro sistema y que hacer si queremos lanzar procesos, pararlos y trabajar con los dispositivos conectados.

Como esto puede llegar a convertirse en un capítulo tedioso (el manual MVS System Commands que os recomiendo leer tiene casi 800 páginas), explicaré de manera resumida los comandos más utilizados (o más habituales) y dejo el manual para situaciones más específicas.

Comentar también que estos comandos pueden o no estar autorizados en esa consola, con la configuración del miembro CONSOLXX de la PARMLIB. Si la consola que estamos usando tiene una línea con AUTH=MASTER significa que esa consola tiene la autorización para emitir todos los comandos, algunos de los cuales pueden llegar a ser destructivos (como el VARY por ejemplo, que explicaré más adelante).

Ahora mismo el comando más tecleado es el D o DISPLAY. Con este comando, nos visualiza el estado de TODO el sistema, dependiendo que le digamos que visualizar. Por ejemplo, un D A,L nos muestra todos los procesos activos del mainframe:

RESPONSE=ASGARD                                                           
 IEE114I 09.22.36 2007.291 ACTIVITY 459                                 
  JOBS     M/S    TS USERS    SYSAS    INITS   ACTIVE/MAX VTAM     OAS  
 00003    00025    00008      00031    00007    00006/00010       00015 
  LLA      LLA      LLA      NSW  S  VLF      VLF      VLF      NSW  S  
  DLF      DLF      DLF      NSW  S  RMF      RMF      IEFPROC  NSW  S  
  SDSF     SDSF     SDSF     NSW  S  RRS      RRS      RRS      NSW  S  
  RACF     RACF     RACF     NSW  S  EPWFFST  FFST     EPWFFST  NSW  S  
  JES2     JES2     IEFPROC  NSW  S  TSO      TSO      STEP1    OWT  S  
  DFRMW3   DFRMW3   IEFPROC  NSW  S  VTAM     VTAM     VTAM     NSW  S  
  SYSLOGD1 STEP1    STCLOGD  OWT  AO FTPD1    STEP1    STCTCP   OWT  AO 
BELDANDY  OWT      URD    OWT      SKULD   OWT     PEORTH    OWT
CHRONO    OWT      HILD   OWT      MARLLER OWT     KUJAKU    IN

Se pueden ver perfectamente arriba los procesos activos y, debajo, los usuarios conectados al sistema.

Si en cambio hacemos un D U (DISPLAY UNIT) con los parámetros adecuados podemos ver el estado de toda unidad o dispositivo conectado al sistema. Así pues, hacer un D U,DASD,ONLINE nos muestra una lista de unidades de disco que están online y disponibles en el sistema. Si cambiamos DASD por TAPE, pasará lo mismo pero listará las unidades de cinta.

RESPONSE=ASGARD                                 
 IEE457I 10.34.38 UNIT STATUS 753             
 UNIT TYPE STATUS        VOLSER     VOLSTATE  
 6101 3390 A             OSRES1     PRIV/RSDNT
 6102 3390 A             OSRES2     PRIV/RSDNT
 6103 3390 A             OSRES3     PRIV/RSDNT
 6104 3390 A             PRODS1     PRIV/RSDNT
 6105 3390 O             PRODS2     PRIV/RSDNT
 6106 3390 O             DSNYGG     PRIV/RSDNT
 6107 3390 A             CICYGG     PRIV/RSDNT
 6108 3390 A             AORYGG     PRIV/RSDNT
 6109 3390 A             TMPYGG     STRG/RSDNT
 610A 3390 O             SMS001     PRIV/RSDNT
 610B 3390 A             SMS002     PRIV/RSDNT
 610C 3390 A             SMS003     PRIV/RSDNT
 610D 3390 O             SMS004     PRIV/RSDNT
 610E 3390 O             SMS005     PRIV/RSDNT                     
 610F 3390 O             HSM001     PRIV/RSDNT

En definitiva, el DISPLAY viene muy bien para tener conciencia de lo que está haciendo tu instalación.

Otro de los comandos que se utiliza mucho, sobre todo relacionado con los dispositivos es el V o VARY. Con el VARY, puedes controlar el estado de todos los dispositivos del sistema, pudiendo desconectarlos o conectarlos a placer, de ahí que pueda ser destructivo (imaginaos que desactivo un volumen que tiene tablas de un DB2, con eso jodes el DB2 y se aborta el sistema).

Por ejemplo, si queremos poner un disco offline porque lo vamos a cambiar o quitar, basta con emitir el comando V 610D,OFFLINE. Esto hará que el volumen SMS004 del ejemplo anterior se desactive y no se realizarán operaciones sobre él.

En cambio, si hemos puesto un disco más grande o ya hemos terminado de arreglarlo, con hacer un V 610D,ONLINE, el disco volverá a estar disponible. De hecho, ciertas operaciones especiales (cómo formatear el disco) requieren que el disco esté OFFLINE para el host. Todo lo que digo para discos, vale para cintas, impresoras, terminales, etcétera.

En cuanto a los procesos, se pueden arrancar con un S o START y para pararlos basta con hacer un P o STOP. Si por lo que sea, el proceso se ha trincado y no acepta la parada ordenada con el STOP, se puede emitir un C o CANCEL, pero este proceso si tiene datos en memoria hará que se pierdan definitivamente, así que cuidadito con éste comando.

Estos comandos de control de procesos solo afectan a aquellos procesos que residen en la PROCLIB, que es una librería del sistema donde residen todos los "ejecutables" de los procesos. Por ejemplo, si hacemos un S TCPIP, el sistema irá a lanzar el JOB llamado TCPIP que reside en la PROCLIB. De lo contrario, dará un error.

Otro comando interesante aplicado a procesos es el F o MODIFY. Si queremos que un proceso cambie su comportamiento, cambiar su configuración o su modo de trabajo, basta con utilizar este comando. Por ejemplo, con un F BPXOINIT,SHUTDOWN=FORKINIT le estamos diciendo que modifique el proceso BPXOINIT, enviándole el comando SHUTDOWN=FORKINIT, que lo que hace es parar el sistema Unix System Services del z/OS (el z/OS tiene un Unix dentro, que funciona como un proceso más, por cierto).

A partir de aquí, lo mejor es consultar el manual que he comentado antes, y probar nuevos comandos, ya que cada comando tiene muchos parámetros según lo que se quiera visualizar, y puede llegar a ser un engorro.

Comentarios