![[IBM i]](../images/iseries.gif)
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Almacenamiento de registros de transacciones y compensación en una base de datos relacional para alta disponibilidad
Opcionalmente, puede elegir almacenar los registros de transacciones y compensación de WebSphere Application Server en una base de datos relacional en lugar de hacerlo como archivos del sistema operativo. Esta característica proporciona soporte de alta disponibilidad (HA) sin tener que utilizar un sistema de archivos compartidos.
Acerca de esta tarea
El servicio de transacciones de WebSphere Application Server escribe información en un registro de transacciones para cada transacción global en la que intervienen dos o más recursos o que se distribuye entre varios servidores. Estas transacciones se inician o detienen mediante aplicaciones o mediante el contenedor en el que se despliegan. El servicio de transacciones mantiene registros de transacciones para asegurar la integridad de las transacciones. Se escribe información en los registros de transacciones durante la fase de preparación de una transacción distribuida. Si un WebSphere Application Server con transacciones activas rearranca después de un error, el servicio de transacciones puede utilizar los registros para reproducir las transacciones dudosas. Este nivel de integridad permite devolver el sistema completo a un estado coherente.
En releases anteriores de WebSphere Application Server, los registros de transacciones se almacenaban como archivos del sistema operativo. En WebSphere Application Server Versión 8.5.5 y posterior, esta configuración sigue siendo la configuración predeterminada. Puede también elegir almacenar los registros de transacciones en una base de datos relacional. Esta opción de configuración se utiliza principalmente para un entorno de alta disponibilidad. Además, en releases anteriores de WebSphere Application Server, el soporte para transacciones de alta disponibilidad requería utilizar un sistema de archivos compartidos para contener los registros de transacciones, tal como NAS (network-attached storage) montado con NFSv4, o SAN (storage area network). Esta nueva característica le permite, especialmente si ha hecho una inversión en tecnología de base de datos de alta disponibilidad, utilizar su base de datos como repositorio compartido para los registros de transacciones, en lugar de utilizar un sistema de archivos compartidos.
En la implementación actual, si la función de registro de recuperación detecta excepciones de JDBC inesperadas, se inhabilita el registro cronológico de transacciones y el servidor se debe concluir para poder recuperar las transacciones en proceso. No se realiza ningún intento para reconectar hasta que se reinicie el servidor, y la implementación actual no realiza ningún intento para determinar si la condición es transitoria.
En WebSphere Application Server Versión 8.5.5 y posterior, puede utilizar un recurso similar, también dirigido a los usuarios que trabajan en un entorno de alta disponibilidad, para almacenar los registros de recuperación de compensación en una base de datos relacional. El servicio de compensación de WebSphere Application Server permite que aplicaciones situadas en sistemas diferentes coordinen actividades que están estrechamente acopladas que las transacciones atómicas. Este servicio almacena en sus propios registros de recuperación dedicados la información que es necesaria para completar la compensación después de un error del sistema.

(2 x número de posibles servidores recuperados)+2
Este tamaño máximo de agrupación permite establecer conexiones suficientes
con la base de datos para cerrar todos los registros de transacciones
relacionados.
Si el tamaño máximo de agrupación se establece en un valor diferente, se
puede obtener el mensaje de error J2CA0045E, pues no hay conexiones
suficientes disponibles.gotchaProcedimiento
- AppClusterMember1
- AppClusterMember2
- AppClusterMember3
- AppClusterMember4
- App1 para AppClusterMember1
- App2 para AppClusterMember2
- App3 para AppClusterMember3
- App4 para AppClusterMember4
Realice los pasos siguientes:
Ejemplo
Nombre de clúster | Nombre de servidor | Tabla de registro de transacciones | Tabla de registro de compensación |
---|---|---|---|
AppCluster | AppClusterMember1 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App1 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App1 |
AppClusterMember2 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App2 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App2 | |
AppClusterMember3 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App3 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App3 | |
AppClusterMember4 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App4 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App4 |
- AppClusterMember1
- AppClusterMember2
- AppClusterMember3
- AppClusterMember4
- WAS_TRAN_LOGApp1
- WAS_TRAN_LOGApp2
- WAS_TRAN_LOGApp3
- WAS_TRAN_LOGApp4
- WAS_PARTNER_LOGApp1
- WAS_PARTNER_LOGApp2
- WAS_PARTNER_LOGApp3
- WAS_PARTNER_LOGApp4
- WAS_COMP_LOGApp1
- WAS_COMP_LOGApp2
- WAS_COMP_LOGApp3
- WAS_COMP_LOGApp4