Almacenamiento de registros de transacciones en una base de datos relacional

Puede elegir almacenar los registros de transacciones del perfil Liberty en una base de datos relacional en lugar de como archivos del sistema operativo. En el perfil completo de WebSphere Application Server, esta característica proporciona soporte de alta disponibilidad (HA) sin necesidad de utilizar un sistema de archivos compartido. La característica se proporciona en el perfil Liberty por cuestiones de compatibilidad y para fines de evaluación y pruebas.

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 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 del perfil Liberty se almacenan en archivos del sistema operativo. Sin embargo, por motivos de compatibilidad con WebSphere Application Server de perfil completo, y para fines de evaluación y pruebas, puede configurar que los archivos de registros cronológicos de transacciones se almacenen en RDBMS. Puede utilizar cualquier tipo de base de datos que sea compatible con el perfil Liberty.

Procedimiento

Para configurar que los archivos de registros cronológicos de transacciones del perfil Liberty se almacenen en RDBMS, complete los pasos siguientes:

  1. Configure un origen de datos dedicado, no transaccional en el archivo server.xml del perfil Liberty.
    El siguiente extracto de ejemplo del archivo server.xml muestra cómo configurar el perfil Liberty para almacenar los registros de transacciones en una base de datos DB2:
    <transaction> 
      <dataSource jndiName="jdbc/tranlogDataSource" 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.

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

    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

Términos y condiciones para centros de información | Comentarios


Icono de indicación de fecha y hora Última actualización: 15 de junio de 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_store_logs_in_rdb
Nombre de archivo:twlp_store_logs_in_rdb.html