[IBM i]

Aplicación de actualizaciones de nivel de mantenimiento en IBM i

Puede aplicar actualizaciones de nivel de mantenimiento en el release más reciente deteniendo IBM® MQ y utilizando el procedimiento de mantenimiento estándar de IBM i .

Antes de empezar

Para saber qué versión tiene instalada actualmente, utilice los siguientes mandatos:
Tabla 1. IBM MQ mandatos para visualizar las versiones instaladas
IBM MQ Producto Mandato de versión
Servidor de IBM MQ
DSPMQMVER
IBM MQ Java IBM MQ classes for Java:
java com.ibm.mq.MQJavaLevel
Nota: Para que este mandato funcione, es posible que tenga que establecer la vía de acceso de clases del entorno para que incluya:
  • /QIBM/ProdData/mqm/java/lib/com.ibm.mq.jar
Servicio de mensajes de IBM MQ classes for Java :
java com.ibm.mq.jms.MQJMSLevel
Nota: Para que este mandato funcione, es posible que tenga que establecer la vía de acceso de clases del entorno para que incluya:
  • /QIBM/ProdData/mqm/java/lib/com.ibm.mq.jakarta.client.jar (Jakarta Messaging 3.0) o /QIBM/ProdData/mqm/java/lib/com.ibm.mq.allclient.jar (JMS 2.0)

Consulte Variables de entorno relevantes para IBM MQ classes for Java y Variables de entorno relevantes para las clases IBM MQ para JMS.

IBM MQ Cliente
DSPMQMVER

Acerca de esta tarea

Las actualizaciones de mantenimiento para IBM i se proporcionan como PTF (arreglos temporales de programa). Están disponibles para su descarga desde la Web como archivos de grabación, que se almacenan normalmente en la biblioteca QGPL. IBM iLos PTF se pueden encontrar enFix Central .

Procedimiento

Preparar para desactivar temporalmente los gestores de colas:

  1. Lea detenidamente la carta de presentación para ver si es necesario realizar alguna acción especial.
  2. Inicie sesión en una nueva sesión interactiva de IBM i , asegurándose de que no está accediendo a ningún objeto de IBM MQ .
  3. Asegúrese de que tiene las autorizaciones siguientes:
    • Autorización *ALLOBJ o autorización de gestión de objetos para la biblioteca QMQM.
    • Autorización suficiente para utilizar el mandato ENDSBS.
  4. Avise a todos los usuarios de que va a detener IBM MQ.
  5. Detenga el servidor mqweb escribiendo el comando siguiente:
    ENDMQWEB

Desactivar temporalmente todos los gestores de colas:

  1. Ejecute el mandato ENDMQM:
    ENDMQM MQMNAME(*ALL) OPTION(*CNTRLD) ENDCCTJOB(*YES) RCDMQMIMG(*YES)
    TIMEOUT( 15 )
    
    Donde 15 es un valor de tiempo de espera en segundos.
    Si el mandato ENDMQM no ha finalizado en un periodo de tiempo razonable (como mínimo, 10 minutos), utilice el mandato WRKMQM. Este mandato identifica los gestores de colas que todavía están finalizando. A continuación, fuerce a cada uno a detenerse ejecutando el mandato siguiente:
    ENDMQM MQMNAME( QMGRNAME ) OPTION(*IMMED)
    
    donde QMGRNAME es el nombre del gestor de colas.
    Complete la limpieza de la memoria compartida ejecutando el mandato siguiente:
    ENDMQM MQMNAME(*ALL) OPTION(*IMMED) ENDCCTJOB(*YES) RCDMQMIMG(*NO)
    TIMEOUT( 15 )
    

Si los mandatos del paso anterior no se completan, finalice el subsistema inmediatamente:

  1. Ejecute el comando siguiente:
    ENDSBS SBS(QMQM) OPTION(*IMMED)
    

Si el mandato del paso anterior tampoco se completa, utilice el mandato ENDJOB del sistema operativo para finalizar todos los trabajos del subsistema QMQM:

Nota: No utilice ENDJOBABN a menos que tenga previsto realizar una IPL en la máquina antes de iniciar IBM MQ. La finalización de trabajos IBM MQ utilizando ENDJOBABN puede provocar semáforos dañados, lo que a su vez puede impedir que se inicie el gestor de colas.

  1. Si un QMGR debe concluirse manualmente, finalice los trabajos (ENDJOB) en el orden siguiente. Espere unos minutos para que los trabajos AMQA* o AMQZ* se ordenen.
    1. RUNMQLSR: Escucha TCP (múltiples hebras)
    2. AMQCLMAA: Escucha TCP (una sola hebra)
    3. AMQRMPPA: Trabajo de agrupación de proceso de canal
    4. RUNMQCHI: Iniciador de canal
    5. AMQCRSTA: recepción de trabajos MCA
    6. RUNMQCHL: envío de trabajos MCA
    7. AMQCRS6B: Canal receptor LU62
    8. AMQPCSEA: servidor de mandatos
    9. RUNMQTRM: Supervisor desencadenante de aplicaciones
    10. RUNMQDLQ: Manejador de colas de mensajes no entregados
    11. AMQFCXBA -Trabajo de trabajador de IBM Integration Bus
    12. AMQFQPUB: Daemon de publicación/suscripción en cola
    13. RUNMQBRK -Trabajo de control de IBM Integration Bus
    14. AMQZMUC0 ('0' es un cero) - Gestor de programas de utilidad
    15. AMQZMUF0 ('0' es un cero) - Gestor de programas de utilidad
    16. AMQZMUR0 ('0' es un cero) - Gestor de programas de utilidad
    17. AMQZMGR0 ('0' es un cero) - Controlador de procesos
    18. AMQRRMFA: Gestor de repositorios de clúster
    19. AMQZDMAA: Gestor de mensajes diferidos
    20. AMQZFUMA: Gestor de autorización de objetos
    21. AMQZLSA0 ('0' es un cero): agentes de LQM
    22. AMQZLAA0 ('0' es un cero): agentes de LQM
    23. AMQZXMA0 ('0' es un cero) - Execution Controller
  2. Ejecute el comando siguiente:
    ENDMQM MQMNAME( QMGRNAME ) OPTION(*IMMED)
    
  3. Ejecute el comando siguiente:
    ENDMQM MQMNAME(*ALL) OPTION(*CNTRLD) ENDCCTJOB(*YES) RCDMQMIMG(*NO)
    TIMEOUT( 05 )
    
    Donde 05 es un valor de tiempo de espera en segundos.
  4. Limpie manualmente la memoria compartida.
    Ejecute el siguiente mandato:
    EDTF '/QIBM/UserData/mqm/qmgrs'
    
    y a continuación:
    1. Tome la opción 5 para &SYSTEM y compruebe que los directorios siguientes están vacíos: isem, esem, msem, ssem, y shmem.
    2. Tome la opción 5 para QMGRNAME y compruebe que los directorios siguientes están vacíos:- isem, esem, msem, ssem, y shmem.
    3. Tome la opción 5 para &ipcc en el directorio QMGRNAME y compruebe que los directorios siguientes están vacíos:- isem, esem, msem, ssem, y shmem.
    4. Tome la opción 5 para &qmpersist en el directorio QMGRNAME y compruebe que los directorios siguientes están vacíos:- isem, esem, msem, ssem, y shmem.
    5. Tome la opción 5 para &app y compruebe que los directorios siguientes están vacíos: isem, esem, msem, ssem, y shmem.

Aplicar un PTF:

  1. Cargar y aplicar un PTF.