Almacenamiento de registros de transacciones en una base de datos relacional

Puede elegir almacenar los registros de transacciones Liberty en una base de datos relacional, en lugar de como archivos de sistema operativo. En el WebSphere Application Server tradicional, 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 que implique dos o más recurso, o que se distribuya en diversos servidores. Estas transacciones se inician o se detienen por medio de aplicaciones o mediante el contenedor en el que se despliegan. El servicio de transacciones mantiene registros de transacciones para garantizar la integridad de las transacciones. La información se escribe en los registros cronológicos de transacciones en la fase de preparación de una transacción distribuida, de modo que si un servidor WebSphere Application Server con transacciones activas se reinicia después de una anomalía, el servicio de transacciones es capaz de utilizar los registros cronológicos para volver a reproducir las transacciones dudosas. Esto permite que el sistema global pueda recuperar un estado coherente.

En releases anteriores de WebSphere Application Server, los archivos de registros cronológicos de transacciones se almacenaban como archivos del sistema operativo. En WebSphere Application Server Versión 8.5.5 y posteriores, esta sigue siendo la configuración predeterminada, pero puede elegir almacenar los registros de transacción en un sistema de gestión de bases de datos relacionales (RDBMS). Esta opción de configuración está destinada a los clientes que trabajan en un entorno de alta disponibilidad. En releases anteriores de WebSphere Application Server, el soporte de transacciones HA requería el uso de un sistema de archivos compartidos para albergar los archivos de registros cronológicos de transacciones, como un almacenamiento conectado a red (NAS) montado en NFSv4 o una red de área de almacenamiento (SAN). Esta nueva característica permite a los clientes, particularmente a aquellos con una inversión en tecnología de bases de datos de alta disponibilidad, utilizar su base de datos de alta disponibilidad como un repositorio compartido para los registros de transacciones, como alternativa al uso de un sistema de archivos compartidos.

De forma predeterminada, los registros de transacciones de Liberty se almacenan en archivos del sistema operativo. Sin embargo, para la compatibilidad con el WebSphere Application Server tradicional, y con fines de evaluación y realización de pruebas, puede configurar los registros de transacciones para que se almacenen en un RDBMS. Puede utilizar cualquier tipo de base de datos que sea compatible con Liberty.

Procedimiento

Para configurar que los registros de transacciones de Liberty se almacenen en RDBMS, complete los pasos siguientes:

  1. Configure un origen de datos dedicado, no transaccional en el archivo server.xml de Liberty.
    El siguiente fragmento de ejemplo del archivo server.xml muestra cómo configurar Liberty para almacenar los registros de transacciones en una base de datos DB2:
    <transaction> 
      <dataSource transactional="false">
        <jdbcDriver libraryRef="DB2JCC4LIB"/>
        <properties.db2.jcc currentSchema="CBIVP"
          databaseName="SAMPLE" driverType="4"
          portNumber="50000" serverName="localhost" 
          user="db2admin" password="{xor}Oz1tPjsyNjE=" />
      </dataSource> 
    </transaction> 
    
    <library id="DB2JCC4LIB">
      <fileset dir="C:/SQLLIB/java" includes="db2jcc4.jar db2jcc_license_cu.jar"/>
    </library>
  2. (opcional) Cree las tablas de base de datos.

    Liberty intenta crear las tablas de base de datos necesarias cuando el servidor se inicia por primera vez. Si la creación de estas bases de datos no es posible, por ejemplo, debido a permisos insuficientes, el servidor no se inicia. En un caso así, debe crear manualmente las dos tablas de base de datos.

    Las siguientes estructuras de DDL muestran cómo crear las tablas en DB2:
    CREATE TABLE WAS_TRAN_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID BIGINT,
      RUSECTION_ID BIGINT,
      RUSECTION_DATA_INDEX SMALLINT,
      DATA LONG VARCHAR FOR BIT DATA) 
    CREATE TABLE WAS_PARTNER_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID BIGINT,
      RUSECTION_ID BIGINT,
      RUSECTION_DATA_INDEX SMALLINT,
      DATA LONG VARCHAR FOR BIT DATA) 
    Las siguientes estructuras de DDL muestran cómo crear la tabla de base de datos en Oracle:
    CREATE TABLE WAS_TRAN_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID NUMBER(19),
      RUSECTION_ID NUMBER(19),
      RUSECTION_DATA_INDEX SMALLINT,
      DATA BLOB)
    CREATE TABLE WAS_PARTNER_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID NUMBER(19),
      RUSECTION_ID NUMBER(19),
      RUSECTION_DATA_INDEX SMALLINT,
      DATA BLOB)

Icono que indica el tipo de tema Tema de tarea



Icono de indicación de fecha y hora Última actualización: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_store_logs_in_rdb
Nombre de archivo:twlp_store_logs_in_rdb.html