DB2 Connect Benutzerhandbuch

Die häufigsten DB2-Verbindungsprobleme

In diesem Abschnitt werden die häufigsten Symptome von Verbindungsproblemen bei der Verwendung von DB2 Connect aufgelistet. Für jedes Problem werden Ihnen folgende Informationen zur Verfügung gestellt:

Anmerkungen:

  1. Die aktuellsten Informationen zum empfohlenen Stand der Software-Fehlerberichtigung finden Sie im Handbuch Einstieg Ihres Produkts und in den letzten Release-Informationen.

  2. Bei Kombinationen aus Nachricht und Rückkehrcode für APPC-Kommunikation wird eventuell auch ein SNA-Prüfcode angegeben. Derzeit müssen SNA-Prüfcodeinformationen für eine bestimmte Nachricht vom SNA-Subsystem abgerufen werden.

    Manchmal können SNA-Prüfcodes über die Systemprotokolle angezeigt werden. Ob dies der Fall ist oder nicht, hängt vom verwendeten SNA-Subsystem ab, und in einigen Situationen müssen Sie das Problem eventuell mit einer aktiven SNA-Ablaufverfolgung reproduzieren, um die Prüfcodeinformationen abzurufen.

  3. Der Begriff Gateway bezieht sich auf DB2 Connect Enterprise Edition.

SQL0965 oder SQL0969

Symptom

Die Nachrichten SQL0965 und SQL0969 können mit einer Anzahl verschiedener Rückkehrcodes von DB2 Universal Database für AS/400, DB2 Universal Database für OS/390, DB2 für MVS/ESA und DB2 für VM &VSE abgesetzt werden.

Wenn eine dieser Nachrichten angezeigt wird, müssen Sie den ursprünglichen SQL-Code in der Dokumentation für das Datenbank-Server-Produkt nachschlagen, das die Nachricht abgesetzt hat.

Lösung

Der von der Host-Datenbank empfangene SQL-Code kann nicht umgesetzt werden. Korrigieren Sie das Problem basierend auf dem Fehlercode, und wiederholen Sie den fehlgeschlagenen Befehl.

SQL1338 während CONNECT

Symptom / Ursache

Der symbolische Bestimmungsname wurde nicht definiert oder ist nicht ordnungsgemäß definiert.

Dazu kann es zum Beispiel kommen, wenn ein APPC-Knoten verwendet wird und der im DB2-Knotenverzeichnis angegebene symbolische Bestimmungsname nicht mit einem CPI-DFV-Eintrag in der Konfiguration des lokalen Subsystems für APPC-Datenfernverarbeitung übereinstimmt.

Eine weitere Ursache kann sein, daß auf Ihrer Maschine mehrere SNA-Stapelspeicher installiert sind. Sie müssen eventuell PATH und LIBPATH überprüfen, um sicherzustellen, daß zuerst auf den Stapelspeicher verwiesen wird, den Sie verwenden wollen.

Lösungen

  1. Stellen Sie sicher, daß der im DB2-Knotenverzeichniseintrag angegebene Profilname für die CPIC-Nebeninformationen mit der SNA-Konfiguration übereinstimmt (er ist von der Groß-/Kleinschreibung abhängig).
  2. Sie müssen eventuell PATH und LIBPATH überprüfen, um sicherzustellen, daß zuerst auf den SNA-Stapelspeicher verwiesen wird, den Sie verwenden wollen.

SQL1403N während CONNECT

Symptom

SQL1403N Angegebene Benutzer-ID und/oder Kennwort sind/ist falsch.

Lösung

  1. Für den Benutzer konnte auf der DB2 Connect-Workstation keine Identifikationsüberprüfung durchgeführt werden. Ermitteln Sie, ob für den Benutzer auf der DB2 Connect-Workstation eine Identifikationsüberprüfung durchgeführt werden soll.

    Ist dies der Fall, stellen Sie sicher, daß in der Anweisung CONNECT das richtige Kennwort angegeben ist, falls es erforderlich ist.

    Ist dies nicht der Fall, wurde der Eintrag für das Systemdatenbankverzeichnis mit AUTHENTICATION SERVER (dies ist die Standardeinstellung, wenn AUTHENTICATION nicht explizit angegeben ist) falsch katalogisiert. Wenn letzteres zutrifft, katalogisieren Sie den Eintrag erneut mit AUTHENTICATION DCS bzw. CLIENT.

  2. Das Kennwort kann nicht an die Ziel-Server-Datenbank gesendet werden, weil es nicht verfügbar ist. Wenn der Eintrag für das Systemdatenbankverzeichnis mit AUTHENTICATION DCS katalogisiert wird, muß ein Kennwort vom DB2 Client an die Ziel-Server-Datenbank übergeben werden. Auf bestimmten Plattformen, zum Beispiel AIX, kann das Kennwort nur abgerufen werden, wenn es in der Anweisung CONNECT bereitgestellt wird.

SQL5043N

Symptom

Die Unterstützung für mindestens ein Übertragungsprotokoll konnte nicht gestartet werden. Die Kernfunktionalität des Datenbankmanagers wurde jedoch erfolgreich gestartet.

Vielleicht wurde das TCP/IP-Protokoll auf dem DB2 Connect-Gateway nicht gestartet. Möglicherweise hat zuvor eine erfolgreiche Client-Verbindung bestanden.

Wenn diaglevel = 4, enthält db2diag.log eventuell einen Eintrag wie zum Beispiel den folgenden:

   
1997-05-30-14.09.55.321092   Instance:svtdbm5   Node:000
PID:10296(db2tcpcm)   Appid:none
common_communication  sqlcctcpconnmgr_child   Probe:46
DIA3205E Die Socket-Adresse "30090", die in der
TCP/IP-Servicedatei definiert und
für die TCP/IP-Server-Unterstützung 
erforderlich ist, wird von einem anderen 
Prozeß verwendet.

Lösung

Diese Warnung ist ein Symptom dafür, daß DB2 Connect als Gateway für ferne Clients Schwierigkeiten beim Handhaben von mindestens einem Übertragungsprotokoll hat. Diese Protokolle können vom Typ TCP/IP oder APPC und andere sein, und in der Nachricht wird in der Regel angegeben, daß eines der für DB2 Connect definierten Übertragungsprotokolle nicht ordnungsgemäß konfiguriert ist.

Eine mögliche Ursache ist häufig, daß die Profilvariable DB2COMM nicht definiert oder falsch definiert ist. Im allgemeinen ist das Problem das Ergebnis einer Abweichung zwischen der Variablen DB2COMM und den in der Datenbankmanagerkonfiguration definierten Namen (zum Beispiel svcename, nname oder tpname).

Ein mögliches Szenario ist, daß zuvor erfolgreich eine Verbindung hergestellt wurde und daß dann die Fehlernachricht SQL5043 angezeigt wird, obwohl die Konfiguration nicht geändert wurde. Dazu kann es bei Verwendung des TCP/IP-Protokolls kommen, wenn das ferne System die Verbindung aus einem bestimmten Grund abnormal beendet. Wenn dies auftritt, kann eine Verbindung weiterhin auf dem Client vorhanden sein, und es ist eventuell möglich, die Verbindung durch Absetzen der untenstehenden Befehle ohne weiteres Eingreifen wiederherzustellen.

Sehr wahrscheinlich hat einer der Clients, der mit dem Gateway verbunden ist, noch eine Kennung am TCP/IP-Anschluß. Geben Sie auf jeder Client-Maschine, die mit dem Gateway verbunden ist, folgende Befehle ein:

  1. db2 terminate
  2. db2stop

SQL30020

Symptom

SQL30020N Die Ausführung schlug aufgrund eines Verteilungsprotokollfehlers (Distributed Protocol Error) fehl. Dieser Fehler beeinflußt die erfolgreiche Ausführung der nachfolgenden Befehle und SQL-Anweisungen.

Lösungen

Wenden Sie sich bei diesem Fehler an den Service.

Überprüfen Sie das Verzeichnis db2dump auf einen ffdc-Speicherauszug (pid.000). Formatieren Sie diese Speicherauszugsdatei anschließend mit db2fdump, und suchen Sie in der Ergebnisdatei nach "ERROR". Hier wird eventuell ein Verweis auf MVS ABEND aufgelistet. Überprüfen Sie in diesem Fall die MVS-Konsole auf weitere Informationen, und schlagen Sie den Code für abnormale Beendigung im Handbuch DB2 for MVS Messages and Codes nach.

SQL30060

Symptom

SQL30060N "<berechtigungs-ID>" verfügt nicht über die Berechtigung, die Operation "<operation>" auszuführen.

Lösung

Beim Herstellen der Verbindung zu DB2 für MVS bzw. DB2 für OS/390 wurden die Kommunikationsdatenbanktabellen nicht ordnungsgemäß aktualisiert. Weitere Informationen finden sie in:

SQL30061

Symptom

Verbindung zu falschem Datenbank-Server-Standort auf dem Host oder System IBM AS/400; keine Zieldatenbank gefunden.

Lösung

Im DCS-Verzeichniseintrag wurde eventuell der falsche Server-Datenbankname angegeben. Wenn es dazu kommt, wird SQLCODE -30061 an die Anwendung zurückgegeben.

Überprüfen Sie den DB2-Knoten, die Datenbank und die DCS-Verzeichniseinträge. Das Feld für den Zieldatenbanknamen im DCS-Verzeichniseintrag muß mit dem Namen der Datenbank basierend auf der Plattform übereinstimmen. Bei einer Datenbank unter DB2 Universal Database für OS/390 muß der zu verwendende Name beispielsweise mit dem Namen übereinstimmen, der im Feld "LOCATION=standortname" des BSDS (Boot Strap Data Set) verwendet wird und der auch in der Nachricht DSNL004I (LOCATION=standort) angezeigt wird, wenn DDF (Distributed Data Facility) gestartet wird. Weitere Informationen finden Sie in Das Datenbankkonzept und in Kapitel 6, Aktualisieren von Datenbankverzeichnissen.

Zudem enthält das Handbuch Einstieg für DB2 Connect Beispiele zum Aktualisieren der DB2-Kataloge. Informationen dazu finden Sie im Schritt zur Aktualisierung der DB2-Verzeichnisse in jedem Kapitel, das die SNA-Konfiguration beschreibt, oder im Kapitel über die Konfiguration von Datenbanken für DB2 Connect auf dem Host oder System IBM AS/400 und im Abschnitt über die Konfiguration der TCP/IP-Verbindung.

Die korrekten Befehle für einen APPC- oder APPN-Knoten sind:

   
db2 catalog appc node <knotenname> remote <symb.-bestimmungsname> security program
db2 catalog dcs database <lokaler-name> as <tatsächlicher-datenbankname>
db2 catalog database <lokaler-name> as <alias> at node <knotenname> 
            authentication dcs

Die korrekten Befehle für einen TCP/IP-Knoten sind:

   
db2 catalog tcpip node <knotenname> remote <host-name-oder-adresse>
            server <anschlußnummer-oder-servicename>
db2 catalog dcs database <lokaler-name> as <tatsächlicher-datenbankname>
db2 catalog database <lokaler-name> as <alias> at node <knotenname>
            authentication dcs

Setzen Sie zum Verbinden der Datenbank folgenden Befehl ab:

   
db2 connect to <alias> user <benutzername> using <kennwort>

SQL30073 mit Rückkehrcode 119C während CONNECT

Symptom

Die Nachricht SQL30073 wird mit dem Rückkehrcode 119C abgesetzt. Dazu kommt es, wenn die Ziel-Server-Datenbank die vom DB2-Client (über DB2 Connect) verwendete Codepage nicht unterstützt. Die Codepage wird von der Konfiguration der Betriebsumgebung abgeleitet, in der der DB2-Client ausgeführt wird.

Weitere Informationen finden Sie im Handbuch Systemverwaltung.

Lösung

Dieses Problem kann häufig gelöst werden, indem Sie eine Berichtigung auf dem Ziel-Server-Datenbanksystem installieren. Wenden Sie sich an die geeignete Serviceorganisation, beziehen Sie die für dieses Symptom empfohlenen Berichtigungen, und wenden Sie diese an.

Als temporäre Lösung kann der Benutzer die Standard-Codepage durch Einstellen der Umgebungsvariablen DB2CODEPAGE überschreiben. Überprüfen Sie die länderspezifischen Angaben, bzw. stellen Sie DB2CODEPAGE=850 ein.

Auf UNIX-Plattformen kann der Benutzer eventuell zu einer anderen Codepage umschalten, indem er die Umgebungsvariable LANG auf einen anderen Wert setzt.

SQL30081N mit Rückkehrcode 1

Symptom

Das Symptom ist die folgende Nachricht plus SNA-Prüfcode:

  db2 connect to <datenbankname> user <benutzer-ID>
  Kennwort eingeben für <benutzer-ID>:
  SQL30081N  Übertragungsfehler.
  Verwendetes
  Übertragungsprotokoll: "APPC".
  Verwendete Übertragungs-API: "CPI-C".
  Position, an der   der Fehler festgestellt wurde: "".
  Übertragungsfunktion, die den Fehler feststellte:  "cmallc".
  Protokollspezifische(r) Fehlercode(s): "1", "*", "0x10030021".    SQLSTATE=08001

Lösung(en)

In diesem Beispiel ist der Prüfcode 10030021.

Im folgenden werden die häufigsten Prüfcodes für diese Fehlernachricht und die jeweiligen vorgeschlagenen Lösungen angegeben:

  1. SQL30081N mit Rückkehrcode 1 und SNA-Prüfcode 0877002C
    

    Es wurde ein falscher Netzwerkname angegeben.

  2. SQL30081N mit Rückkehrcode 1 und SNA-Prüfcode ffff0003
    

    Es wurde die falsche MAC-Adresse angegeben, oder die SNA-Verbindung ist nicht aktiv.

  3. SQL30081N mit Rückkehrcode 1 und SNA-Prüfcode 10030021
    

    Es liegt eine Abweichung vom LU-Typ vor.

  4. SQL30081N mit Rückkehrcode 1 und SNA-Prüfcode 084B6031
    

    MAXDBAT in DSNZPARM (bei einem Host unter DB2 für MVS oder DB2 für OS/390) ist auf 0 gesetzt.

Andere Vorschläge:

  1. Definieren Sie die LU beim Erstellen des lokalen LU-Profils als die Standard-LU. Führen Sie zum Beispiel im Fenster Liste mit SNA-Einrichtungen in CM/2 einen der beiden folgenden Schritte aus:
  2. Überprüfen Sie, ob SNA auf dem DB2 Connect-Gateway gestartet wurde.
  3. Wenn Sie mit DB2 für MVS bzw. DB2 für OS/390 arbeiten, überprüfen Sie, ob der DDF-Adreßraum (DDF - Distributed Data Facility) gestartet wurde und ob DB2 ausgeführt wird.

SQL30081N mit Rückkehrcode 2

Symptom

Die Nachricht SQL30081N wird mit Rückkehrcode 2 und SNA-Prüfcode 08120022 empfangen.

Lösung

Der Parameter NUMILU für NCP (Host-Ende der Programmverbindung (Link)) ist eventuell auf den Standardwert (0) gesetzt. Überprüfen Sie dies. Ändern Sie ggf. die NCP-Definition, bevor Sie den Vorgang nach der Aktivierung der Änderung wiederholen.

SQL30081N mit Rückkehrcode 9

Symptom

Das Symptom ist die folgende Nachricht (der SNA-Prüfcode ist in diesem Fall nicht erforderlich):

 
  db2 connect to <datenbank> user <benutzer-ID>
  SQL30081N  Übertragungsfehler.
  Verwendetes Übertragungsprotokoll: "APPC".
  Verwendete Übertragungs-API: "CPI-C".
  Position, an der der Fehler festgestellt wurde: "".
  Übertragungsfunktion, die den Fehler feststellte:"cmsend".
  Protokollspezifische(r) Fehlercode(s): "9", "*", "0x10086021".    SQLSTATE=08001

Lösung

Das Problem ist, daß der Name des Transaktionsprogramms (TPNAME) auf dem DB2 Connect-System nicht ordnungsgemäß definiert ist. Sie haben zum Beispiel eventuell Ihre SNA-Konfiguration aktualisiert, sie jedoch noch nicht auf dem DB2 Connect-Gateway geprüft. Weitere Einzelangaben finden Sie im Handbuch DB2 Connect Enterprise Edition für OS/2 und Windows Einstieg bzw. DB2 Connect Personal Edition Einstieg.

SQL30081N mit Rückkehrcode 10

Symptom

Das Symptom ist die folgende Nachricht (der SNA-Prüfcode ist nicht erforderlich):

  SQL30081N  Übertragungsfehler.
  Verwendetes Übertragungsprotokoll: "APPC".
  Verwendete Übertragungs-API: "CPI-C".
  Position, an der der Fehler festgestellt wurde: "".
  Übertragungsfunktion, die den Fehler feststellte: "cmrcv".
  Protokollspezifische(r) Fehlercode(s): "10", "*", "*".
  SQLSTATE=08001

Lösung

Überprüfen Sie, ob DB2 ordnungsgemäß installiert wurde.

Wird ein Gateway unter DB2 Connect für OS/2 verwendet, wird eventuell folgende Nachricht angezeigt, wenn der Transaktionsprogrammname nicht ordnungsgemäß definiert ist:

   Protokollspezifische(r) Fehlercode(s): "10", "*", "0x084C0000".
   SQLSTATE=08001

In diesem Fall muß der TP-Name beispielsweise in CM/2 wie folgt definiert werden:

   Name des Transaktionsprogramms (TP-Name)  = 'tpname'    (benutzerdefiniert)
   OS/2-Programmpfad und Dateiname = nicht verwendet

und (auf der nächsten CM/2-Konfigurationsanzeige)

   Darstellungsart - Hintergrund
   Betriebsart - Warteschlangenbetrieb - Vom Bediener vorher geladen

SQL30081N mit Rückkehrcode 20

Symptom

  SQL30081N  Übertragungsfehler.
  Verwendetes Übertragungsprotokoll: "APPC".
  Verwendete Übertragungs-API: "CPI-C".
  Position, an der der Fehler festgestellt wurde: "".
  Übertragungsfunktion, die den Fehler feststellte: "xcstp".
  Protokollspezifische(r) Fehlercode(s): "20", "*", "*".
  SQLSTATE=08001

Lösung

Stellen Sie sicher, daß das SNA-Subsystem auf dem DB2 Connect-System gestartet wurde.

SQL30081N mit Rückkehrcode 27

Symptom

Die Nachricht SQL30081N wird mit Rückkehrcode 27 und SNA-Prüfcode 800Axxxx empfangen.

Lösung

Die VTAM-Pfadinformationseinheit (PIU) ist zu groß.

SQL30081N mit Rückkehrcode 79

Symptom

  SQL30081N  Übertragungsfehler.
  Verwendetes Übertragungsprotokoll: "TCP/IP".
  Verwendete Übertragungs-API: "SOCKETS".
  Position, an der der Fehler festgestellt wurde: "".
  Übertragungsfunktion, die den Fehler feststellte: "connect".
  Protokollspezifische(r) Fehlercode(s): "79", "*", "*".
  SQLSTATE=08001

Lösung(en)

Dieser Fehler kann auftreten, wenn ein ferner Client keine Verbindung zu einem DB2 Connect-Gateway herstellen kann. Dazu kann es auch kommen, wenn die Verbindung vom DB2 Connect-Gateway zu einem Host hergestellt wird.

  1. Die Profilvariable DB2COMM ist auf dem DB2 Connect-Gateway eventuell falsch eingestellt. Überprüfen Sie dies. Zum Beispiel muß der Befehl db2set db2comm=tcpip in sqllib/db2profile angezeigt werden, wenn DB2 Enterprise - Extended Edition unter AIX ausgeführt wird.
  2. Eventuell gibt es eine Abweichung zwischen dem TCP/IP-Servicenamen und/oder den Anschlußnummerangaben auf dem DB2-Client und dem DB2 Connect-Gateway. Prüfen Sie die Einträge in den TCP/IP-Dateien services auf beiden Maschinen.
  3. Überprüfen Sie, ob DB2 auf dem DB2 Connect-Gateway gestartet wurde. Setzen Sie diaglevel der Datenbankmanagerkonfiguration mit dem folgenden Befehl auf 4:
    db2 update dbm cfg using diaglevel 4
    
    Überprüfen Sie nach dem Stoppen und Neustart von DB2 in der Datei db2diag.log, ob die DB2-TCP/IP-Datenfernverarbeitung gestartet wurde. Es wird eine Ausgabe angezeigt, die der folgenden ähnelt:
       1998-02-03-12.41.04.861119   Instance:svtdbm2   Node:00
       PID:86496(db2sysc)   Appid:none
       common_communication  sqlcctcp_start_listen   Probe:80
       DIA3000I Die Protokollunterstützung für "TCPIP" wurde erfolgreich gestartet.
    

SQL30081N mit protokollspezifischem Fehlercode 10032

Symptom

  SQL30081N  Übertragungsfehler.
  Verwendetes Übertragungsprotokoll: "TCP/IP".
  Verwendete Übertragungs-API: "SOCKETS".
  Position, an der der Fehler festgestellt wurde: "9.21.85.159".
  Übertragungsfunktion, die den Fehler feststellte: "send".
  Protokollspezifische(r) Fehlercode(s): "10032",   "*", "*".
  SQLSTATE=08001

Lösung

Diese Fehlernachricht wird eventuell empfangen, wenn versucht wird, die Verbindung zu einer Maschine zu trennen, auf der die TCP/IP-Datenfernverarbeitung bereits fehlgeschlagen ist. Korrigieren Sie das Problem mit dem TCP/IP-Subsystem.

Starten Sie dazu auf den meisten Maschinen einfach das TCP/IP-Protokoll erneut. Gelegentlich ist der Neustart der gesamten Maschine erforderlich.


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