Configure el entorno de intermediario para coordinar globalmente las transacciones de flujos de mensajes con actualizaciones en las bases de datos de
Oracle bajo el control de un gestor de colas de WebSphere MQ.
Configure el entorno de intermediario para la coordinación
global utilizando un gestor de colas de 64 bits como gestor de transacciones con los
controladores DataDirect:

En Linux y UNIX, ejecute el mandato mqsimanagexalinks.
En Windows de 64 bits, para la versión de 64 bits de WebSphere Message Broker, ejecute el mandato mqsimanagexalinks y añada el directorio especificado como la ExitsDefaultPath del gestor de colas en la PATH del sistema.
- Configure el gestor de colas del intermediario con
información del Gestor de recursos XA para cada base de datos que
participe en la transacción que el gestor de colas coordinará globalmente.

En Linux y UNIX:
- Abra el archivo qm.ini del gestor de colas en un editor de texto. El archivo qm.ini está situado en /var/mqm/qmgrs/nombre_gestor_colas/qm.ini.
donde nombre_gestor_colas es el nombre del intermediario que está asociado al gestor de colas.
- Añada la siguiente stanza al final del archivo qm.ini:

XAResourceManager:
Name=OracleXA
SwitchFile=UKoradtc24.so
XAOpenString=ORACLE_XA
+HostName=NombreHost
+PortNumber=NúmeroPuerto
+ServiceName=NombreServicio
+ACC=P/IDUsuario/Contraseña
+sestm=100+threads=TRUE
+DataSource=NombreOrigenDatos
+K=2+
XACloseString=
ThreadOfControl=THREAD
- En la línea XAOpenString, sustituya los valores
siguientes por los valores apropiados para su configuración:
- NombreHost es el nombre del host TCP/IP que aloja el
escucha de base de datos de Oracle. Cuando utilice Oracle Real
Application Clusters con varios escuchas para el Nombre de servicio especificado, si el
escucha de Oracle identificado mediante los valores de NombreHost y
NúmeroPuerto en la línea XAOpenString no
está disponible, también se prueban los escuchas de Oracle alternativos que pueda haber
definido en la lista AlternateServers del archivo
odbc.ini.
- NúmeroPuerto es el puerto TCP/IP en el que el escucha de
base de datos de Oracle está a la escucha.
- IDUsuario debe ser el nombre de usuario que el
intermediario utiliza para conectar con la base de datos.
El nombre de
usuario que el intermediario utiliza puede definirse de varias maneras; asegúrese de especificar el nombre correcto en este archivo. El intermediario determina el nombre de usuario comprobando las condiciones siguientes en el orden en el que aparecen en la lista:
- Un nombre de usuario y contraseña específico para este nombre de origen de datos (DSN),
que ha definido ejecutando el mandato mqsisetdbparms.
- Un nombre de usuario y contraseña predeterminado para todos los DSN,
que ha definido ejecutando el mandato mqsisetdbparms.
- Un nombre de usuario y contraseña predeterminado para todos los DSN,
que ha definido especificando el parámetro -u en el mandato mqsicreatebroker.
Este
parámetro sólo es válido para releases anteriores.
- El nombre de usuario de servicio de intermediario, el cual ha definido con el parámetro -i en el mandato mqsicreatebroker
- Contraseña es la contraseña que está asociada al nombre de usuario.
- NombreOrigenDatos es el nombre de origen de datos ODBC
para la base de datos, como se define en el archivo odbc.ini.
- NombreServicio es
el valor establecido para el Nombre de servicio en la stanza para
NombreOrigenDatos en el archivo odbc.ini.
- Acepte los valores predeterminados de todas las demás líneas de la stanza. Por ejemplo:
- Si va a utilizar la coordinación global para Oracle:
- Establezca la variable de entorno ODBCINI para que sea visible en el entorno desde el cual inicia el gestor de colas. La variable ODBCINI debe hacer referencia al mismo archivo que utiliza el intermediario.
- Una propiedad adicional opcional, CTO=Valor,
está disponible para XAOpenString. CTO es
el valor establecido para un tiempo de espera de conexión, que indica el número de segundos
que el archivo de conmutación de Oracle XA esperará una respuesta de la base de datos Oracle
a una solicitud XA. Por ejemplo, se puede utilizar el tiempo de espera
para evitar que los retardos largos en el intermediario migren tras error a un nodo de
Oracle Real Application Clusters alternativo, cuando la instancia de Oracle activa falla
de forma repentina dejando colgadas las conexiones de socket. El Valor
debe establecerse en un valor mayor que el valor de tiempo de espera de sesión de Oracle
sestm establecido en XAOpenString. Si no se utiliza
esta propiedad o si se establece en cero, no habrá tiempo de espera (éste es el
comportamiento predeterminado).
En Windows de 32 bits y Windows de 64 bits
- En el menú Inicio, abra WebSphere MQ Explorer.
- Abra el recuadro de diálogo Propiedades del gestor de colas y, a
continuación, abra Gestores de recursos XA.
- En el campo Archivo de conmutación, especifique el nombre del archivo de conmutación, tal como se muestra en el ejemplo siguiente, donde
dir_instalación es la ubicación
en la que está instalado el intermediario:

- En el campo XAOpenString, pegue la serie de caracteres siguiente:
ORACLE_XA+
+HostName=NombreHost
+PortNumber=NúmeroPuerto
+ServiceName=NombreServicio
+ACC=P/IDUsuario/Contraseña
+sestm=100+threads=TRUE
+DataSource=NombreOrigenDatos
+K=2+
- En el campo XAOpenString, sustituya los valores por valores que sean adecuados para la configuración.
- NombreHost es el nombre del host TCP/IP que aloja el
escucha de base de datos de Oracle. Cuando utilice Oracle Real Application Clusters con
varios escuchas para el Nombre de servicio especificado, si el escucha de Oracle
identificado mediante los valores de NombreHost y
NúmeroPuerto en la línea XAOpenString no
está disponible, también se prueban los escuchas de Oracle alternativos que pueda haber
definido en la lista AlternateServers del archivo
odbc.ini.
- NúmeroPuerto es el puerto TCP/IP en el que el escucha de
base de datos de Oracle está a la escucha.
- IDUsuario debe ser el nombre de usuario que el
intermediario utiliza para conectar con la base de datos.
El nombre de
usuario que el intermediario utiliza puede definirse de varias maneras; asegúrese de especificar el nombre correcto en este archivo. El intermediario determina el nombre de usuario comprobando las condiciones siguientes en el orden en el que aparecen en la lista:
- Un nombre de usuario y contraseña específico para este nombre de origen de datos (DSN),
que ha definido ejecutando el mandato mqsisetdbparms.
- Un nombre de usuario y contraseña predeterminado para todos los DSN,
que ha definido ejecutando el mandato mqsisetdbparms.
- Un nombre de usuario y contraseña predeterminado para todos los DSN,
que ha definido especificando el parámetro -u en el mandato mqsicreatebroker.
Este
parámetro sólo es válido para releases anteriores.
- El nombre de usuario de servicio de intermediario, el cual ha definido con el parámetro -i en el mandato mqsicreatebroker
- Contraseña es la contraseña que está asociada al nombre de usuario.
- NombreOrigenDatos es el nombre de origen de datos ODBC
para la base de datos, como se define en el archivo odbc.ini.
- NombreServicio es el valor establecido
para el Nombre de servicio en la definición ODBC para el origen de datos NombreOrigenDatos.
Por ejemplo:
ORACLE_XA+
+HostName=diaz.hursley.ibm.com
+PortNumber=1521
+ServiceName=accounts_service
+ACC=P/wbrkuid/wbrkpw
+sestm=100+threads=TRUE
+DataSource=MYDB+K=2+
- Acepte los valores predeterminados de todos los demás campos de la página.
En AIX, si desea habilitar los orígenes de datos de Oracle
para su uso en coordinación global desde un gestor de colas y un intermediario para realizar el registro XA dinámico, establezca la variable de entorno siguiente: DDTEK_XA_DYNAMIC_REGISTRATION=1

Detenga y luego reinicie el gestor de colas para
aplicar los cambios, ya que el archivo qm.ini sólo
se lee mientras el gestor de colas está en ejecución. Para detener y reiniciar el gestor de colas,
entre los mandatos siguientes, donde
nombre_gestor_colas es
el nombre del gestor de colas:
endmqm nombre_gestor_colas
strmqm nombre_gestor_colas
Cuando el gestor de colas se reinicie, consulte las
anotaciones del gestor de colas para ver si todos los avisos que estén
relacionados con el reinicio.
La ubicación de los archivos de anotaciones
se encuentra en /var/mqm/qmgrs/nombre_gestor_colas/errors,
donde nombre_gestor_colas es el nombre del gestor de colas que ha reiniciado.
Cuando el gestor de colas se reinicia satisfactoriamente, se aplican los cambios que ha realizado en qm.ini.
Detenga y luego reinicie el gestor de colas para aplicar los cambios. Para detener y reiniciar el gestor de colas,
entre los mandatos siguientes, donde
nombre_gestor_colas es
el nombre del gestor de colas:
endmqm nombre_gestor_colas
strmqm -si nombre_gestor_colas
Cuando el gestor de colas se reinicie, consulte las
anotaciones del gestor de colas para ver si todos los avisos que estén
relacionados con el reinicio.
La ubicación de los archivos de anotaciones
se encuentra en /var/mqm/qmgrs/nombre_gestor_colas/errors,
donde nombre_gestor_colas es el nombre del gestor de colas que ha reiniciado.
Cuando el gestor de colas se reinicia satisfactoriamente, se aplican los cambios que ha realizado.
Oracle está configurado ahora para la coordinación global con el gestor de colas del intermediario coordinando las transacciones.
A continuación: puede desplegar en el intermediario los flujos de mensajes coordinados globalmente.