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