Zugriffsart - Isolationsstufe und Aktualisierungssperren

Mit den Richtlinien für Zugriffsarten (Access Intent) von WebSphere Application Server können Sie die Isolationsstufe für CMP-Bean-Daten für die unterschiedlichen relationalen Datenbanken in Ihrer Umgebung einheitlich definieren.

In einer implementierten Anwendungen zeigt die Kombination der Definition für gemeinsamen Zugriff und dem Zugriffstyp für die Richtlinie für Zugriffsarten die Isolationsstufe an, die WebSphere Application Server für die Datenbankverbindung festlegt. In den Artikeln "Steuerung des gemeinsamen Zugriffs" und "Zugriffsart und Isolation" finden Sie weitere Informationen zum gemeinsamen Zugriff und zu Zugriffstypen. Diese Eigenschaftenkombination gibt auch das Flag für Aktualisierungssperre an, das Application Server mit einer ausführbaren JDBC-Anweisung an die Datenbank übergibt.

Datenbanken unterstützen nicht so viele Definitionen von Isolationsstufen wie WebSphere Application Server. Datenbanken stehen für die Definition der Isolationsstufe drei Typen zur Auswahl. Nur ein Parameter gibt den Typ der Isolationsstufe an, den die Datenbanken für eingehende Verbindungen setzen. Jeder dieser drei Typen kann durch einen anderen Parameterwert dargestellt werden. Der jeweilige Wert wird vom Datenbanklieferanten vorgegeben. Eine Datenbank kann beispielsweise als Isolationsstufe RR (JDBC Repeatable Read, wiederholbarer JDBC-Lesevorgang) definieren, während eine andere Datenbank für dieselbe Isolationsstufe den Wert RC (JDBC Read committed, JDBC-Lesen mit COMMIT) definiert.

Aufgrund dieser Inkonsistenz ordnet WebSphere Application Server den Parameterwerten keine Richtlinien für Zugriffsarten zu. Stattdessen ordnet Application Server Richtlinien für Zugriffsarten den Typen von Isolationsstufen zu, die alle Datenbanklieferanten gleichermaßen verwenden.

Tabelle 1. Zuordnung der Access-Intent-Richtlinien zu den verschiedenen Isolationsstufen für die Datenbank und den Einstellungen für Aktualisierungssperre. Die folgende Matrix zeigt die Zuordnung der Access-Intent-Richtlinien zu den verschiedenen Isolationsstufen für die Datenbank und den Einstellungen für Aktualisierungssperre.
Zugriffsartprofil Isolationsstufe Implementierung für Aktualisierungssperre
  DB2 Oracle* SyBase Informix Apache Derby SQL Server  
wsPessimisticUpdate- WeakestLockAtLoad (Standardrichtlinie) RR RC RR RR RR RR Nein (*Oracle, Ja)
wsPessimisticUpdate RR RC RR RR RR RR Ja
wsPessimisticRead RR RC RR RR RR RR Nein
wsOptimisticUpdate RC RC RC RC RC RC Nein
wsOptimisticRead RC RC RC RC RC RC Nein
wsPessimisticUpdate No-Collisions RC RC RC RC RC RC Nein
wsPessimisticUpdate- Exclusive S S S S S S Ja

  • RC = JDBC Read Committed (Festgeschriebene Daten lesen)
  • RR = JDBC Repeatable Read (Wiederholbarer Lesevorgang)
  • S = JDBC Serializable (Serialisierbar)
  • * Oracle unterstützt nicht JDBC Repeatable Read (RR). Daher ist das Verhalten von wsPessimisticUpdate-weakestLockAtLoad und wsPessimisticUpdate unter Oracle mit wsPessismisticRead und wsOptimisticRead identisch. Aufgrund einer Einschränkung für Oracle kann die JDBC-Klasse OracleXADataSource jedoch nicht mit der Isolationsstufe S für Transaktionen ausgeführt werden. Sie können diese Klasse also nicht verwenden, um eine Anwendung mit Enterprise-Beans, deren Isolationsstufenattribut auf S gesetzt ist, auszuführen.
  • Die Definition von Richtlinien für Zugriffsarten pro EJB-Mehtode wird ab Version 6.0 nicht weiter unterstützt. Es wird empfohlen, Zugriffsarten nur für die gesamte Bean zu definieren.
Neu für MS SQL Server 2005: MS SQL Server 2005 bietet eine neue Option für die Isolationsstufe "Lesen mit COMMIT" (Read Committed) und eine neue Option für die Isolationsstufe "Serialisierbar" (Serializable):
  • Lesen mit COMMIT unter Verwendung von Momentaufnahmen (Read Committed with Snapshots)
  • Momentaufnahme von Transaktionen (Transaction Snapshot; für Serialisierbar)
Beide Optionen verwenden optimistisches Sperren. Wenn Sie anstelle von "Lesen mit COMMIT" die Option "Lesen mt COMMIT unter Verwendung von Momentaufnahmen" verwenden möchten, aktivieren Sie die Einstellung READ_COMMITTED_SNAPSHOT für die Datenbank entsprechend der Dokumentation von MS SQL Server 2005. Wenn Sie anstelle von "Serialisierbar" die Option "Momentaufnahme von Transaktionen" verwenden möchten, konfigurieren Sie die angepasste Datenquelleneigenschaft "snapshotSerializable" mit "true" und aktivieren Sie die Einstellung ALLOW_SNAPSHOT_ISOLATION für die Datenbank entsprechend der Dokumentation von MS SQL Server 2005.

SQL-Schlüsselwörter und -Einschränkungen (Structured Query Language)

Tabelle 2. SQL-Schlüsselwörter und -Einschränkungen (Structured Query Language) . In der folgenden Tabelle wird gezeigt, welche SQL-Schlüsselwörter während der Update-Intent-Sperre und aller Einschränkungen für SQL verwendet werden.
Datenbank SQL-Syntax, die zum Sperren der Aktualisierung verwendet wird Einschränkungen für JOIN Einschränkungen für ORDER BY Einschränkungen für SUBSELECT Einschränkungen für AGGREGATION
DB2 FOR UPDATE OF Nicht zulässig Nicht zulässig Nicht zulässig Nicht zulässig
DB2 UDB for iSeries (V5R3 und früher) FOR UPDATE OF Nicht zulässig Zulässig mit Einschränkungen* Zulässig mit Einschränkungen* Nicht zulässig
DB2 UDB for iSeries (V5R4 und höher) WITH RS/RR USE AND KEEP EXCLUSIVE LOCKS Nicht zulässig Zulässig mit Einschränkungen* Zulässig mit Einschränkungen* Nicht zulässig
DB2 on z/OS Version 8.x WITH RS/RR USE AND KEEP UPDATE LOCKS Ohne Ohne Ohne Ohne
DB2 UDB Workstation Version 8.2 WITH RS/RR USE AND KEEP UPDATE LOCKS Ohne Ohne Ohne Ohne
Oracle FOR UPDATE Ohne Ohne Ohne Ohne
Apache Derby FOR UPDATE OF Nicht zulässig Nicht zulässig Nicht zulässig Nicht zulässig
Informix FOR UPDATE Nicht zulässig Nicht zulässig Nicht zulässig Nicht zulässig
Sybase FOR UPDATE Nicht zulässig Nicht zulässig Nicht zulässig Nicht zulässig
Sqlserver UPDLOCK Nicht zulässig Nicht zulässig Nicht zulässig Nicht zulässig
Anmerkung: Nähere Einzelheiten zu den Einschränkungen für diese zulässigen SQL-Bedingungen finden Sie in der SQL-Referenz für DB2 Universal Database for iSeries. Sie finden dieses Dokument im iSeries Information Center Version 5 Release 4. Klicken Sie im Navigationsbereich des Inhaltsverzeichnisses auf Datenbank > Referenz > SQL-Referenz.

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



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