Liberty:Transaktionsprotokolle in einer relationalen Datenbank speichern

Sie können Ihre Liberty-Transaktionsprotokolle in einer relationalen Datenbank anstatt als Betriebssystemdateien speichern. In WebSphere Application Server Traditional unterstützt dieses Feature die hohe Verfügbarkeit (High Availability, HA), ohne dass ein gemeinsam genutztes Dateisystem verwendet werden muss.

Informationen zu diesem Vorgang

Der Transaktionsservice von WebSphere Application Server schreibt für jede globale Transaktion, an der zwei oder mehr Ressourcen beteiligt sind oder die auf mehrere Server verteilt ist, Informationen in ein Transaktionsprotokoll. Diese Transaktionen werden entweder von Anwendungen oder von dem Container, in dem sie implementiert sind, gestartet oder gestoppt. Der Transaktionsservice verwendet Transaktionsprotokolle, um die Integrität von Transaktionen sicherzustellen. Die Informationen werden in der Vorbereitungsphase einer verteilten Transaktion in die Transaktionsprotokolle geschrieben. Wenn in der Folge WebSphere Application Server mit aktiven Transaktionen nach einem Ausfall erneut gestartet wird, ist der Transaktionsservice in der Lage, anhand der Protokolle alle unbestätigten Transaktionen zu wiederholen. Dadurch kann das Gesamtsystem wieder in einen konsistenten Zustand versetzt werden.

In früheren Releases von WebSphere Application Server wurden die Transaktionsprotokolle als Betriebssystemdateien gespeichert. Dies bleibt auch in WebSphere Application Server Version ab Version 8.5.5 die Standardkonfiguration. Darüber hinaus haben Sie jedoch auch die Möglichkeit, die Transaktionsprotokolle in einem Managementsystem für relationale Datenbanken (RDBMS) zu speichern. Diese Konfigurationsoption zielt auf Kunden ab, die in einer HA-Umgebung (High Availability, hohe Verfügbarkeit) arbeiten. Für die Unterstützung von HA-Transaktionen war in früheren Releases von WebSphere Application Server ein gemeinsam genutztes Dateisystem erforderlich, z. B. ein an NFSv4 angehängter NAS (Network Attached Storage) oder ein SAN (Storage Area Network). Als Alternative zur Verwendung eines gemeinsam genutzten Dateisystems können Kunden, insbesondere diejenigen, die über eine HA-Datenbanktechnologie verfügen, mit diesem neuen Feature ihre HA-Datenbank als gemeinsames Repository für die Transaktionsprotokolle verwenden.

Standardmäßig werden die Liberty-Transaktionsprotokolle in Betriebssystemdateien gespeichert. Aus Gründen der Kompatibilität mit WebSphere Application Server Traditional und für Evaluierungs- und Testzwecke können Sie die Transaktionsprotokolle so konfigurieren, dass sie in einem Managementsystem für relationale Datenbanken gespeichert werden. Dabei kann jeder von Liberty unterstützte Datenbanktyp verwendet werden.

Vorgehensweise

Führen Sie die folgenden Schritte aus, um die Liberty-Transaktionsprotokolle so zu konfigurieren, dass sie in einem Managementsystem für relationale Datenbanken (RDBMS) gespeichert werden:

  1. Konfigurieren Sie eine dedizierte, nicht transaktionsorientierte Datenquelle in der Liberty-Datei server.xml.
    Der folgende Beispielauszug aus der Datei server.xml zeigt, wie Sie Liberty konfigurieren müssen, damit die zugehörigen Transaktionsprotokolle in einer DB2-Datenbank gespeichert werden:
    <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. (Optional) Erstellen Sie die Datenbanktabellen.

    Liberty versucht, beim ersten Serverstart die erforderlichen Datenbanktabellen zu erstellen. Wenn diese Datenbanken nicht erstellt werden können, weil beispielsweise eine Berechtigung unzureichend ist, kann der Server nicht gestartet werden. Unter diesen Bedingungen müssen Sie die zwei Datenbanktabellen manuell erstellen.

    Die folgenden DDL-Strukturen zeigen, wie die Tabellen in DB2 erstellt werden müssen:
    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) 
    Die folgenden DDL-Strukturen zeigen, wie die Datenbanktabelle unter Oracle erstellt werden:
    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)

Symbol das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_store_logs_in_rdb
Dateiname: twlp_store_logs_in_rdb.html