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:
- Lea detenidamente la carta de presentación para ver si es necesario realizar
alguna acción especial.
- 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 .
- 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.
- Avise a todos los usuarios de que va a detener IBM MQ.
- Detenga el servidor mqweb escribiendo el comando siguiente:
Desactivar temporalmente todos los gestores de colas:
- 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:
- 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.
- 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.
RUNMQLSR: Escucha TCP (múltiples hebras)
AMQCLMAA: Escucha TCP (una sola hebra)
AMQRMPPA: Trabajo de agrupación de proceso de canal
RUNMQCHI: Iniciador de canal
AMQCRSTA: recepción de trabajos MCA
RUNMQCHL: envío de trabajos MCA
AMQCRS6B: Canal receptor LU62
AMQPCSEA: servidor de mandatos
RUNMQTRM: Supervisor desencadenante de aplicaciones
RUNMQDLQ: Manejador de colas de mensajes no entregados
AMQFCXBA -Trabajo de trabajador de IBM Integration Bus
AMQFQPUB: Daemon de publicación/suscripción en cola
RUNMQBRK -Trabajo de control de IBM Integration Bus
AMQZMUC0 ('0' es un cero) - Gestor de programas de utilidad
AMQZMUF0 ('0' es un cero) - Gestor de programas de utilidad
AMQZMUR0 ('0' es un cero) - Gestor de programas de utilidad
AMQZMGR0 ('0' es un cero) - Controlador de procesos
AMQRRMFA: Gestor de repositorios de clúster
AMQZDMAA: Gestor de mensajes diferidos
AMQZFUMA: Gestor de autorización de objetos
AMQZLSA0 ('0' es un cero): agentes de LQM
AMQZLAA0 ('0' es un cero): agentes de LQM
AMQZXMA0 ('0' es un cero) - Execution Controller
- Ejecute el comando siguiente:
ENDMQM MQMNAME( QMGRNAME ) OPTION(*IMMED)
- 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.
- Limpie manualmente la memoria compartida.
Ejecute el siguiente mandato:
EDTF '/QIBM/UserData/mqm/qmgrs'
y a continuación:
- Tome la opción 5 para &SYSTEM y compruebe que los directorios siguientes están vacíos: isem, esem, msem, ssem, y shmem.
- Tome la opción 5 para QMGRNAME y compruebe que los directorios siguientes están vacíos:- isem, esem, msem, ssem, y shmem.
- 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.
- 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.
- 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:
- Cargar y aplicar un PTF.