AS/400: Realizaci贸n de BACKUPS SAVE 21 desatendidos a Cinta

Despues de un tiempo sin escribir por aqui, vuelvo a la carga, esta vez con una receta para AS/400 馃檪

Este documento explicar谩 los pasos a realizar para efectuar una copia completa del sistema de forma desatendida, utilizando la opci贸n 21 del mandato SAVE.

 

QUE ES LA OPCION 21 DEL MANDATO SAVE?

La opci贸n 21 del mandato SAVE, es un backup que se realiza COMPLETO del sistema. Se lleva las bibliotecas, los permisos, objetos, informaci贸n de seguridad, e incluso los datos del Sistema operativo, PTFs aplicadas, etc. Este mandato adem谩s, genera una cinta IPLable (o de arranque), de forma que ante la perdida total de datos del AS/400, el sistema permite arrancar desde la cinta y restaurar toda la informaci贸n del sistema de una vez, hasta dejar la m谩quina exactamente igual que estaba en el momento de hacer dicha copia.

Esta copia conllevaba un problema: Para que la copia fuera v谩lida, todos los subsistemas (excepto el subsistema de control o QCTL) deb铆an cerrarse para asegurar que todos los ficheros de base de datos, Journals, etc, estuvieran cerrados y evitar que gentes desde el exterior pudiera cambiar informaci贸n durante la copia y generar asi inconsistencia de datos. Por tanto, dicho comando solo pod铆a ser llamado desde una emulaci贸n 5250 conectada a la HMC o a la consola de Operaciones, o, en equipos mas antiguos, la consola f铆sica conectada al puerto Twinaxial 0. Y, obviamente, era necesario que alguien estuviera presente en dicha consola para contestar los posibles mensajes que pudieran salir durante la copia.

Como esto es un engorro y la copia puede demorarse en el tiempo, rara vez se hacen copias de seguridad de este tipo por lo que conlleva: Hay que hacerlas a deshoras y el proceso dura varias horas, dependiendo de la cantidad de datos a copiar. Pero desde hace unos a帽os, IBM ha resuelto el problema, y en esta receta voy a explicar como realizar copias de seguridad completas y desatendidas.

Para ello, debemos realizar los siguientes pasos:

 

CREACI脫N DEL CL QUE REALIZAR脕 LA COPIA

  • El Fuente CL de copia de seguridad, podr铆a ser algo como esto:
 PGM
  SNDMSG     MSG('Parando Servidores...') TOMSGQ(*SYSOPR)
  ENDHOSTSVR *ALL
  SNDMSG     MSG('Servidores Parados') TOMSGQ(*SYSOPR)
  SNDMSG     MSG('Parando TCPIP...') TOMSGQ(*SYSOPR)
  ENDTCPSVR *ALL
  SNDMSG     MSG('TCPIP Parado.') TOMSGQ(*SYSOPR)
  DLYJOB DLY(180)
  ENDTCP
  ENDSBS SBS(*ALL) OPTION(*IMMED) BCHTIMLMT(240)
  DLYJOB DLY(180)
  SNDMSG     MSG('Inicializando Cinta...') TOMSGQ(*SYSOPR)
  INZTAP     DEV(TAP01) NEWVOL(IBMIRD) CHECK(*NO)
  MONMSG     MSGID(CPF0000 CPC0000 CPD0000)
  SNDMSG     MSG('Salvando Sistema SAVSYS...') +
               TOMSGQ(*SYSOPR)
  SAVSYS     DEV(TAP01) ENDOPT(*LEAVE)
  MONMSG     MSGID(CPF0000 CPC0000 CPD0000)
  SNDMSG     MSG('SAVSYS realizado.') TOMSGQ(*SYSOPR)
  SNDMSG     MSG('Salvando todas las Bibliotecas...') +
               TOMSGQ(*SYSOPR)
  SAVLIB     LIB(*NONSYS) DEV(TAP01) ENDOPT(*LEAVE) +
               ACCPTH(*YES)
  MONMSG     MSGID(CPF0000 CPC0000 CPD0000)
  SNDMSG     MSG('Todas las Bibliotecas salvadas.') +
               TOMSGQ(*SYSOPR)
  SNDMSG     MSG('Salvando Carpetas...') TOMSGQ(*SYSOPR)
  SAVDLO     DLO(*ALL) DEV(TAP01) ENDOPT(*LEAVE)
  MONMSG     MSGID(CPF0000 CPC0000 CPD0000)
  SNDMSG     MSG('Carpetas salvadas.') TOMSGQ(*SYSOPR)
  SNDMSG     MSG('Salvando Objetos...') TOMSGQ(*SYSOPR)
  SAV        DEV('/QSYS.LIB/TAP01.DEVD') OBJ(('/*') +
               ('/QSYS.LIB' *OMIT) ('/QDLS' *OMIT)) +
               ENDOPT(*UNLOAD) UPDHST(*YES)
  MONMSG     MSGID(CPF0000 CPC0000 CPD0000)
  SNDMSG     MSG('Objetos salvados.') TOMSGQ(*SYSOPR)
  SNDMSG     MSG('Reiniciando iSeries...') TOMSGQ(*SYSOPR)
  PWRDWNSYS  OPTION(*CNTRLD) DELAY(300) RESTART(*YES) +
               CONFIRM(*NO)
  MONMSG     MSGID(CPF0000)
 ENDPGM

 

Con ese CL, Inicializar谩 la cinta y luego se mandar谩n a la cola de mensajes los diferentes inicios y finalizaciones de cada mandato para hacerse una idea del tiempo que lleva cada uno de ellos. Especial menci贸n al mandato ENDSBS SBS(*ALL) OPTION(*IMMED) BCHTIMLMT(240), ya que el sistema se pone en modo Restringido para realizar la copia, pero con un tiempo m谩ximo de 240 minutos (4 horas), de forma que si ha habido un cuelgue o un problema, nos aseguremos de que el sistema sale de dicho modo en cuanto se superen las 4 horas y no dejar el sistema indefinidamente en estado restringido.

 

  • Compilaremos el fuente CL desde el PDM con la opci贸n 14, y el fichero objeto lo dejaremos en una biblioteca que forme parte de la lista de bibliotecas, por poner un ejemplo,  con el nombre COPIA21 y lo dejaremos dentro de la biblioteca QGPL.

 

CREACI脫N DE LA PLANIFICACI脫N DE COPIA

Para planificar la ejecuci贸n de este CL, utilizaremos el planificador del AS/400 para tal fin. Para ello, a帽adiremos la entrada con el siguiente mandato, siendo usuario QSECOFR:

ADDJOBSCDE JOB(COPIATOTAL) CMD(CALL PGM(QGPL/COPIA21)) FRQ(*WEEKLY) SCDDATE(*NONE) 
SCDDAY(*SUN) SCDTIME('01:00:00') JOBQ(QSYS/QCTL)

Este mandato planifica la ejecuci贸n del CL llamado COPIA21 que hemos compilado y dejado en la QGPL, y lo ejecutar谩 los domingos a las 01:00 de la madrugada. Es MUY IMPORTANTE especificar tambi茅n la cola de trabajos donde ser谩 ejecutado, es decir, la QCTL, ya que es el 煤nico subsistema que estar谩 operativo una vez que el AS/400 haya entrado en condici贸n restringida.

Y con esta operativa, se pueden realizar las copias de seguridad completas y de forma desatendida.

NOTA: Huelga decir que la m谩quina en estado restringido no est谩 operativa salvo por un 煤nico subsistema, el QCTL, por lo tanto, no es apta para la producci贸n. Por tanto, es necesaria una ventana de parada para realizar esta operativa. En mi caso, dado que los domingos a la madrugada no se trabaja ni la web que soporta el AS/400 requiere de 24×7, cuento con una ventana de backup suficiente.

About Urtzi Larrieta

Director de Proyectos de entornos Mainframe, AIX y AS/400, llevo mas de 10 a帽os trabajando para el sector servicios y banca, as铆 como proyectos de sistemas, renovaci贸n tecnol贸gica, estrategias de backup, y consultor铆a de sistemas.