DB2 Universal Database - Systemverwaltung


Konfigurieren des XA-Transaktionsmanagers zur Verwendung von DB2 UDB

In den folgenden Abschnitten wird beschrieben, wie bestimmte Produkte zur Verwendung von DB2 als Ressourcenmanager konfiguriert werden. Möglich sind:

Konfigurieren von IBM TXSeries CICS

Informationen zur Konfiguration von IBM TXSeries CICS zur Verwendung von DB2 als Ressourcenmanager finden Sie im Handbuch IBM TXSeries CICS Administration Guide. Die TXSeries-Dokumentation steht online unter http://www.transarc.com/Library/documentation/websphere/WAS-EE/en_US/html/ zur Verfügung.

Host- und AS/400-Datenbank-Server können an CICS-koordinierten Transaktionen teilnehmen.

Konfigurieren von IBM TXSeries Encina

Im folgenden werden die verschiedenen APIs und Konfigurationsparameter aufgeführt, die für die Integration von Encina Monitor und DB2 Universal Database-Servern oder DB2 für MVS, DB2 für OS/390, DB2 für AS/400 oder DB2 für VSE&VM erforderlich sind, wenn über DB2 Connect darauf zugegriffen wird. Die TXSeries-Dokumentation steht online unter http://www.transarc.com/Library/documentation/websphere/WAS-EE/en_US/html/ zur Verfügung.

Host- und AS/400-Datenbank-Server können an CICS-koordinierten Transaktionen teilnehmen.

Konfigurieren von DB2

Gehen Sie wie folgt vor, um DB2 zu konfigurieren:

  1. Jeder Datenbankname muß im DB2-Datenbankverzeichnis definiert werden. Wenn es sich bei der Datenbank um eine ferne Datenbank handelt, muß auch ein Eintrag im Knotenverzeichnis definiert werden. Sie können die Konfiguration mit dem Programm Client-Konfiguration - Unterstützung oder mit dem DB2-Befehlszeilenprozessor ausführen. Beispiel:
    DB2 CATALOG DATABASE inventdb AS inventdb AT NODE host1 AUTH SERVER
    DB2 CATALOG TCPIP NODE host1 REMOTE hostname1 SERVER svcname1
    
  2. Der DB2-Client kann seine interne Verarbeitung für Encina optimieren, wenn er weiß, daß er es mit Encina zu tun hat. Sie können dies angeben, indem Sie den Konfigurationsparameter tp_mon_name des Datenbankmanagers auf ENCINA setzen. In der Standardeinstellung erfolgt keine spezielle Optimierung. Wenn tp_mon_name definiert ist, muß die Anwendung sicherstellen, daß der Thread, der die Arbeitseinheit ausführt, die Arbeit nach Beendigung auch sofort festschreibt. Es darf keine andere Arbeitseinheit gestartet werden. Wenn dies nicht Ihre Umgebung ist, stellen Sie sicher, daß der Wert von tp_mon_name NONE ist (oder der über den Befehlszeilenprozessor auf NULL gesetzt wird). Der Parameter kann über die Steuerzentrale oder den Befehlszeilenprozessor aktualisiert werden. Der Befehl für den Befehlszeilenprozessor (CLP) lautet:
       db2 update dbm cfg using tp_mon_name ENCINA
    

Konfigurieren von Encina für jeden Ressourcenmanager

Bei der Konfiguration von Encina für jeden Ressourcenmanager (RM) muß ein Administrator die Zeichenfolge zum Öffnen, die Zeichenfolge zum Schließen und den Thread der Steuerungsvereinbarung für jede DB2-Datenbank als Ressourcenmanager definieren, damit der Ressourcenmanager für Transaktionen in einer Anwendung registriert werden kann. Die Konfiguration kann mit der Enconcole-Gesamtanzeigeschnittstelle oder mit der Encina-Befehlszeilenschnittstelle ausgeführt werden. Beispiel:

   monadmin create rm inventdb -open "db=inventdb,uid=benutzer1,pwd=kennwort1"

Es gibt eine Ressourcenmanagerkonfiguration für jede DB2-Datenbank, und jede Konfiguration eines Ressourcenmanagers(RM) muß einen rm-Namen ("logischen RM-Namen") haben. Dieser sollte zur Vereinfachung mit dem Datenbanknamen übereinstimmen.

Die XA-Zeichenfolge zum Öffnen (xa_open) enthält Informationen, die erforderlich sind, um eine Verbindung zur Datenbank herzustellen. Der Inhalt der Zeichenfolge ist RM-spezifisch. Die XA-Zeichenfolge zum Öffnen von DB2 UDB enthält den Aliasnamen der Datenbank, die geöffnet werden soll, und wahlweise eine Benutzer-ID und ein Kennwort, die der Verbindung zugeordnet werden sollen. Beachten Sie, daß der hier definierte Datenbankname auch in dem normalen Datenbankverzeichnis katalogisiert werden muß, das für alle Datenbankzugriffe erforderlich ist. Informationen über die XA-Zeichenfolge zum Öffnen von DB2 finden Sie in Einrichten einer Datenbank als Ressourcenmanager.

Die XA-Zeichenfolge zum Schließen (xa_close) wird von DB2 nicht verwendet.

Der Thread der Steuerungsvereinbarung (Thread of Control Agreement) bestimmt, ob ein Anwendungsagent-Thread mehrere Transaktionen gleichzeitig verarbeiten kann. DB2 UDB unterstützt den Standardwert von TMXA_SERIALIZE_ALL_OPERATIONS, wonach ein Thread nur dann wiederverwendet werden kann, wenn eine Transaktion vollständig beendet ist.

Wenn Sie auf DB2 für OS/390, DB2 für MVS, DB2 für AS/400 oder DB2 für VSE&VM zugreifen, müssen Sie den DB2-Synchronisationspunktmanager verwenden. Weitere Informationen zur Konfiguration finden Sie im Handbuch DB2 Connect Enterprise Edition für OS/2 und Windows Einstieg.

Verweisen auf eine DB2-Datenbank aus einer Encina-Anwendung

Gehen Sie wie folgt vor, um auf eine DB2-Datenbank aus einer Encina-Anwendung zu verweisen:

  1. Verwenden Sie die Encina Scheduling Policy-API, um anzugeben, wie viele Anwendungsagenten aus einem einzelnen TP-Monitoranwendungsprozeß ausgeführt werden können. Beispiel:
       rc = mon_SetSchedulingPolicy (MON_EXCLUSIVE)
    

    Für DB2 (DB2 Universal Database, Host- oder AS/400-Datenbank-Server) müssen Sie die Standardeinstellung MON_EXCLUSIVE verwenden. Damit wird sichergestellt, daß:

    Anmerkung:Wenn Sie ODBC oder DB2 Call Level Interface verwenden, müssen Sie die Multithreading-Unterstützung inaktivieren. Sie können dazu den Konfigurationsparameter der Befehlszeilenschnittstelle folgendermaßen einstellen: DISABLEMULTITHREAD = 1 (inaktiviert das Multithreading). Der Standardwert für DB2 Universal Database ist DISABLEMULTITHREAD = 0 (aktiviert das Multithreading). Weitere Informationen finden Sie im Handbuch CLI Guide and Reference.
  2. Verwenden Sie die Encina RM Registration-API, um den XA-Schalter und den logischen RM-Namen bereitzustellen, die von Encina zur Angabe des RMs in einem Anwendungsprozeß verwendet werden sollen. Beispiel:
       rc = mon_RegisterRmi ( &db2xa_switch,   /* xa-Schalter */
                              "inventdb",      /* logischer RM-Name */
                              &rmiId );        /* interne RM-ID */
    

    Der XA-Schalter enthält die Adressen der XA-Routinen im RM, die der TM aufrufen kann. Er gibt auch die Funktionalität an, die vom RM bereitgestellt wird. Der XA-Schalter von DB2 Universal Database ist db2xa_switch, und er befindet sich in der DB2-Client-Bibliothek (db2app.dll auf Windows-Betriebssystemen und OS/2 sowie libdb2 auf UNIX-basierten Systemen).

    Von Encina wird der logische RM-Name und nicht der eigentliche Name der Datenbank verwendet, die von der SQL-Anwendung verwendet wird, die unter Encina ausgeführt wird. Der tatsächliche Name der Datenbank wird in der XA-Zeichenfolge zum Öffnen in der Encina RM Registration-API angegeben. Der logische RM-Name in diesem Beispiel stimmt mit dem Datenbanknamen überein.

    Der dritte Parameter gibt eine interne Kennung zurück, die vom TM verwendet wird, um auf diese Verbindung zu verweisen.

Anmerkung:Wenn Encina für die Transaktionsverarbeitung mit DB2 über die TM-XA-Schnittstelle verwendet wird, ist zu beachten, daß verschachtelte Encina-Transaktionen von der DB2-XA-Schnittstelle zur Zeit nicht unterstützt werden. Eine Verwendung dieser Transaktionen sollte nach Möglichkeit vermieden werden. Wenn dies nicht möglich ist, stellen Sie sicher, daß die SQL-Arbeit in nur einem Mitglied der Encina-Transaktionsfamilie durchgeführt wird.

Konfigurieren von BEA Tuxedo

Führen Sie die folgenden Schritte aus, um Tuxedo zur Verwendung von DB2 als Ressourcenmanager zu konfigurieren:

  1. Installieren Sie Tuxedo, wie in der Dokumentation für das Produkt angegeben. Stellen Sie sicher, daß Sie die gesamte Basiskonfiguration von Tuxedo durchführen, einschließlich Protokolldateien und Umgebungsvariablen.

    Sie benötigen auch einen Compiler und das DB2 Application Development Client. Installieren Sie diese, falls erforderlich.

  2. Definieren Sie auf der Tuxedo-Server-ID die Umgebungsvariable DB2INSTANCE, so daß sie auf das Exemplar verweist, das die Datenbanken enthält, die Tuxedo verwenden soll. Definieren Sie die Variable PATH, so daß sie die Programmverzeichnisse von DB2 enthält. Bestätigen Sie, daß die Tuxedo-Server-ID eine Verbindung zu den DB2-Datenbanken herstellen kann.
  3. Aktualisieren Sie den Konfigurationsparameter tp_mon_name des Datenbankmanagers mit dem Wert TUXEDO.
  4. Fügen Sie eine Definition für DB2 zur Tuxedo-Ressourcenmanagerdefinitionsdatei hinzu. In den folgenden Beispielen ist UDB_XA der lokal definierte Tuxedo-Ressourcenmanagername für DB2, und db2xa_switch ist der DB2-definierte Name für eine Struktur des Typs xa_switch_t:
  5. Erstellen Sie das Tuxedo-Transaktionsmonitor-Server-Programm für DB2:
  6. Erstellen Sie die Anwendungs-Server. In den folgenden Beispielen gibt die Option -r den Ressourcenmanagernamen, die Option -f (einmal oder mehrmals verwendet) die Dateien, die die Anwendungsservices enthalten, die Option -s die Anwendungsservicenamen für diesen Server und die Option -o den Ausgabe-Server-Dateinamen an:
  7. Richten Sie die Tuxedo-Konfigurationsdatei so ein, daß auf den DB2-Server verwiesen wird. Fügen Sie im Abschnitt *GROUPS der Datei UDBCONFIG einen Eintrag wie den folgenden hinzu:
       UDB_GRP   LMID=simp GRPNO=3
         TMSNAME=TMS_UDB TMSCOUNT=2
         OPENINFO="UDB_XA:db=sample,uid=db2_benutzer,pwd=db2_benutzer_kwt"
    
    Dabei gibt der Parameter TMSNAME das Transaktionsmonitor-Server-Programm an, das Sie zuvor erstellt haben, und der Parameter OPENINFO gibt den Ressourcenmanagernamen an. Darauf folgen der Datenbankname und DB2-Benutzer und Kennwort, die für die Authentifizierung verwendet werden.

    Die Anwendungs-Server, die Sie zuvor erstellt haben, werden im Abschnitt *SERVERS der Tuxedo-Konfigurationsdatei angegeben.

  8. Wenn die Anwendung auf Daten zugreift, die sich in DB2 für OS/390, DB2 für OS/400 oder DB2 für VM&VSE befinden, ist der DB2 Connect XA-Konzentrator erforderlich. Einzelangaben zur Konfiguration und zu Einschränkungen finden Sie im DB2 Connect Benutzerhandbuch.
  9. Starten Sie Tuxedo:
       tmboot -y
    
    Nach Beendigung des Befehls sollten Tuxedo-Nachrichten angeben, daß die Server gestartet wurden. Außerdem sollten Sie, wenn Sie den DB2-Befehl LIST APPLICATIONS ALL absetzen, zwei Verbindungen sehen (in diesem Fall die vom Parameter TMSCOUNT in der UDB-Gruppe in der Tuxedo-Konfigurationsdatei UDBCONFIG angegebenen).

Konfigurieren von Microsoft Transaction Server

DB2 UDB Version 5.2 und spätere Versionen können vollständig mit Microsoft Transaction Server (MTS) Version 2.0 integriert werden. Anwendungen, die unter MTS auf 32-Bit-Windows-Betriebssystemen ausgeführt werden, können MTS verwenden, um eine zweiphasige Festschreibung mit mehreren DB2 UDB-, Host- und AS/400-Datenbank-Servern sowie mit anderen MTS-konformen Ressourcenmanagern zu koordinieren.

Aktivieren der MTS-Unterstützung in DB2

Die MTS-Unterstützung wird automatisch aktiviert. Obgleich Sie den Konfigurationsparameter tp_mon_name des Datenbankmanagers auf MTS setzen können, ist dies nicht notwendig und wird ignoriert.
Anmerkung:Zusätzliche technische Informationen stehen eventuell auf der IBM Web-Site bereit, um Ihnen bei der Installation und Konfiguration der MTS-Unterstützung von DB2 zu helfen. Geben Sie die URL-Adresse http://www.ibm.com/software/data/db2/library/ an, und suchen Sie nach einem DB2 Universal Database-Artikel ("Technote") mit dem Suchbegriff MTS.

MTS-Softwareanforderungen

Die MTS-Unterstützung benötigt DB2 Client Application Enabler (CAE) Version 5.2 oder später, und MTS muß Version 2.0 mit Hotfix 0772 oder höheren Releases haben.

Bei der Installation des DB2-ODBC-Treibers auf 32-Bit-Windows-Betriebssysteme wird automatisch ein neues Schlüsselwort in die Registrierdatenbank eingefügt:

  HKEY_LOCAL_MACHINE\software\ODBC\odbcinit.ini\IBM DB2 ODBC Driver:
  Wert des Schlüsselworts: CPTimeout
  Datentyp: REG_SZ
  Wert: 60

Installation und Konfiguration

Der folgende Abschnitt bietet eine Zusammenfassung von Überlegungen zur Installation und Konfiguration von MTS. Zur Verwendung der MTS-Unterstützung von DB2 müssen folgende Voraussetzungen erfüllt werden:

  1. Installieren Sie MTS und den DB2-Client auf der gleichen Maschine, auf der die MTS-Anwendung ausgeführt wird.
  2. Gehen Sie wie folgt vor, wenn Host- oder IBM AS/400-Datenbank-Server an einer Aktualisierung auf mehreren Systemen beteiligt sein sollen:

    1. Installieren Sie DB2 Connect Enterprise Edition (EE) entweder auf Ihrer lokalen Maschine oder auf einer fernen Maschine. DB2 Connect EE ermöglicht Host- oder IBM AS/400-Datenbank-Servern an einer Aktualisierung auf mehreren Systemen teilzunehmen.
    2. Stellen Sie sicher, daß Ihr DB2 Connect EE-Server für die Aktualisierung auf mehreren Systemen aktiviert ist. Informationen zum Aktivieren von DB2 Connect für eine Aktualisierung auf mehreren Systemen finden Sie im Handbuch DB2 Connect Enterprise Edition Einstieg für Ihre Plattform.

Wenn Sie CLI/ODBC-Anwendungen ausführen, dürfen die Standardwerte der folgenden Konfigurationsschlüsselwörter (die in der Datei db2cli.ini festgelegt sind) nicht geändert werden:

CLI-Anwendungen, die für die Verwendung der MTS-Unterstützung geschrieben wurden, dürfen nicht die Attributwerte ändern, die den obigen Schlüsselwörtern entsprechen. Außerdem dürfen die Anwendungen nicht die Standardwerte der folgenden Attribute ändern:

Anmerkung:Zusätzliche technische Informationen stehen eventuell auf der IBM Web-Site bereit, um Ihnen bei der Installation und Konfiguration der MTS-Unterstützung von DB2 zu helfen. Geben Sie die URL-Adresse http://www.ibm.com/software/data/db2/library/ an, und suchen Sie nach einem DB2 Universal Database-Artikel ("Technote") mit dem Suchbegriff MTS.

Prüfen der Installation

  1. Konfigurieren Sie den DB2-Client und DB2 Connect EE für den Zugriff auf den DB2 UDB-, Host- oder IBM AS/400-Server.
  2. Prüfen Sie die Verbindung von der DB2 CAE-Maschine zu den DB2 UDB-Datenbank-Servern.
  3. Prüfen Sie die Verbindung von der DB2 Connect-Maschine zu Ihrem Host- oder AS/400-Datenbank-Server mit dem DB2-Befehlszeilenprozessor, und setzen Sie einige Abfragen ab.
  4. Prüfen Sie die Verbindung von der DB2 CAE-Maschine über den DB2 Connect-Gateway zu Ihrem Host- oder AS/400-Datenbank-Server, und setzen Sie einige Abfragen ab.

Unterstützte DB2-Datenbank-Server

Die folgenden Server werden für die Aktualisierung auf mehreren Systemen mit Hilfe von MTS-koordinierten Transaktionen unterstützt:

MTS-Transaktionszeitlimit und DB2-Verbindungsverhalten

Sie können den Wert für das Transaktionszeitlimit im MTS Explorer-Tool festlegen. Weitere Informationen finden Sie online im MTS Administrator Guide.

Wenn eine Transaktion länger dauert als das Transaktionszeitlimit (der Standardwert ist 60 Sekunden), setzt MTS asynchron eine Abbruchanforderung an alle betroffenen Ressourcenmanager ab, und die gesamte Transaktion wird abgebrochen.

Für die Verbindung zu einem DB2-Server wird die Abbruchanforderung in eine DB2-Anforderung ROLLBACK übersetzt. Wie alle anderen Datenbankanforderungen wird die ROLLBACK-Anforderung auf der Verbindung serialisiert, um die Integrität der Daten auf dem Datenbank-Server zu gewährleisten.

Ergebnis:

Verbindungspool

Der Verbindungspool erlaubt es einer Anwendung, eine Verbindung aus einem Pool von Verbindungen zu verwenden, so daß die Verbindung nicht für jede Verwendung erneut erstellt werden muß. Nachdem eine Verbindung erstellt und einem Pool hinzugefügt wurde, kann eine Anwendung diese Verbindung erneut verwenden, ohne einen vollständigen Verbindungsprozeß ausführen zu müssen. Die Verbindung wird dem Pool hinzugefügt, wenn die Anwendung die Verbindung zur ODBC-Datenquelle trennt, und einer neuen Verbindung übergeben, deren Attribute identisch sind.

Der Verbindungspool ist eine Funktion des ODBC-Treibermanagers 2.x. Beim neuesten ODBC-Treibermanager (Version 3.5), der mit MTS geliefert wurde, gibt es für den Verbindungspool einige Konfigurationsänderungen und eine neue Funktionsweise für ODBC-Verbindungen von MTS COM-Objekten für Transaktionen (siehe Wiederverwenden von ODBC-Verbindungen zwischen COM-Objekten, die an der gleichen Transaktion teilnehmen).

Der ODBC-Treibermanager 3.5 verlangt, daß der ODBC-Treiber ein neues Schlüsselwort in der Registrierdatenbank registriert, damit der Verbindungspool aktiviert werden kann. Das Schlüsselwort ist:

  Schlüsselwort: SOFTWARE\ODBC\ODBCINST.INI\IBM DB2 ODBC DRIVER
  Name: CPTimeout
  Typ: REG_SZ
  Wert: 60

Der DB2-ODBC-Treiber ab Version 6 für das 32-Bit-Betriebssystem Windows unterstützt vollständig den Verbindungspool. Daher wird dieses Schlüsselwort registriert. Clients unter Version 5.2 müssen das FixPak 3 (WR09024) oder höher installieren.

Der Standardwert 60 bedeutet, daß eine Verbindung für 60 Sekunden im Pool behalten wird, bevor sie getrennt wird.

In einer Umgebung mit hoher Auslastung ist es besser, den Wert CPTimeout möglichst hoch zu setzen (Microsoft schlägt für bestimmte Umgebungen 10 Minuten vor), um zu häufiges Herstellen und Trennen physischer Verbindungen zu verhindern, weil diese große Mengen an Systemressourcen, einschließlich Systemspeicher- und Übertragungsstapelressourcen, beanspruchen.

Darüber hinaus müssen Sie auf einer Mehrprozessormaschine die Unterstützung für mehrere Pools pro Prozessor inaktivieren, um sicherzustellen, daß dieselbe Verbindung zwischen Objekten in der gleichen Transaktion verwendet wird. Dazu kopieren Sie die folgende Registrierdatenbankeinstellung in eine Datei namens odbcpool.reg, sichern diese Datei als Textdatei und setzen den Befehl odbcpool.reg ab. Das Windows-Betriebssystem importiert daraufhin diese Registrierdatenbankeinstellungen.

REGEDIT4 
 
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Connection Pooling] 
"NumberOfPools"="1"

Wenn dieses Schlüsselwort nicht auf den Wert 1 gesetzt ist, kann MTS Verbindungen in verschiedenen Pools anlegen, so daß nicht dieselbe Verbindung wiederverwendet wird.

MTS-Verbindungspoolfunktion mit ADO 2.1 und späteren Versionen

Wenn die MTS-COM-Objekte mit Hilfe von ADO auf die Datenbank zugreifen, muß die Poolfunktion für OLEDB-Ressourcen inaktiviert werden, so daß der Microsoft-OLEDB-Anbieter für ODBC (MSDASQL) keinen störenden Einfluß auf die ODBC-Verbindungspoolfunktion hat. Diese Einrichtung wird mit dem Wert OFF in ADO 2.0, in ADO 2.1 jedoch mit dem Wert ON initialisiert. Zum Ausschalten der OLEDB-Ressourcenpoolfunktion kopieren Sie die folgenden Zeilen in eine Datei namens oledb.reg, sichern die Datei als Textdatei und setzen den Befehl oledb.reg ab. Das Windows-Betriebssystem importiert daraufhin diese Registrierdatenbankeinstellung.

REGEDIT4 
 
[HKEY_CLASSES_ROOT\CLSID\{c8b522cb-5cf3-11ce-ade5-00aa0044773d}] 
@="MSDASQL" 
"OLEDB_SERVICES"=dword:fffffffc

Wiederverwenden von ODBC-Verbindungen zwischen COM-Objekten, die an der gleichen Transaktion teilnehmen

Für ODBC-Verbindungen in MTS COM-Objekten ist der Verbindungspool automatisch eingeschaltet (unabhängig davon, ob es sich um ein COM-Objekt für Transaktionen handelt).

Wenn mehrere MTS COM-Objekte an der gleichen Transaktion teilnehmen, kann die Verbindung zwischen zwei oder mehr COM-Objekten auf folgende Weise wiederverwendet werden.

Angenommen, es gibt zwei COM-Objekte, COM1 und COM2, die eine Verbindung zur gleichen ODBC-Datenquelle herstellen und an der gleichen Transaktion teilnehmen.

Nachdem COM1 die Verbindung hergestellt und seine Arbeit ausgeführt hat, trennt es die Verbindung, und die Verbindung wird im Pool behalten. Diese Verbindung wird jedoch für die Verwendung durch andere COM-Objekte der gleichen Transaktion reserviert. Sie ist für andere Transaktionen erst dann verfügbar, wenn die aktuelle Transaktion beendet ist.

Wenn COM2 in der gleichen Transaktion aufgerufen wird, erhält es die gleiche Verbindung aus dem Pool. MTS stellt sicher, daß die Verbindung nur die COM-Objekte erhalten, die an der gleichen Transaktion teilnehmen.

Wenn andererseits COM1 die Verbindung nicht explizit trennt, belegt es die Verbindung, bis die Transaktion beendet ist. Wenn COM2 in der gleichen Transaktion aufgerufen wird, wird eine separate Verbindung hergestellt. Als Folge belegt diese Transaktion zwei Verbindungen statt einer.

Die Funktion zur Wiederverwendung von Verbindungen für COM-Objekte, die an der gleichen Transaktion teilnehmen, ist aus folgenden Gründen vorteilhaft:

Optimieren von TCP/IP-Übertragungen

Wenn ein kleiner CPTimeout-Wert in einer Umgebung mit hoher Auslastung verwendet wird, in der zu viele physische Verbindungen zur gleichen Zeit hergestellt und getrennt werden, kann es beim TCP/IP-Stapel zu Ressourcenknappheit kommen.

Zur Milderung dieses Problems sollten Sie die TCP/IP-Registrierungseinträge verwenden. Diese werden im Handbuch Windows NT Resource Guide, Volume 1 beschrieben. Die Registrierungsschlüsselwerte befinden sich in HKEY_LOCAL_MACHINE-> SYSTEM-> CurrentControlSet-> Services-> TCPIP-> Parameters.

Die Standardwerte und die vorgeschlagenen Einstellungen sind:
Name Standardwert Vorgeschlagener Wert
KeepAlive time 7200000 (2 Stunden) Derselbe
KeepAlive interval 1000 (1 Sekunde) 10000 (10 Sekunden)
TcpKeepCnt 120 (2 Minuten) 240 (4 Minuten)
TcpKeepTries 20 (20 Wiederholungen) Derselbe
TcpMaxConnectAttempts 3 6
TcpMaxConnectRetransmission 3 6
TcpMaxDataRetransmission 5 8
TcpMaxRetransmissionAttempts 7 10
Wenn der Registrierungswert nicht definiert ist, erstellen Sie ihn.

Testen von DB2 mit der MTS-Beispielanwendung "BANK"

Sie können das mit MTS gelieferte Beispielprogramm "BANK" verwenden, um die Konfiguration der Client-Produkte und von MTS zu testen.

Führen Sie die folgenden Schritte aus:

  1. Ändern Sie die Datei \Program Files\Common Files\ODBC\Data Sources\ MTSSamples.dsn, so daß sie folgendermaßen aussieht:
       [ODBC]
       DRIVER=IBM DB2 ODBC DRIVER
       UID=ihre_benutzer_id
       PWD=ihr_kennwort
       DSN=ihr_datenbank_aliasname
       Description=MTS Samples
    

    Dabei gilt folgendes:

  2. Rufen Sie ODBC-Administrator in der Systemsteuerung auf, wählen Sie die Registerkarte System-DSN aus und fügen Sie die Datenquelle hinzu:

    1. Wählen Sie IBM ODBC-Driver und anschließend Fertigstellen aus.
    2. Wenn die Liste der Aliasnamen für die Datenbank angezeigt wird, wählen Sie den Namen aus, der zuvor angegeben wurde.
    3. Wählen Sie OK aus.
  3. Stellen Sie mit Hilfe des DB2-Befehlszeilenprozessors unter der obigen ID ihre_benutzer_id eine Verbindung zu einer DB2-Datenbank her.

    1. Binden Sie die Datei db2cli.lst:
         db2 bind @C:\sqllib\bnd\db2cli.lst blocking all grant public
      
    2. Binden Sie die Dienstprogramme.

      Wenn der Server ein DRDA-Host-Server ist, binden Sie die Datei ddcsmvs.lst, ddcs400.lst oder ddcsvm.lst, je nach Host, zu dem Sie eine Verbindung herstellen (OS/390, AS/400 oder VSE&VM). Beispiel:

         db2 bind @C:\sqllib\bnd\@ddcsmvs.lst blocking all grant public
      

      Binden Sie andernfalls die Datei db2ubind.lst:

         db2 bind @C:\sqllib\bnd\@db2ubind.lst blocking all grant public
      
    3. Erstellen Sie wie folgt die Beispieltabelle und -daten für die MTS-Beispielanwendung:
         db2 create table account (accountno int, balance int)
         db2 insert into account values(1, 1)
      
  4. Stellen Sie auf dem DB2-Client sicher, daß der Konfigurationsparameter tp_mon_name des Datenbankmanagers auf MTS gesetzt ist.
  5. Führen Sie die Anwendung "BANK" aus. Wählen Sie den Druckknopf Account und die Option Visual C++ aus, und übergeben Sie dann die Anforderung. Andere Optionen verwenden möglicherweise SQL Server-spezifisches SQL und funktionieren vielleicht nicht.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]