Beruflich Dokumente
Kultur Dokumente
DB2 Version 9
fr Linux, UNIX und Windows
Fehlerbehebung
GC12-3635-00
DB2
DB2 Version 9
fr Linux, UNIX und Windows
Fehlerbehebung
GC12-3635-00
Hinweis Vor Verwendung dieser Informationen und des darin beschriebenen Produkts sollten die allgemeinen Informationen unter Bemerkungen gelesen werden.
Diese Verffentlichung ist eine bersetzung des Handbuchs IBM DB2 Version 9 for Linux, UNIX and Windows Troubleshooting Guide, IBM Form GC10-4240-00, herausgegeben von International Business Machines Corporation, USA Copyright International Business Machines Corporation 1993, 2006 Copyright IBM Deutschland GmbH 2006 Informationen, die nur fr bestimmte Lnder Gltigkeit haben und fr Deutschland, sterreich und die Schweiz nicht zutreffen, wurden in dieser Verffentlichung im Originaltext bernommen. Mglicherweise sind nicht alle in dieser bersetzung aufgefhrten Produkte in Deutschland angekndigt und verfgbar; vor Entscheidungen empfiehlt sich der Kontakt mit der zustndigen IBM Geschftsstelle. nderung des Textes bleibt vorbehalten. Herausgegeben von: SW TSC Germany Kst. 2877 Juli 2006
Inhaltsverzeichnis
Kapitel 1. Weitere Informationen zu verschiedenen Themen . . . . . . . . . 1
Einfhrung in die Fehlerbestimmung . . . . . . 1 FFDC (First Failure Data Capture) . . . . . . . 3 Informationen von First Failure Data Capture (FFDC) . . . . . . . . . . . . . . . 3 Allgemein - FFDC (First Failure Data Capture) . . 4 Protokoll mit Benachrichtigungen fr die Systemverwaltung . . . . . . . . . . . . . . . 6 Protokoll mit Benachrichtigungen fr die Systemverwaltung . . . . . . . . . . . . . . 6 Festlegen der Aufzeichnungsebene fr die Protokolldatei mit Benachrichtigungen fr die Systemverwaltung . . . . . . . . . . . 6 Interpretieren von Eintrgen in der Protokolldatei mit Benachrichtigungen fr die Systemverwaltung. 7 Protokoll der DB2-Diagnoseprogramme . . . . . 9 Festlegen der Aufzeichnungsebene fr die Diagnoseprotokolldatei . . . . . . . . . . 9 Interpretieren von Informationsdatenstzen in der Datei db2diag.log . . . . . . . . . . . 9 Interpretieren von Eintrgen in der Protokolldatei der Diagnoseprogramme . . . . . . . . . 10 db2cos-Ausgabedateien (callout-Script) . . . . . 13 Speicherauszugsdateien . . . . . . . . . . 15 Trapdateien . . . . . . . . . . . . . . 16 Trapdateien . . . . . . . . . . . . . 16 Formatieren von Trapdateien (Windows) . . . 17 Plattformspezifische Fehlerprotokolle . . . . . . 17 Informationen in plattformspezifischen Fehlerprotokollen . . . . . . . . . . . . . 17 Systemkerndateien (UNIX) . . . . . . . . 18 Zugreifen auf Informationen in Systemkerndateien (UNIX) . . . . . . . . . . . . 19 Zugreifen auf Ereignisprotokolle (Windows) . . 20 Exportieren von Ereignisprotokollen (Windows) 20 Zugriff auf die Protokolldatei von Dr. Watson (Windows). . . . . . . . . . . . . . 21 Kombinieren von Diagnoseprogrammen der DB2Datenbank und des Betriebssystems . . . . . . 21 Diagnosetools . . . . . . . . . . . . . 32
. . . 27
Fehlerbehebung fr DB2 . . . . . . . . . . 27 Fehlerbehebung - Umgebungen mit partitionierten Datenbanken . . . . . . . . . . . . . . 27 Absetzen von Befehlen in einer Umgebung mit partitionierten Datenbanken . . . . . . . . 27
iii
Anhang B. Bemerkungen . . . . . . . 97
Marken . . . . . . . . . . . . . . . . 99
Index . . . . . . . . . . . . . . . 101
iv
Fehlerbehebung
Fragen wie diese helfen Ihnen dabei, die Ebene des Problems einzugrenzen, und sind erforderlich, um den Ursprung des Fehlers zu ermitteln. Bedenken Sie, dass der Fehler seine Wurzeln nicht immer auf der Ebene hat, die den Fehler meldet. Um ermitteln zu knnen, wo ein Fehler auftritt, muss man unter anderem die Umgebung kennen, in der das Problem liegt. Sie sollten immer ein wenig Zeit darauf verwenden, die Umgebung des Fehlers vollstndig zu beschreiben, einschlielich des Betriebssystems und seiner Version, der gesamten zugehrigen Software und entsprechender Versionen sowie der Hardware. Vergewissern Sie sich, dass Sie in einer Umgebung arbeiten, bei der es sich um eine untersttzte Konfiguration handelt, da sich viele Fehler dadurch erklren lassen, dass Softwareversionen vorliegen, die nicht fr die gemeinsame Ausfhrung gedacht sind oder nicht ausreichend zusammen getestet wurden. Wann tritt der Fehler auf?: Ein weiterer erforderlicher Schritt bei der Fehleranalyse besteht darin, den detaillierten Zeitablauf der Ereignisse zu ermitteln, die zu dem Fehler gefhrt haben. Dies gilt insbesondere fr Fehler, die nur ein einziges Mal auftreten. Am einfachsten lsst sich dies bewerkstelligen, wenn Sie rckwrts arbeiten. Beginnen Sie hierbei mit dem Zeitpunkt, zu dem der Fehler auftrat (und zwar so przise wie mglich, selbst wenn es sich um Millisekunden handelt), und arbeiten Sie sich dann rckwrts durch die verfgbaren Protokolle und Informationen. Normalerweise braucht man lediglich das erste verdchtige Ereignis in den Protokollen der Diagnoseprogramme zu finden. Allerdings ist dies nicht immer einfach und setzt einige praktische Erfahrung voraus. Es ist insbesondere dann schwierig zu wissen, wie weit man die Protokolle rckverfolgen soll, wenn mehrere Technologieschichten vorliegen, die jeweils eigene Diagnoseinformationen bereitstellen. v Tritt der Fehler nur zu einer bestimmten Tages- oder Nachtzeit auf? v Wie hufig tritt der Fehler auf? v Welche Folge von Ereignissen fhrt zu dem Zeitpunkt, zu dem der Fehler gemeldet wird? v Tritt der Fehler nach einer nderung an der Umgebung auf, beispielsweise nach einem Upgrade bereits vorhandener Software- oder Hardwarekomponenten bzw. nach der Installation neuer Software- oder Hardwarekomponenten? Die Beantwortung solcher Fragen hilft Ihnen dabei, den zeitlichen Ablauf der Ereignisse genau zu bestimmen und so einen Bezugsrahmen fr die Analyse zu schaffen. Unter welchen Umstnden tritt der Fehler auf?: Eine vollstndige Fehlerbeschreibung setzt voraus, dass man wei, welche anderen Komponenten zum Zeitpunkt des Fehlers sonst noch ausgefhrt werden. Wenn ein Problem in einer bestimmten Umgebung oder unter bestimmten Umstnden auftritt, kann dies ein wesentlicher Hinweis auf die Fehlerursache sein. v Tritt der Fehler immer bei der Ausfhrung derselben Task auf? v Ist eine bestimmte Folge von Ereignissen erforderlich, damit das Problem auftritt? v Schlagen gleichzeitig noch andere Anwendungen fehl? Die Beantwortung dieser Art von Fragen hilft Ihnen dabei, die Umgebung zu beschreiben, in der das Problem auftritt, und eventuelle Zusammenhnge und
Fehlerbehebung
Abhngigkeiten zu erkennen. Bedenken Sie, dass verschiedene Probleme nicht unbedingt miteinander zusammenhngen mssen, nur weil sie zu derselben Zeit auftreten. Ist der Fehler reproduzierbar?: Fr die Fehlerbeschreibung und -analyse ist es ideal, wenn sich ein Fehler reproduzieren lsst. Bei reproduzierbaren Fehlern steht fast immer eine grere Anzahl an Tools oder Prozeduren zur Verfgung, die bei der Untersuchung helfen knnen. Daher sind reproduzierbare Fehler normalerweise leichter zu beheben. Allerdings knnen reproduzierbare Fehler auch einen Nachteil haben: Wenn das Problem signifikante Auswirkungen auf die Geschftsablufe hat, will man eine Wiederholung des Problems natrlich vermeiden. In diesem Fall ist die Reproduktion des Fehlers in einer Test- oder Entwicklungsumgebung hufig vorzuziehen. v Kann der Fehler auf einer Testmaschine reproduziert werden? v Haben mehrere Benutzer oder Anwendungen die gleiche Art von Problem? v Lsst sich der Fehler reproduzieren, indem ein einzelner Befehl, eine Befehlsgruppe oder eine bestimmte Anwendung bzw. eine eigenstndige Anwendung ausgefhrt wird? v Kann der Fehler reproduziert werden, indem der/die quivalente Befehl/ Abfrage ber eine DB2-Befehlszeile ausgegeben wird? Die Reproduktion eines einmalig auftretenden Fehlers in einer Test- oder Entwicklungsumgebung ist hufig vorzuziehen, da sich die Untersuchung in einer solchen Umgebung normalerweise flexibler gestalten und besser steuern lsst. Zugehrige Konzepte: v Ressourcen zur Fehlerbestimmung auf Seite 82
FFDC (First Failure Data Capture) Informationen von First Failure Data Capture (FFDC)
First Failure Data Capture (FFDC), was in etwa Erfassung erster Fehlerdaten bedeutet, ist eine Bezeichnung fr den Satz von Diagnoseinformationen, der von DB2-Datenbankprodukten automatisch erfasst wird, wenn Fehler auftreten. Diese Informationen verringern die Notwendigkeit, Fehler zur Beschaffung von Diagnoseinformationen zu reproduzieren. Weitere Informationen zu bestimmten FFDC-Typen finden Sie unter den nachstehend aufgefhrten zugehrigen Links. Zugehrige Konzepte: v Speicherauszugsdateien auf Seite 15 v Trapdateien auf Seite 16 Zugehrige Referenzen: v Allgemein - FFDC (First Failure Data Capture) auf Seite 4
Fehlerbehebung
Ausgabedateien des DB2-Aufrufscripts (db2cos) v Betriebssysteme: Alle v Standardposition: In dem Verzeichnis, das durch den Konfigurationsparameter diagpath des Datenbankmanagers angegeben ist. v Werden bei Auftreten einer Panic-Situation, einer Fehlerunterbrechung (Trap) oder eines Segmentierungsverstoes automatisch erstellt. Knnen auch bei bestimmten Problemszenarien erstellt werden, die mit dem Befehl db2pdcfg angegeben wurden. v In der Standardkonfiguration ruft das Script db2cos db2pd-Befehle zum entsperrten Erfassen von Informationen auf. In Abhngigkeit von den im Script db2cos enthaltenen Befehlen kann der Inhalt der Ausgabedateien dieses Scripts unterschiedlich sein. Speicherauszugsdateien v Betriebssysteme: Alle v Standardposition: In dem Verzeichnis, das durch den Konfigurationsparameter diagpath des Datenbankmanagers angegeben ist. v Werden bei Auftreten bestimmter Problemszenarien automatisch erstellt. v Fr einige Fehlerbedingungen werden Zusatzinformationen in Binrdateien protokolliert, die nach der Prozess-ID des fehlgeschlagenen Prozesses benannt werden. Diese Dateien sind fr die Verwendung durch die IBM Kundenuntersttzung vorgesehen. Trapdateien v Betriebssysteme: Alle v Standardposition: In dem Verzeichnis, das durch den Konfigurationsparameter diagpath des Datenbankmanagers angegeben ist. v Werden bei abnormaler Beendigung der Instanz automatisch erstellt. Knnen auch beliebig mit Hilfe des Befehls db2pd erstellt werden. v Der Datenbankmanager generiert eine Trapdatei, wenn er die Verarbeitung aufgrund einer Fehlerunterbrechung (Trap), eines Segmentierungsverstoes oder einer Ausnahmebedingung nicht fortsetzen kann. Kerndateien v Betriebssysteme: Linux und UNIX v Standardposition: In dem Verzeichnis, das durch den Konfigurationsparameter diagpath des Datenbankmanagers angegeben ist. v Werden bei abnormaler Beendigung der DB2-Instanz vom Betriebssystem erstellt. v Die Kerndatei ist eine Binrdatei, die Informationen enthlt, die den Informationen der Trapdateien hneln, die von DB2-Datenbankprodukten generiert werden. Kerndateien knnen auch das gesamte Speicherimage des beendeten Prozesses enthalten. Zugehrige Konzepte: v Protokoll mit Benachrichtigungen fr die Systemverwaltung auf Seite 6 v db2cos-Ausgabedateien (callout-Script) auf Seite 13 v Speicherauszugsdateien auf Seite 15 v Interpretieren von Eintrgen in der Protokolldatei mit Benachrichtigungen fr die Systemverwaltung auf Seite 7 v Trapdateien auf Seite 16
Protokoll mit Benachrichtigungen fr die Systemverwaltung Protokoll mit Benachrichtigungen fr die Systemverwaltung
Wenn bedeutsame Ereignisse auftreten, schreibt der DB2-Datenbankmanager Informationen in das Protokoll mit Benachrichtigungen fr die Systemverwaltung. Der Datenbankmanager zeichnet z. B. den Status von DB2-Dienstprogrammen, (REORG, BACKUP, RECOVERY, ROLL-FORWARD), bergeordnete Anwendungsprobleme, die Lizenzaktivitt, Speicherprobleme, Probleme mit Protokolldateipfaden, berwachungs- und Indexierungsprobleme, Tabellenbereichsprobleme etc. auf. Diese Informationen sind fr Datenbank- und Systemadministratoren gedacht. Hinweisnachrichten liefern zustzliche Informationen, die den bereitgestellten SQLCODE-Wert ergnzen. Der Typ von Ereignis und die Detaillierungsebene der Informationen, die gesammelt werden, werden durch den Konfigurationsparameter NOTIFYLEVEL bestimmt. Diese detaillierten Diagnoseinformationen werden in der Textprotokolldatei db2diag.log aufgezeichnet, nicht in dem Protokoll fr die Systemverwaltung. Diagnoseinformationen werden zur Fehlerbestimmung verwendet und sind fr die DB2-Kundenuntersttzung vorgesehen. Der Detaillierungsgrad wird durch den Konfigurationsparameter DIAGLEVEL bestimmt. Zugehrige Konzepte: v Interpretieren von Eintrgen in der Protokolldatei mit Benachrichtigungen fr die Systemverwaltung auf Seite 7 v Interpretieren von Eintrgen in der Protokolldatei der Diagnoseprogramme auf Seite 10 v Interpretieren von Informationsdatenstzen in der Datei db2diag.log auf Seite 9 Zugehrige Tasks: v Festlegen der Aufzeichnungsebene fr die Diagnoseprotokolldatei auf Seite 9 v Festlegen der Aufzeichnungsebene fr die Protokolldatei mit Benachrichtigungen fr die Systemverwaltung auf Seite 6 Zugehrige Referenzen: v notifylevel - Benachrichtigungsstufe in Systemverwaltung: Optimierung v diaglevel - Aufzeichnungsebene bei Fehlerdiagnose in Systemverwaltung: Optimierung
Fehlerbehebung
Dabei ist X die gewnschte Aufzeichnungsebene. Zugehrige Referenzen: v notifylevel - Benachrichtigungsstufe in Systemverwaltung: Optimierung
11
Legende: 1. Eine Zeitmarke fr die Nachricht. 2. Der Name der Instanz, die die Nachricht generiert. 3. Bei Systemen mit mehreren Partitionen die Partition, die die Nachricht generiert. (In einer nicht partitionierten Datenbank ist der Wert 000.) 4. Die DB2-Komponente, die die Nachricht erstellt. Fr Nachrichten, die von Benutzeranwendungen mit der API db2AdminMsgWrite erstellt werden, lautet die Angabe der Komponente User Application. 5. Identifikation der Anwendung, fr die der Prozess ausgefhrt wird. In diesem Beispiel wird der Prozess, der die Nachricht generiert, fr eine Anwendung mit der ID *LOCAL.DB2.020205091435 ausgefhrt.
Zur weiteren Identifikation einer bestimmten Anwendungs-ID haben Sie folgende Mglichkeiten: v Verwenden Sie den Befehl db2 list applications auf einem DB2-Server oder den Befehl db2 list dcs applications auf einem DB2 Connect-Gateway, um eine Liste von Anwendungs-IDs anzuzeigen. Anhand dieser Liste knnen Sie Informationen ber den Client ermitteln, auf dem der Fehler auftritt, wie zum Beispiel den Knotennamen und die TCP/IP-Adresse des Clients. v Verwenden Sie den Befehl db2 get snapshot for application, um eine Liste von Anwendungs-IDs anzuzeigen. 6. Die DB2-Komponente, die die Nachricht erstellt. Fr Nachrichten, die von Benutzeranwendungen mit der API db2AdminMsgWrite erstellt werden, lautet die Angabe der Komponente User Application. 7. Der Name der Funktion, die die Nachricht bereitstellt. Diese Funktion operiert innerhalb der DB2-Unterkomponente, die die Nachricht schreibt. Fr Nachrichten, die von Benutzeranwendungen mit der API db2AdminMsgWrite geschrieben werden, lautet die Angabe der Funktion User Function. Weitere Informationen ber die Art der durch eine Funktion ausgefhrten Aktivitt liefert der vierte Buchstabe des Namens. In diesem Beispiel weist der Buchstabe p im Funktionsnamen sqlpresr auf ein Datenschutzproblem hin. (Protokolle knnten zum Beispiel beschdigt sein.) Die folgende Liste zeigt einige der Buchstaben, die an der vierten Stelle im Funktionsnamen Verwendung finden, sowie die Art der Aktivitt, auf die sie hinweisen: b c d e o p r s Pufferpools Kommunikation zwischen Clients und Servern Datenverwaltung Prozesse der Steuerkomponente Betriebssystemaufrufe (z. B. ffnen und Schlieen von Dateien) Datenschutz (z. B. Sperren und Protokollieren) Relationale Datenbankservices Sortieren
x Indexieren 8. Eindeutige interne ID. Diese Nummer gibt der DB2-Kundenuntersttzung und der DB2-Entwicklung die Mglichkeit, die Stelle im DB2-Quellcode zu lokalisieren, von der die Nachricht ausgegeben wurde. 9. Die Datenbank, in der der Fehler auftrat. 10. Eine Nachricht, falls verfgbar, die den Fehlertyp und die Fehlernummer als Hexadezimalcode angibt. 11. Ein Nachrichtentext, falls verfgbar, der das protokollierte Ereignis erlutert. Zugehrige Konzepte: v Protokoll mit Benachrichtigungen fr die Systemverwaltung auf Seite 6 v Informationen von First Failure Data Capture (FFDC) auf Seite 3 Zugehrige Referenzen: v notifylevel - Benachrichtigungsstufe in Systemverwaltung: Optimierung
Fehlerbehebung
Dabei ist X die gewnschte Aufzeichnungsebene. Anmerkung: Wenn Sie eine Fehlerdiagnose fr einen reproduzierbaren Fehler durchfhren, empfiehlt es sich, bei der Fehlerbestimmung DIAGLEVEL 4 zu verwenden. Zugehrige Konzepte: v Informationen von First Failure Data Capture (FFDC) auf Seite 3 Zugehrige Referenzen: v diaglevel - Aufzeichnungsebene bei Fehlerdiagnose in Systemverwaltung: Optimierung
Physical Memory(MB): total:1024 free:617 available:617 Virtual Memory(MB): total:2462 free:2830 Swap Memory(MB): total:1438 free:2213 Die Informationen in diesem Informationssatz sind nur zum Zeitpunkt der Erstellung dieser Datei gltig (siehe Zeitmarke dieses Satzes).
Der Informationssatz wird fr db2start in jeder logischen Partition ausgegeben. Auf diese Weise werden mehrere Informationsstze generiert: einer fr jede logische Partition. Da der Informationssatz Speicherwerte enthlt, die fr jede Partition unterschiedlich sind, knnen diese Informationen ntzlich sein.
Legende: 1. 2. Die Zeitmarke und die Zeitzone fr die Nachricht. Das Feld mit der Satz-ID. Die Satz-ID von db2diag.log gibt die relative Dateiposition, an der die aktuelle Nachricht aufgezeichnet wird (beispielsweise 17502), sowie die Nachrichtenlnge (beispielsweise 435) fr die Plattform an, auf der das DB2-Diagnoseprotokoll erstellt wurde. Die einer Fehlernachricht zugeordnete Diagnosestufe. Zum Beispiel Info, Warning, Error, Severe oder Event. Die Prozess-ID. Die Thread-ID. Der Prozessname. Der Name der Instanz, die die Nachricht generiert. Bei Mehrpartitionssystemen die Partition, die die Nachricht generiert. (In einer nicht partitionierten Datenbank ist der Wert 000.) Der Datenbankname
3. 4. 5. 6. 7. 8. 9.
10
Fehlerbehebung
10.
Die Anwendungskennung. Dieser Wert richtet sich nach dem in der db2pd-Ausgabe und den Speicherauszugsdateien fr Sperren verwendeten Wert. Er besteht aus der Koordinatorpartitionsnummer, gefolgt von einem Gedankenstrich und der Koordinatorindexnummer. Kennung der Anwendung, fr die der Prozess arbeitet. In diesem Beispiel wird der Prozess, der die Nachricht generiert, fr eine Anwendung mit der ID *LOCAL.DB2.050120082811 ausgefhrt. Eine von TCP/IP generierte Anwendungs-ID besteht aus drei Abschnitten: 1. IP-Adresse: Diese wird als 32-Bit-Zahl dargestellt, die als Hexadezimalzahl mit hchstens 8 Stellen angezeigt wird. 2. Portnummer: Diese wird als vierstellige Hexadezimalzahl dargestellt. 3. Eine eindeutige Kennung fr die Instanz dieser Anwendung. Anmerkung: Wenn die hexadezimale Version der IP-Adresse oder Portnummer mit 0-9 beginnt, wird sie jeweils in G-P umgesetzt. So wird 0 beispielsweise in G umgesetzt, 1 in H etc. Die IP-Adresse AC10150C.NA04.006D07064947 wird wie folgt interpretiert: Die IP-Adresse bleibt AC10150C, d. h. 172.16.21.12. Die Portnummer ist NA04. Das erste Zeichen ist N, das in 7 umgesetzt wird. So lautet die Portnummer im Hexadezimalformat 7A04, nach der Umsetzung in Dezimalformat 31236. Zur weiteren Identifikation einer bestimmten Anwendungs-ID haben Sie folgende Mglichkeiten: v Verwenden Sie den Befehl db2 list applications auf einem DB2-Server oder den Befehl db2 list dcs applications auf einem DB2 Connect-Gateway, um eine Liste von Anwendungs-IDs anzuzeigen. Anhand dieser Liste knnen Sie Informationen ber den Client ermitteln, auf dem der Fehler auftritt, wie zum Beispiel den Knotennamen und die TCP/IPAdresse des Clients. v Verwenden Sie den Befehl db2 get snapshot for application, um eine Liste von Anwendungs-IDs anzuzeigen. v Verwenden Sie den Befehl db2pd -applications -db sample.
11.
12.
Name des Produkts (DB2), der Komponente (Datenschutz) und der Funktion (sqlpsize), das bzw. die die Nachricht generiert (sowie der Testpunkt (20) innerhalb der Funktion). Der Rckkehrcode (falls vorhanden) einer aufgerufenen Funktion. Dieses Feld besteht aus einer Typangabe (ZRC), dem Rckkehrcodewert und der zugehrige Fehlerbeschreibung.
13.
Anmerkung: Die Zeitmarken in db2diag.log enthalten eine Zeitzone. Beispiel: 2006-02-13-14.34.35.965000-300. Hierbei ist -300 die Differenz zwischen der Weltzeit (Coordinated Universal Time, UTC - frher GMT) und der Ortszeit auf dem Anwendungsserver in Minuten. Das heit, -300 bedeutet UTC - 5 Stunden, z. B. EST (Eastern Standard Time). Nach der Beschreibung des db2diag.log-Beispieleintrags folgt nun eine Liste aller mglichen Felder:
<zeitmarke><zeitzone> PID : <pid> INSTANCE: <instanz> <satzID> TID : <tid> NODE : <knoten> LEVEL: <stufe> (<quelle>) PROC : <prozName> DB : <datenbank>
11
APPHDL : <anwKennung> APPID: <anwID> FUNCTION: <produktname>, <komponentenname>, <funktionsname>, probe:<testnr> MESSAGE : <nachrichtenID> <nachrichtentext> CALLED : <produktname>, <komponentenname>, <funktionsname> OSERR : <fehlername> (<fehlernr>) RETCODE : <typ>=<rckkehrcode> <fehlerbeschreibung> ARG #N : <typentitel>, <typenname>, <gre> bytes ... argument ... DATA #N : <typentitel>, <typenname>, <gre> bytes ... data ...
Die Felder, die nicht bereits im Beispiel beschrieben wurden, sind nachfolgend aufgefhrt: v <quelle> Gibt den Ursprung des protokollierten Fehlers an. Die mglichen Werte sind: origin - Die Nachricht wird von der Funktion protokolliert, bei der der Fehler ursprnglich auftrat (Anfangspunkt). OS - Der Fehler wurde vom Betriebssystem generiert. received - Der Fehler wurde von einem anderen Prozess (Client/Server) empfangen. sent - Der Fehler wurde an einen anderen Prozess (Client/Server) gesendet. v MESSAGE Enthlt die protokollierte Nachricht, bestehend aus: <nachrichtenID> - Nachrichtennummer, z. B. ECF=0x9000004A oder DIA8604C <nachrichtentext> - Fehlerbeschreibung Wenn das Feld CALLED ebenfalls aufgefhrt ist, dann ist <nachrichtentext> die Folge des Fehlers, der durch die unter CALLED aufgelistete Funktion fr die Funktion zurckgegeben wird, fr die eine Nachricht protokolliert wird. (Diese Funktion wird im Feld FUNCTION aufgefhrt.) v CALLED Gibt die Funktion an, die einen Fehler zurckgibt, bestehend aus: <produktname> - Produktname: OS, DB2, DB2 Tools oder DB2 Common <komponentenname> - Der Komponentenname (- im Falle eines Systemaufrufs) <funktionsname> - Name der aufgerufenen Funktion v OSERR Betriebssystemfehler, der durch den Systemaufruf (CALLED) zurckgegeben wird, bestehend aus: <fehlername> - systemspezifischer Fehlername <fehlernummer> - Fehlernummer des Betriebssystems v ARG In diesem Abschnitt sind die Argumente eines Funktionsaufrufs aufgefhrt, der einen Fehler zurckgab, bestehend aus: <N> - Position eines Arguments in einem Aufruf an die durch CALLED angegebene Funktion <typentitel> - Bezeichnung, die dem Typennamen des N-ten Arguments zugeordnet ist <typenname> - Typenname des protokollierten Arguments <gre> - Gre des zu protokollierenden Arguments v DATA Enthlt zustzliche Daten, fr die mglicherweise von der Protokollierungsfunktion ein Speicherauszug erstellt wird, bestehend aus: <N> - Fortlaufende Nummer des Datenobjekts, fr das ein Speicherauszug erstellt wird <typentitel> - Bezeichnung der Daten, fr die ein Speicherauszug erstellt wird
12
Fehlerbehebung
<typenname> - Typenname des Datenfelds, das protokolliert wird, z. B. PD_TYPE_UINT32, PD_TYPE_STRING <gre> - Gre eines Datenobjekts Zugehrige Konzepte: v Interpretieren von Informationsdatenstzen in der Datei db2diag.log auf Seite 9
db2cos-Ausgabedateien (callout-Script)
Das Script db2cos wird standardmig aufgerufen, wenn der Datenbankmanager die Verarbeitung aufgrund einer Panic-Situation, eines Traps, einer Segmentierungsverletzung oder einer Ausnahmebedingung nicht fortsetzen kann. In der Standardkonfiguration ruft das Script db2cos db2pd-Befehle zum entsperrten Erfassen von Informationen auf. In einer Konfiguration mit mehreren Partition wird das Script nur fr den Trapagenten auf der betreffenden Partition mit dem Trap aufgerufen. Mssen Informationen von anderen Partitionen erfasst werden, knnen Sie das Script db2cos entsprechend aktualisieren, damit der Befehl db2_all verwendet wird oder die Option -alldbpartitionnums im Befehl db2pd angegeben wird, wenn sich alle Partitionen auf derselben Maschine befinden. Die Signaltypen, die den Aufruf von db2cos auslsen, knnen ebenfalls konfiguriert werden. Hierfr wird der Befehl db2pdcfg -cos verwendet. In der Standardkonfiguration wird das Script db2cos ausgefhrt, wenn entweder eine Panic-Situation oder ein Trap eintritt. Generierte Signale hingegen fhren standardmig nicht zum Start des Scripts db2cos. Eine Panic-Situation, ein Trap, eine Segmentierungsverletzung oder eine Ausnahmebedingung fhrt zu folgenden Ereignissen in der angegebenen Reihenfolge: 1. Eine Trapdatei wird erstellt. 2. Eine Signalroutine wird aufgerufen. 3. Das Script db2cos wird aufgerufen (in Abhngigkeit von den aktivierten db2cos-Einstellungen). 4. Ein Eintrag wird im Protokoll mit Benachrichtigungen fr die Systemverwaltung aufgezeichnet. 5. Ein Eintrag wird in der Datei db2diag.log protokolliert. Die mit dem Befehl db2pd im Script db2cos erfassten Standardinformationen umfassen Angaben zum Betriebssystem, zur Version und zum Service-Level des installierten DB2-Produkts, zum Datenbankmanager und zur Datenbankkonfiguration sowie Angaben zu folgenden Elementen: Status der Agenten, Speicherpools, Speichergruppen, Speicherblcke, Anwendungen, Dienstprogramme, Transaktionen, Pufferpools, Sperren, Transaktionsprotokolle, Tabellenbereiche und Container. Darber hinaus werden Informationen zum Status der dynamischen Cachespeicher, statischen Cachespeicher und Katalogcachespeicher, zu Tabellenund Indexstatistiken und zum Recoverystatus geliefert sowie die reoptimierten SQL-Anweisungen und eine Liste der aktiven Anweisungen angegeben. Sollen weitere Informationen erfasst werden, brauchen Sie das Script db2cos lediglich mit den entsprechenden zustzlichen Befehlen zu aktualisieren.
13
Wird das Script db2cos in der Standardkonfiguration aufgerufen, werden die Ausgabedateien des Scripts in dem Verzeichnis erstellt, das mit dem Konfigurationsparameter DIAGPATH des Datenbankmanagers angegeben wird. Die Namen der Dateien haben das Format db2cosXXXYYY.ZZZ, wobei XXX die Prozess-ID (PID), YYY die Thread-ID (TID) und ZZZ die Datenbankpartitionsnummer (bzw. 000 bei Einzelpartitionsdatenbanken) ist. Tritt ein Trap in mehreren Threads auf, wird das Script db2cos fr jeden Thread separat aufgerufen. Falls eine Kombination aus PID und TID mehr als einmal vorkommt, werden die Daten an die Datei angehngt. Die Iterationen der Ausgabe lassen sich anhand von Zeitmarken unterscheiden. In Abhngigkeit von den im Script db2cos angegebenen Befehlen enthalten die Ausgabedateien des Scripts unterschiedliche Informationen. Wurde das Standardscript nicht gendert, werden Eintrge hnlich den nachstehenden Eintrgen (gefolgt von der ausfhrlichen Ausgabe von db2pd) angezeigt:
2005-10-14-10.56.21.523659 PID : 782348 TID : 1 PROC : db2cos INSTANCE: db2inst1 NODE : 0 DB : SAMPLE APPHDL : APPID: *LOCAL.db2inst1.051014155507 FUNCTION: oper system services, sqloEDUCodeTrapHandler, probe:999 EVENT : Invoking /home/db2inst1/sqllib/bin/db2cos from oper system services sqloEDUCodeTrapHandler Trap Caught Instanz db2inst1 verwendet 64 Bit und DB2-Codefreigabe SQL09010 ... Operating System Information: OSName: AIX NodeName: n1 Version: 5 Release: 2 Machine: 000966594C00 ...
Die Datei db2diag.log enthlt ebenfalls Eintrge, die mit dem Vorkommen in Zusammenhang stehen. Beispiel:
2005-10-14-10.42.17.149512-300 I19441A349 LEVEL: Event PID : 782348 TID : 1 PROC : db2sysc INSTANCE: db2inst1 NODE : 000 FUNCTION: DB2 UDB, trace services, pdInvokeCalloutScript, probe:10 START : Invoking /home/db2inst1/sqllib/bin/db2cos from oper system services sqloEDUCodeTrapHandler 2005-10-14-10.42.23.173872-300 I19791A310 LEVEL: Event PID : 782348 TID : 1 PROC : db2sysc INSTANCE: db2inst1 NODE : 000 FUNCTION: DB2 UDB, trace services, pdInvokeCalloutScript, probe:20 STOP : Completed invoking /home/db2inst1/sqllib/bin/db2cos 2005-10-14-10.42.23.519227-300 E20102A509 LEVEL: Severe PID : 782348 TID : 1 PROC : db2sysc INSTANCE: db2inst1 NODE : 000 FUNCTION: DB2 UDB, oper system services, sqloEDUCodeTrapHandler, probe:10 MESSAGE : ADM0503C Ein unerwarteter interner Verarbeitungsfehler ist aufgetreten. ALLE DIESER INSTANZ ZUGEORDNETEN DB2-PROZESSE WURDEN BEENDET. Diagnoseinformationen wurden aufgezeichnet. Weitere Hilfe erhalten Sie bei der IBM Untersttzungsfunktion. 2005-10-14-10.42.23.520111-300 E20612A642 LEVEL: Severe PID : 782348 TID : 1 PROC : db2sysc INSTANCE: db2inst1 NODE : 000 FUNCTION: DB2 UDB, oper system services, sqloEDUCodeTrapHandler, probe:20 DATA #1 : Signal Number Recieved, 4 bytes
14
Fehlerbehebung
Zugehrige Konzepte: v Informationen von First Failure Data Capture (FFDC) auf Seite 3 v Trapdateien auf Seite 16 Zugehrige Referenzen: v db2pd - Monitor and troubleshoot DB2 database command in Command Reference v db2pdcfg - Configure DB2 database for problem determination behavior command in Command Reference
Speicherauszugsdateien
Speicherauszugsdateien (engl. Dump Files) werden erstellt, wenn ein Fehler auftritt, fr den zustzliche Informationen verfgbar sind, die bei der Diagnose eines Problems ntzlich sein knnten (z. B. interne Steuerblcke). Jedem Datenelement, das in die Speicherauszugsdateien geschrieben wird, wird zur Untersttzung der Problembestimmung eine Zeitmarke zugeordnet. Speicherauszugsdateien liegen im Binrformat vor und sind fr Ansprechpartner der DB2-Kundenuntersttzung gedacht. Wenn eine Speicherauszugsdatei erstellt wird oder an sie Daten angehngt werden, wird ein Eintrag in der Datei db2diag.log aufgezeichnet, der die Uhrzeit und den Typ der geschriebenen Daten angibt. Diese Eintrge in der Datei db2diag.log sehen in etwa wie folgt aus:
2006-03-16-11.53.18.001160 Instance:payroll Node:000 PID:44829(db2agent (SAMPLE)) Appid:*LOCAL.payroll.970317140834 relation_data_serv sqlrerlg Probe:17 Database:SAMPLE DIA9999E An internal return code occurred. Report the following : "0xFFFFE101". Dump File: /home/db2/sqllib/db2dump/56772.000 Data : SECTION STMT 1
Legende: 1 In diesem Beispiel fr UNIX werden SECTION STMT-Daten in einer Datei mit dem Namen 56772.000 gespeichert, die sich im Verzeichnis /home/ db2/sqllib/db2dump befindet.
Anmerkungen: v Bei partitionierten Datenbanksystemen gibt die Erweiterung des Dateinamens die Partitionsnummer an. Zum Beispiel gibt der folgende Eintrag an, dass die Speicherauszugsdatei durch einen DB2-Prozess erstellt wurde, der in Partition 10 ausgefhrt wurde:
Dump File: /home/db2/sqllib/db2dump/56772.010 Data : SECTION STMT
Zugehrige Konzepte: v Informationen von First Failure Data Capture (FFDC) auf Seite 3
15
Trapdateien Trapdateien
DB2 generiert eine Trapdatei, falls DB2 die Verarbeitung aufgrund einer Fehlerunterbrechung (Trap), einer Segmentierungsverletzung oder einer Ausnahmebedingung nicht fortsetzen kann. Alle Signale oder Ausnahmebedingungen, die von DB2 empfangen werden, werden in der Trapdatei aufgezeichnet. Die Trapdatei enthlt auerdem die Funktionsfolge, die aktiv war, als der Fehler aufgetreten ist. Diese Folge wird manchmal auch als Funktionsaufrufstack (engl. function call stack) oder Stack-Traceback bezeichnet. Die Trapdatei enthlt darber hinaus Informationen zum Status des Prozesses, als das Signal oder die Ausnahmebedingung aufgefangen wurde. Die Dateien befinden sich in dem Verzeichnis, das durch den Konfigurationsparameter DIAGPATH des Datenbankmanagers angegeben wird. Unter Linux und UNIX ist der erste Buchstabe im Dateinamen ein t, gefolgt von einer Prozess-ID (PID). Die Dateierweiterung ist die Partitionsnummer (000 fr Datenbanken mit nur einer Partition). Unter Windows erhlt jede Trapdatei einen Namen im Format Pxxxxx.yyy. Hierbei ist xxxxx die Prozess-ID (PID) und yyy die Nummer der Datenbankpartition (bzw. 000 fr Datenbanken mit nur einer Partition). Wenn die Trapdatei aufgrund einer Ausnahmebedingung generiert wird, erhlt sie die Erweiterung .TRP. Es gibt auch Diagnosetraps, die der Code generiert, wenn bestimmte Bedingungen eintreten, die keine Unterbrechung der Instanz rechtfertigen, bei denen aber der Stack ntzliche Informationen enthlt. Der Name dieser Traps besteht aus der PID im Hexadezimalformat, gefolgt von der Partitionsnummer (0 fr Datenbanken mit nur einer Partition). Beispiele: v t56772.000 ist eine Trapdatei fr den Prozess mit der PID 56772. v t56772.010 ist eine Trapdatei fr den Prozess mit der PID 56772. Sie wurde durch einen DB2-Prozess erstellt, der in Partition 10 ausgefhrt wurde. Sie knnen Trapdateien nach Bedarf erstellen, indem Sie den Befehl db2pd mit der Option -stack all oder -dump verwenden. Im Allgemeinen sollte dies jedoch nur auf Anforderung der DB2-Untersttzungsfunktion erfolgen. Zugehrige Konzepte: v Informationen von First Failure Data Capture (FFDC) auf Seite 3 v Systemkerndateien (UNIX) auf Seite 18 Zugehrige Tasks: v berwachung und Fehlerbehebung mit db2pd auf Seite 42 Zugehrige Referenzen: v db2pd - Monitor and troubleshoot DB2 database command in Command Reference
16
Fehlerbehebung
Zugehrige Konzepte: v Informationen von First Failure Data Capture (FFDC) auf Seite 3 v Trapdateien auf Seite 16 Zugehrige Referenzen: v db2xprt - Format trap file command in Command Reference
17
v Windows: Mit den Ereignisprotokolldateien fr System, Sicherheit und Anwendungen sowie mit der Datei windir\drwtsn32.log (wobei windir das WindowsInstallationsverzeichnis ist) Fr jedes Betriebssystem gibt es weitere Trace- und Debugdienstprogramme. Verwenden Sie die Dokumentation und das Untersttzungsmaterial fr Ihr Betriebssystem, um festzustellen, welche Informationen zustzlich zur Verfgung stehen. Anwendungen und Fremdanbieter: Normalerweise verfgt jede Anwendung ber eigene Protokoll- und Diagnosedateien. Diese Dateien ergnzen die DB2-Informationen und vermitteln so ein genaueres Bild mglicher Problembereiche. Hardware: Hardwareeinheiten zeichnen Informationen normalerweise in Betriebssystemfehlerprotokollen auf. In manchen Situationen sind jedoch mglicherweise zustzliche Informationen erforderlich. In diesen Fllen mssen Sie feststellen, welche Hardwarediagnosedateien und -dienstprogramme fr welche Hardwarekomponente in der verwendeten Umgebung verfgbar sind. Ein Beispiel hierfr ist, wenn DB2 eine fehlerhafte Seite oder eine Beschdigung meldet. Normalerweise wird diese Nachricht aufgrund eines Plattenfehlers ausgegeben, was bedeutet, dass die Hardwarediagnose berprft werden muss. Bitte verwenden Sie die Dokumentation und das Untersttzungsmaterial fr die jeweilige Hardware, um festzustellen, welche Informationen zustzlich zur Verfgung stehen. Zusammenfassend lsst sich sagen, dass Sie, um einen Fehler vollstndig zu verstehen und auszuwerten, mglicherweise alle Informationen erfassen mssen, die von DB2, von den Anwendungen, vom Betriebssystem und von der zugrunde liegenden Hardware bereitgestellt werden. Das Tool db2support automatisiert die Erfassung der meisten DB2- und Betriebssysteminformationen, die Sie bentigen; dennoch sollten Sie auch auf Informationen auerhalb dieser Erfassung achten, die bei der Untersuchung von Fehlern ntzlich sein knnen. Zugehrige Konzepte: v Informationen von First Failure Data Capture (FFDC) auf Seite 3
Systemkerndateien (UNIX)
Wenn ein Programm abnormal beendet wird, wird eine Kerndatei (engl. Core File) durch das System erstellt, um ein Speicherimage des beendeten Prozesses zu speichern. Fehler, wie zum Beispiel Speicheradressverletzungen, unzulssige Instruktionen, Busfehler und benutzergenerierte Beendigungssignale fhren zur Generierung von Kerndateien. Die Kerndatei erhlt den Namen core und wird in dem Verzeichnis abgelegt, in dem die Anwendung ausgefhrt wurde. Beachten Sie, dass sich die Systemkerndateien von DB2-Trapdateien unterscheiden. Zugehrige Konzepte: v Informationen von First Failure Data Capture (FFDC) auf Seite 3
18
Fehlerbehebung
Dabei ist programmname der Name des Programms, dass abnormal beendet wurde, und kerndateiname der Name der Datei, die den Kerndateispeicherauszug enthlt. Der Parameter fr den kerndateinamen ist optional. Wenn Sie ihn nicht angeben, wird der Standardname core verwendet. 2. Zum Abruf symbolischer Informationen, kompilieren Sie die Anwendung mit der Option -g. 3. Zum Beenden des Befehls dbx geben Sie quit in die dbx-Eingabeaufforderung ein. 4. Fr das HP-UX-Betriebssystem verwenden Sie den Befehl xdb fr eine hnliche Funktion. 5. Stellen Sie unter AIX sicher, dass die volle Kernoption (Core) mit Hilfe des Befehls chdev oder ber smitty aktiviert wurde. 6. Der Befehl dbx stellt wesentlich mehr Funktionen bereit, als in diesem Abschnitt beschrieben werden. Wenn Sie mehr erfahren mchten, geben Sie den Befehl man dbx ber eine UNIX-Eingabeaufforderung ein. Beispiel fr den Befehl dbx: Das folgende Beispiel zeigt, wie der Befehl dbx verwendet wird, um die Kerndatei fr ein Programm mit dem Namen main zu lesen. 1. Geben Sie in eine Eingabeaufforderung Folgendes ein:
dbx main
2. Auf Ihrem Bildschirm wird eine Ausgabe hnlich der folgenden angezeigt:
dbx version 3.1 for AIX. Type help for help. reading symbolic information ... [using memory image in core] segmentation.violation in freeSegments at line 136 136 (void) shmdt((void *) pcAdress[i]);
3. Der Name der Funktion, die den Kernspeicherauszug verursacht hat, ist freeSegments. Wenn der Funktionsname mit db2, sql oder ddcs beginnt, kann dies auf einen Fehler im Produkt des Datenbankmanagers oder von DB2 ConKapitel 1. Weitere Informationen zu verschiedenen Themen
19
nect hinweisen. Geben Sie where in die dbx-Eingabeaufforderung ein, um den Programmpfad zu der Stelle mit dem Fehler anzuzeigen.
(dbx) where freeSegments(numSegs = 2, iSetId = 0x2ff7f730, pcAddress = 0x2ff7f758, line 136 in "main.c" main (0x1, 2ff7f7d4), line 96 in "main.c"
In diesem Beispiel ist der Fehler in Zeile 136 der Funktion freeSegments aufgetreten, die in Zeile 96 im Programm main.c aufgerufen wurde. 4. Zum Beenden des Befehls dbx geben Sie quit in die dbx-Eingabeaufforderung ein. Zugehrige Konzepte: v Diagnosetools (Linux und UNIX) auf Seite 78 v Systemkerndateien (UNIX) auf Seite 18
20
Fehlerbehebung
der Maschine in der Anzeige konvertiert. So kann es vorkommen, dass Sie aufgrund der Zeitzonendifferenz wichtige Ereignisse bersehen. Darber hinaus sind Textdateien einfacher zu durchsuchen; sobald Sie ein Ereignisprotokoll von einer anderen Maschine in die Ereignisanzeige geladen haben, knnen Sie es einfach erneut im Textformat exportieren. Zugehrige Konzepte: v Informationen von First Failure Data Capture (FFDC) auf Seite 3 Zugehrige Tasks: v Zugreifen auf Ereignisprotokolle (Windows) auf Seite 20
21
v Wofr wird das System sonst noch verwendet? Muss sich DB2 die Ressourcen mit anderen Anwendungen teilen? v Wo findet die Authentifizierung statt? Auf den meisten Plattformen knnen Informationen zu Ressourcen mit Hilfe von einfachen Befehlen abgerufen werden. Allerdings ist es nur selten erforderlich, diese Informationen manuell abzurufen, da diese Daten und viele mehr vom Dienstprogramm db2support erfasst werden. Die Datei detailed_system_info.html, die von db2support generiert wird (sofern die Optionen -s und -m angegeben werden), enthlt die Syntax fr viele der Betriebssystembefehle, die zum Erfassen dieser Informationen verwendet werden. Anhand der folgenden bungen soll gezeigt werden, wie Informationen zur Systemkonfiguration und Benutzerumgebung in den verschiedenen DB2-Diagnosedateien ermittelt werden. Die erste bung illustriert die erforderlichen Schritte zur Ausfhrung des Dienstprogramms db2support. Die nachfolgenden bungen befassen sich mit Trapdateien, die weitere von DB2 generierte Daten bereitstellen, die fr ein besseres Verstndnis der Benutzerumgebung und Ressourcengrenzen ntzlich sein knnen. bung 1: Befehl db2support ausfhren 1. Starten Sie die DB2-Instanz mit Hilfe des Befehls db2start. 2. Erstellen Sie ein Verzeichnis zum Speichern der Befehlsausgabe von db2support. (Hierbei wird davon ausgegangen, dass die Datenbank SAMPLE bereits vorhanden ist.) 3. Wechseln Sie in dieses Verzeichnis, und geben Sie den folgenden Befehl aus:
db2support <verzeichnis> -d sample -s -m
4. berprfen Sie die Konsolausgabe, und achten Sie hierbei insbesondere auf die Typen der erfassten Informationen. Die Befehlsausgabe sollte wie folgt aussehen (unter Windows):
... "Systemdateien" erfassen "db2cache.prf" "db2cos9402136.0" "db2cos9402840.0" "db2dbamr.prf" "db2diag.bak" "db2eventlog.000" "db2misc.prf" "db2nodes.cfg" "db2profile.bat" "db2systm" "db2tools.prf" "HealthRulesV82.reg" "db2dasdiag.log" ... "Detaillierte Betriebssystem- und Hardwareinformationen" erfassen "Systemressourceninformationen (Datentrger, CPU, Speicher)" erfassen "Betriebssystem und -stufe" erfassen "JDK-Stufe" erfassen "DB2-Release-Informationen" erfassen "DB2-Installationspfadinformationen" erfassen "Registrierungsdatenbankinformationen" erfassen ... Endgltiges Ausgabearchiv erstellen "db2support.html" "db2_sqllib_directory.txt" "detailed_system_info.html" "db2supp_system.zip"
22
Fehlerbehebung
"dbm_detailed.supp_cfg" "db2diag.log" db2support ist jetzt beendet. Die folgende Archivdatei wurde erstellt: db2support.zip
5. Zeigen Sie die Datei detailed_system_info.html nun mit einem Web-Browser an. Ermitteln Sie auf jedem System jeweils die folgenden Informationen: v Anzahl der CPUs v Version des Betriebssystems v Benutzerumgebung v Ressourcengrenzwerte fr Benutzer (UNIX-Befehl ulimit) bung 2: Informationen zur Umgebung in einer DB2-Trapdatei ermitteln 1. Stellen Sie sicher, dass eine DB2-Instanz gestartet ist, und geben Sie anschlieend den folgenden Befehl aus:
db2pd -stack all
Die Aufrufstacks werden in Dateien im Diagnoseverzeichnis gestellt (das im Konfigurationsparameter DIAGPATH des Datenbankmanagers definiert ist). 2. Suchen Sie in einer der Trapdateien nach folgenden Informationen: v DB2-Codeversion v Data seg top (dies ist der maximal erforderliche private Adressraum) v Cur data size (dies ist der maximale Grenzwert fr den privaten Adressraum) v Cur core size (dies ist der maximale Grenzwert fr die Kerndatei) v Signalroutinen (diese Information wird unter Umstnden nicht in allen Trapdateien angezeigt) v Umgebungsvariablen (diese Information wird unter Umstnden nicht in allen Trapdateien angezeigt) v Zuordnungsausgabe (zeigt die geladenen Bibliotheken) Beispieltrapdatei aus Windows (abgeschnitten):
... <DB2TrapFile version="1.0"> <Trap> <Header> DB2 build information: DB2 v9.1.0.190 s060121 SQL09010 timestamp: 2006-02-17-14.03.43.846000 uname: S:Windows comment: process id: 940 thread id: 3592 </Header> <SystemInformation> Number of Processors: 1 Processor Type: x86 Family 15 Model 2 Stepping 4 OS Version: Microsoft Windows XP, Service Pack 2 (5.1) Current Build: 2600 </SystemInformation> <MemoryInformation> <Usage> Physical Memory: 1023 total, 568 free. Virtual Memory : 2047 total, 1882 free. Paging File : 2461 total, 2011 free. Ext. Virtual : 0 free. </Usage> </MemoryInformation <EnvironmentVariables> <![CDATA[
Kapitel 1. Weitere Informationen zu verschiedenen Themen
23
[e] DB2PATH=C:\Program Files\IBM\SQLLIB [g] DB2_EXTSECURITY=YES [g] DB2SYSTEM=MYSRVR [g] DB2PATH=C:\Program Files\IBM\SQLLIB [g] DB2INSTDEF=DB2 [g] DB2ADMINSERVER=DB2DAS00 ]]></EnvironmentVariables>
Korrelation zwischen DB2 und Systemereignissen bzw. -fehlern: Systemnachrichten und Fehlerprotokolle werden viel zu hufig ignoriert. Sie knnen bei der Lsung von Problemen Stunden, Tage oder sogar Wochen sparen, wenn Sie sich die Zeit nehmen, ganz am Anfang der Problemdefinition und -untersuchung eine einfache Task auszufhren. Diese Task besteht darin, die Eintrge in verschiedenen Protokollen miteinander zu vergleichen und alles zu notieren, das miteinander in Zusammenhang zu stehen scheint, was die Zeit und die Ressourcen betrifft, auf die die Eintrge verweisen. Die besten Hinweise sind hufig in den Systemprotokollen enthalten, auch wenn diese nicht immer fr die Problemdiagnose relevant sind. Wenn ein gemeldetes Systemproblem mit DB2-Fehlern korreliert, d. h. in Zusammenhang gebracht werden kann, dann ist in vielen Fllen bereits klar, worin die direkte Ursache fr das DB2-Symptom liegt. Offensichtliche Beispiele sind Plattenfehler, Netzfehler und Hardwarefehler. Weniger offensichtlich sind Probleme, die auf verschiedenen Maschinen gemeldet werden, wie beispielsweise auf Domnencontrollern oder NIS-Servern, und die sich auf die Verbindungszeit oder die Authentifizierung auswirken knnen. Systemprotokolle knnen Aufschluss ber die Stabilitt des Systems geben. Dies gilt insbesondere dann, wenn Probleme auf ganz neuen Systemen gemeldet werden. Gelegentlich auftretende Traps in einheitlichen Anwendungen knnen ein Anzeichen dafr sein, dass es sich bei dem zugrunde liegenden Problem um einen Hardwarefehler handelt. Systemprotokolle bieten unter anderem auch folgende Informationen: v Bedeutende Ereignisse, wie beispielweise der Zeitpunkt eines Systemwarmstarts v Zeitliche Abfolge der DB2-Traps im System (sowie Fehler, Traps und Ausnahmebedingungen anderer fehlschlagender Softwarekomponenten) v Fehler aufgrund von Kernel-Notfllen (Panic-Situationen), unzureichendem Dateisystemspeicher und unzureichendem Auslagerungsspeicher (die verhindern knnen, dass das System einen neuen Prozess oder eine neue Prozessverzweigung erstellt) Systemprotokolle knnen dabei helfen, Absturzeintrge in der Datei db2diag.log als Ursache auszuschlieen. Wenn Sie in den DB2-Protokollen mit Benachrichtigungen fr die Systemverwaltung oder in den DB2-Diagnoseprotokollen auf eine Recovery nach Systemabsturz stoen, ohne dass zuvor ein Fehler aufgetreten ist, dann ist diese Recovery von DB2 nach Systemabsturz wahrscheinlich die Folge eines Systemabschlusses. Das Prinzip der Korrelation von Informationen erstreckt sich auch auf Protokolle aus anderen Quellen und auf alle identifizierbaren Benutzersymptome. So kann es beispielsweise sehr ntzlich sein, korrelierende Eintrge aus dem Protokoll einer anderen Anwendung zu identifizieren und zu dokumentieren, selbst wenn Sie die Eintrge nicht vollstndig interpretieren knnen.
24
Fehlerbehebung
Das Ergebnis dieser Informationen ist ein sehr grndliches Verstndnis Ihres Servers und der Gesamtheit der verschiedenen Ereignisse, die zum Zeitpunkt des Fehlers auftreten. Zugehrige Referenzen: v db2pd - Monitor and troubleshoot DB2 database command in Command Reference v db2support - Problem analysis and environment collection tool command in Command Reference
25
26
Fehlerbehebung
Fehlerbehebung - Umgebungen mit partitionierten Datenbanken Absetzen von Befehlen in einer Umgebung mit partitionierten Datenbanken
In einer Umgebung mit partitionierten Datenbanken kann es wnschenswert sein, Befehle absetzen zu knnen, die auf Computern in der Instanz oder auf Datenbankpartitionsservern (Knoten) ausgefhrt werden. Sie haben diese Mglichkeit mit Hilfe des Befehls rah oder des Befehls db2_all. Der Befehl rah ermglicht Ihnen das Absetzen von Befehlen, die Sie auf Computern in der Instanz ausfhren wollen. Wenn Sie die Befehle auf Datenbankpartitionsservern in der Instanz ausfhren wollen, verwenden Sie den Befehl db2_all. Dieser Abschnitt enthlt eine bersicht ber diese Befehle. Die folgenden Informationen beziehen sich ausschlielich auf Umgebungen mit partitionierten Datenbanken. Anmerkungen: 1. Auf Plattformen unter Linux und UNIX kann Ihre Anmeldeshell eine KornShell oder eine beliebige andere Shell sein. Jedoch gibt es Unterschiede in der Art, wie verschiedene Shells Befehle behandeln, die Sonderzeichen enthalten. 2. Darber hinaus verwendet der Befehl rah auf Linux- und UNIX-Plattformen das Programm fr die ferne Shell, das durch die Registrierdatenbankvariable DB2RSHCMD angegeben wird. Sie knnen zwischen den folgenden beiden Programmen fr die ferne Shell whlen: ssh (fr zustzliche Sicherheit) oder rsh (bzw. remsh fr HP-UX). Das Programm ssh fr die ferne Shell wird verwendet, um die bertragung von unverschlsselten Kennwrtern in UNIXBetriebssystemumgebungen zu verhindern. Wenn diese Registrierdatenbankvariable nicht definiert ist, wird rsh (bzw. remsh fr HP-UX) verwendet. 3. Unter Windows mssen Sie mit einem Benutzerkonto angemeldet sein, das zur Administratorengruppe gehrt, um den Befehl rah oder db2_all ausfhren zu knnen. Informationen zum Geltungsbereich eines Befehls finden Sie im Handbuch Command Reference, das Angaben darber enthlt, ob ein Befehl auf einem einzelnen Datenbankpartitionsserver oder auf allen ausgefhrt wird. Wenn der Befehl auf einem Datenbankpartitionsserver ausgefhrt wird und Sie ihn auf allen Datenbankpartitionsservern ausfhren wollen, verwenden Sie dazu den Befehl db2_all.
27
Eine Ausnahme bildet der Befehl db2trc, der in allen logischen Knoten (Datenbankpartitionsservern) auf einem Computer ausgefhrt wird. Wenn Sie den Befehl db2trc in allen logischen Knoten auf allen Computern ausfhren wollen, verwenden Sie dazu den Befehl rah. Zugehrige Konzepte: v bersicht ber die Befehle rah und db2_all in Systemverwaltung: Implementierung v Angeben der Befehle rah und db2_all in Systemverwaltung: Implementierung Zugehrige Referenzen: v Beschreibungen der Befehle rah und db2_all in Systemverwaltung: Implementierung
28
Fehlerbehebung
29
30
Fehlerbehebung
5.
6.
7. 8.
31
9. Ist dies die erste Maschine, die eine Verbindung zu einer fernen Datenbank herstellt? In verteilten Umgebungen knnen Router oder Brcken zwischen Netzwerken die Kommunikation zwischen dem Client und dem Server mglicherweise blockieren. Bei TCP/IP beispielsweise muss sichergestellt werden, dass ein Befehl PING an den fernen Host abgesetzt werden kann. Anmerkung: DB2 Connect untersttzt den Befehl PING nicht, wenn dieser Befehl von einem Client der Version 7 ber einen DB2 ConnectServer der Version 9 abgesetzt wird. Zugehrige Konzepte: v Fehlerbestimmung auf Seite 29 v Tracedienstprogramm auf Seite 58
Diagnosetools
Folgende Tools stehen zur Verfgung, um den Benutzer bei auftretenden Problemen oder Fehlern zu untersttzen: v Das Serviceprotokoll des DB2-Diagnoseprogramms, in dem Diagnoseinformationen konsolidiert und in einem lesbaren Format gespeichert werden. Es befindet sich im Protokoll mit Benachrichtigungen fr die Systemverwaltung. v Beide Protokolle befinden sich im angegebenen Pfad: Diese Datei befindet sich auf UNIX-Systemen im Verzeichnis /u/db2/sqllib/ db2dump/notifyloglevel.nfy, wobei db2 den Instanznamen darstellt. Auf Windows-Systemen befindet sich diese Datei im Verzeichnis x:\sqllib\db2\ db2diag.log, wobei x: das logische Laufwerk und db2 den Instanznamen darstellt. v Bei Windows-Betriebssystemen: Die Ereignisanzeige zum Aufrufen des Protokolls mit Benachrichtigungen fr die Systemverwaltung. v Das Tracedienstprogramm. v Bei Linux- und UNIX-Betriebssystemen: Der Befehl ps, der Informationen zum Status von aktiven Prozessen an die Standardausgabe zurckgibt. v Bei UNIX-Betriebssystemen: Die Kerndatei, die beim Auftreten schwer wiegender Fehler im aktuellen Verzeichnis erstellt wird. Diese Datei enthlt ein Speicherimage des beendeten Prozesses und kann verwendet werden, um zu ermitteln, welche Funktion den Fehler verursacht hat. Zugehrige Konzepte: v DB2 Connect-Fehlerbehebung in DB2 Connect Benutzerhandbuch v Tracedienstprogramm auf Seite 58
32
Fehlerbehebung
33
Auf diese Weise wrden Sie nur die Datenstze in db2diag.log sehen, die DB: SAMPLE enthalten, wie z. B. der folgende Datensatz:
2006-02-15-19.31.36.114000-300 E21432H406 LEVEL: Error PID : 940 TID : 660 PROC : db2syscs.exe INSTANCE: DB2 NODE : 000 DB : SAMPLE APPHDL : 0-1056 APPID: *LOCAL.DB2.060216003103 FUNCTION: DB2 UDB, base sys utilities, sqleDatabaseQuiesce, probe:2 MESSAGE : ADM7507W Die Anforderung, ein Quiesce fr die Datenbank durchzufhren, war erfolgreich.
Beispiel 2: Datei db2diag.log nach Prozess-ID filtern: Mit Hilfe des folgenden Befehls knnen alle Nachrichten zu schwer wiegenden Fehlern angezeigt werden, die von Prozessen in den Partitionen 0, 1, 2 oder 3 mit der Prozess-ID (PID) 2200 generiert werden:
db2diag -g level=Severe,pid=940 -n 0,1,2,3
Bitte beachten Sie, dass dieser Befehl auf verschiedene Arten und Weisen geschrieben werden knnte, einschlielich db2diag -l severe -pid 2200 -n 0,1,2,3. Des Weiteren ist zu beachten, dass mit der Option -g eine von der Gro-/Kleinschreibung abhngige Suche angegeben wird, sodass in diesem Fall Severe funktionieren, die Angabe von severe jedoch fehlschlagen wrde. Mit diesen Befehlen knnen erfolgreich die Datenstze in der Datei db2diag.log abgerufen werden, die diese Kriterien erfllen, wie beispielsweise folgender Datensatz:
2006-02-13-14.34.36.027000-300 I18366H421 LEVEL: Severe PID : 940 TID : 660 PROC : db2syscs.exe INSTANCE: DB2 NODE : 000 DB : SAMPLE APPHDL : 0-1433 APPID: *LOCAL.DB2.060213193043 FUNCTION: DB2 UDB, data management, sqldPoolCreate, probe:273 RETCODE : ZRC=0x8002003C=-2147352516=SQLB_BAD_CONTAINER_PATH "Der Pfad des Containers ist ungltig"
Beispiel 3: Ausgabe des Tools db2diag formatieren: Mit dem folgenden Befehl werden alle Datenstze herausgefiltert, die nach dem 1. Januar 2006 erstellt wurden, nicht schwer wiegende sowie schwer wiegende Fehler enthalten und in den Partitionen 0, 1 oder 2 gespeichert sind. Die Ausgabe der bereinstimmenden Datenstze (wie beispielsweise der Zeitmarke, der Partitionsnummer und der Fehlerkategorie) erfolgt in der ersten Zeile, die Ausgabe der PID, TID und des Instanznamens erfolgt in der zweiten Zeile und die Ausgabe der Fehlernachricht im Anschluss daran:
db2diag -time 2006-01-01 -node "0,1,2" -level "Severe, Error" | db2diag -fmt "Time: %{ts} Partition: %node Message Level: %{level} \nPid: %{pid} Tid: %{tid} Instance: %{instance}\nMessage: @{msg}\n"
Beispielausgabe:
Time: 2006-02-15-19.31.36.099000 Partition: 000 Message Level: Error Pid: 940 Tid:940 Instance: DB2 Message: ADM7506W Es besteht eine Anforderung, ein Quiesce fr die Datenbank durchzufhren.
Wenn Sie weitere Informationen bentigen, geben Sie die folgenden Befehle aus: v db2diag -help (liefert eine Kurzbeschreibung der Optionen) v db2diag -h brief (liefert eine Beschreibung aller Optionen ohne Beispiele) v db2diag -h notes (liefert Hinweise zur Verwendung und Informationen zu Einschrnkungen) v db2diag -h examples (liefert eine Reihe von Beispielen fr die ersten Schritte) v db2diag -h tutorial (liefert Beispiele zu allen verfgbaren Optionen)
34
Fehlerbehebung
v db2diag -h all (liefert die umfangreichste Liste von Optionen) Zugehrige Konzepte: v Informationen von First Failure Data Capture (FFDC) auf Seite 3 Zugehrige Referenzen: v db2diag - db2diag.log analysis tool command in Command Reference
Durch die Kombination der vier Informationstoken wird der genaue Service-Level der verwendeten DB2-Instanz eindeutig identifiziert. Diese Informationen mssen unbedingt vorliegen, wenn Sie sich an die IBM Untersttzungsfunktion wenden.
35
Fr JDBC- oder SQLJ-Anwendungen: Wenn Sie den IBM DB2-Treiber fr SQLJ und JDBC verwenden, knnen Sie die Version des Treibers ermitteln, indem Sie das Dienstprogramm db2jcc ausfhren.
db2jcc -version IBM DB2 JDBC Driver Architecture 2.3.63
Zugehrige Konzepte: v Neue Funktionen fr Version 9.1: Koexistenz mehrerer DB2-Versionen und -Fixpacks (Linux und UNIX) in Neue Funktionen v Neue Funktionen fr Version 9.1: Koexistenz mehrerer DB2-Versionen und -Fixpacks (Windows) in Neue Funktionen Zugehrige Tasks: v Auflisten von DB2-Produkten, die auf dem System installiert sind (Linux und UNIX) auf Seite 40 Zugehrige Referenzen: v db2level - Show DB2 service level command in Command Reference v db2ls - List installed DB2 products and features command in Command Reference v db2support - Problem analysis and environment collection tool command in Command Reference
36
Fehlerbehebung
Verwenden von db2look zum Nachahmen der Tabellen in einer Datenbank: Um die DDL fr die Tabellen in der Datenbank zu extrahieren, verwenden Sie die Option -e. Erstellen Sie beispielsweise wie folgt von der Datenbank SAMPLE eine Kopie namens SAMPLE2, in der alle Objekte erstellt werden, die auch in der ersten Datenbank vorhanden sind:
C:\>db2 create database sample2 DB20000I Der Befehl CREATE DATABASE wurde erfolgreich ausgefhrt. C:\>db2look -d sample -e > sample.ddl -- USER ist: -- DLL fr Tabelle(n) wird erstellt -- Automatisches Binden des Pakets ... -- Binden war erfolgreich -- Automatisches Binden des Pakets ... -- Binden war erfolgreich
Anmerkung: Soll die DDL fr die benutzerdefinierten Speicherbereiche, Datenbankpartitionsgruppen und Pufferpools ebenfalls erzeugt werden, fgen Sie im obigen Befehl nach der Markierung -e die Markierung -l hinzu. Die standardmigen Datenbankpartitionsgruppen, Pufferpools und Tabellenbereiche werden nicht extrahiert. Dies liegt daran, dass sie in jeder Datenbank bereits standardmig vorhanden sind. Wenn Sie diese Elemente ebenfalls nachahmen wollen, mssen Sie sie manuell ndern. Rufen Sie die Datei sample.ddl in einem Texteditor auf. Da die DDL in dieser Datei fr die neue Datenbank ausgefhrt werden soll, mssen Sie die Anweisung CONNECT TO SAMPLE in CONNECT TO SAMPLE2 ndern. Wurde die Option -l verwendet, mssen Sie unter Umstnden die Pfade der Tabellenbereichsbefehle so ndern, dass sie ebenfalls auf die entsprechenden Pfade zeigen. Betrachten Sie bei dieser Gelegenheit auch den Rest des Inhalts der Datei. Die Anweisungen CREATE TABLE, ALTER TABLE und CREATE INDEX sollten fr alle Benutzertabellen in der Beispieldatenbank vorhanden sein:
... ------------------------------------------------- DDL-Anweisungen fr Tabelle "DB2"."ORG" -----------------------------------------------CREATE TABLE "DB2"."ORG" ( "DEPTNUMB" SMALLINT NOT NULL , "DEPTNAME" VARCHAR(14) , "MANAGER" SMALLINT , "DIVISION" VARCHAR(10) , "LOCATION" VARCHAR(13) ) IN "USERSPACE1" ; ...
Nachdem Sie die Verbindungsanweisung CONNECT gendert haben, fhren Sie die Anweisungen wie folgt aus:
C:\>db2 -tvf sample.ddl > sample2.out
Werfen Sie einen Blick auf die Ausgabedatei sample2.out - alle Operationen mssen erfolgreich ausgefhrt worden sein. Traten Fehler auf, mssen diese in entsprechenden Fehlernachrichten angegeben sein. Beheben Sie eventuelle Fehler, und fhren Sie die Anweisung anschlieend erneut aus. Wie Sie der Ausgabe entnehmen knnen, wurde die DDL fr alle Benutzertabellen exportiert. Dies ist das Standardverhalten. Es stehen jedoch weitere Optionen zur
37
Verfgung, um genauer anzugeben, welche Tabellen eingeschlossen werden sollen. Um beispielsweise nur die Tabellen STAFF und ORG einzuschlieen, verwenden Sie die Option -t wie folgt:
C:\>db2look -d sample -e -t staff org > staff_org.ddl
Um nur Tabellen mit dem Schema DB2 einzuschlieen, verwenden Sie die Option -z wie folgt:
C:\>db2look -d sample -e -z db2 > db2.ddl
Nachahmen von Statistikdaten fr Tabellen: Soll mit Hilfe der Testdatenbank die Leistung berprft oder ein Leistungsproblem behoben werden, mssen die fr beide Datenbanken generierten Zugriffsplne unbedingt identisch sein. Das Optimierungsprogramm generiert Zugriffsplne auf der Grundlage von Statistikdaten, Konfigurationsparametern, Registrierdatenbankvariablen und Umgebungsvariablen. Sind diese Elemente auf beiden Systemen identisch, trifft dies sehr wahrscheinlich auch auf die Zugriffsplne zu. Wurden in beide Datenbanken genau die gleichen Daten geladen und werden fr beide Datenbanken die gleichen Optionen von RUNSTATS ausgefhrt, sollten die Statistikdaten identisch sein. Enthalten die Datenbanken jedoch unterschiedliche Daten oder wird in der Testdatenbank nur eine Untergruppe von Daten verwendet, weisen die Statistikdaten wahrscheinlich groe Unterschiede auf. In diesem Fall knnen Sie mit Hilfe von db2look die Statistikdaten aus der Produktionsdatenbank zusammenstellen und in die Testdatenbank stellen. Dazu erstellen Sie UPDATEAnweisungen fr die Gruppe SYSSTAT der aktualisierbaren Katalogtabellen sowie RUNSTATS-Befehle fr alle Tabellen. Die Option zum Erstellen der Statistikanweisungen lautet -m. Gehen Sie noch einmal zum Beispiel SAMPLE/SAMPLE2 zurck, stellen Sie die Statistikdaten aus der Datenbank SAMPLE zusammen, und fgen Sie diese der Datenbank SAMPLE2 hinzu:
C:\>db2look -d sample -m > stats.dml -- USER ist: -- db2look wird im Nachahmungsmodus ausgefhrt
Wie zuvor muss in der Ausgabedatei die Anweisung CONNECT TO SAMPLE in CONNECT TO SAMPLE2 gendert werden. Betrachten Sie wiederum auch im Rest der Datei, wie die RUNSTATS- und UPDATE-Anweisungen aussehen:
... -- Tabelle ORG nachahmen RUNSTATS ON TABLE "DB2"."ORG" ; UPDATE SYSSTAT.INDEXES SET NLEAF=-1, NLEVELS=-1, FIRSTKEYCARD=-1, FIRST2KEYCARD=-1, FIRST3KEYCARD=-1, FIRST4KEYCARD=-1, FULLKEYCARD=-1, CLUSTERFACTOR=-1, CLUSTERRATIO=-1, SEQUENTIAL_PAGES=-1, PAGE_FETCH_PAIRS=, DENSITY=-1, AVERAGE_SEQUENCE_GAP=-1, AVERAGE_SEQUENCE_FETCH_GAP=-1, AVERAGE_SEQUENCE_PAGES=-1,
38
Fehlerbehebung
AVERAGE_SEQUENCE_FETCH_PAGES=-1, AVERAGE_RANDOM_PAGES=-1, AVERAGE_RANDOM_FETCH_PAGES=-1, NUMRIDS=-1, NUMRIDS_DELETED=-1, NUM_EMPTY_LEAFS=-1 WHERE TABNAME = ORG AND TABSCHEMA = DB2 ...
hnlich der Option -e, mit der die DDL extrahiert wird, knnen die Optionen -t und -z verwendet werden, um eine Gruppe von Tabellen anzugeben. Extrahieren von Konfigurationsparametern und Umgebungsvariablen: Das Optimierungsprogramm whlt Zugriffsplne auf der Grundlage von Statistikdaten, Konfigurationsparametern, Registrierdatenbankvariablen und Umgebungsvariablen aus. Wie bei den Statistikdaten kann db2look verwendet werden, um die erforderlichen UPDATE- und SET-Anweisungen fr die Konfiguration zu generieren. Hierfr wird die Option -f verwendet. Beispiel:
c:\>db2look -d sample -f>config.txt -- USER ist: DB2INST1 -- Automatisches Binden des Pakets ... -- Binden war erfolgreich -- Automatisches Binden des Pakets ... -- Binden war erfolgreich
Die Ausgabe in der Datei config.txt sieht etwa wie folgt aus:
------Diese CLP-Datei wurde erstellt mit DB2LOOK Version 9.1 Zeitmarke: 2/16/2006 7:15:17 PM Datenbankname: SAMPLE Datenbankmanagerversion: DB2/NT Version 9.1.0 Codepage der Datenbank: 1252 Sortierfolge fr Datenbank lautet: UNIQUE
CONNECT TO SAMPLE; -------------------------------------------------------------- Konfigurationsparameter fr Datenbank und Datenbankmanager ------------------------------------------------------------UPDATE UPDATE UPDATE UPDATE ... ---------------------------------------- Einstellungen der Umgebungsvariablen --------------------------------------COMMIT WORK; CONNECT RESET; DBM DBM DBM DBM CFG CFG CFG CFG USING USING USING USING cpuspeed 2.991513e-007; intra_parallel NO; comm_bandwidth 100.000000; federated NO;
Anmerkung: Es werden nur die Parameter und Variablen eingeschlossen, die sich auf den DB2-Compiler auswirken. Wenn eine Registrierdatenbankvariable, die sich auf den Compiler auswirkt, auf ihren Standardwert gesetzt wird, wird sie unter den Einstellungen der Umgebungsvariablen nicht aufgefhrt.
Kapitel 4. Tools fr die Fehlerbehebung
39
Zugehrige Konzepte: v Statistiken zur Modellierung von Produktionsdatenbanken in Systemverwaltung: Optimierung Zugehrige Referenzen: v db2look - DB2 statistics and DDL extraction tool command in Command Reference
Auflisten von DB2-Produkten, die auf dem System installiert sind (Linux und UNIX)
Die Mglichkeit, mehrere Kopien von DB2-Produkten auf einem einzigen System zu installieren und fr die DB2-Produkte und -Features einen bestimmten Installationspfad anzugeben, fhrt zu einer hheren Flexibilitt, macht jedoch auch ein Tool erforderlich, mit dem sich verfolgen lsst, welche Produkte in welchen Verzeichnissen installiert sind. Unter untersttzten Linux- und UNIX-Betriebssystemen knnen die auf einem System installierten DB2-Produkte und -Features einschlielich der HTML-Dokumentation zu DB2 Version 9 mit dem Befehl db2ls aufgelistet werden. Der Befehl db2ls listet folgende Informationen auf: v Die Verzeichnisse und der DB2-nderungsstand von DB2-Produkten, die auf dem System installiert sind v Alle oder bestimmte DB2-Produkte und -Features in einem bestimmten Installationspfad Voraussetzungen: Es muss mindestens ein DB2 Produkt der Version 9 installiert sein, damit ein symbolischer Link zum Befehl db2ls im Verzeichnis /usr/local/bin verfgbar ist. Einschrnkungen: DB2-Produkte knnen nur mit dem Befehl db2ls abgefragt werden. Sie knnen DB2-Produkte nicht mit systemeigenen Dienstprogrammen von Linux- oder UNIXBetriebssystemen abfragen. Vorhandene Scripts mit einem systemeigenen Installationsdienstprogramm, die Sie als Schnittstelle und Abfragemglichkeit fr DB2Installationen verwenden, mssen entsprechend gendert werden. Der Befehl db2ls kann nicht unter einem Windows-Betriebssystem verwendet werden. Vorgehensweise: Geben Sie Folgendes ein, um die Verzeichnisse und den DB2-nderungsstand von DB2-Produkten, die auf dem System installiert sind, aufzulisten:
db2ls
Dieser Befehl listet folgende Informationen fr die einzelnen, auf dem System installierten DB2-Produkte auf: v Installationspfad v Version v Fixpack
40
Fehlerbehebung
v Installationsdatum mit Angabe zur letzten nderung des DB2-Produkts Informationen zu DB2-Produkten und -Features in einem bestimmten Installationspfad werden bei Angabe des Parameters q aufgelistet:
db2ls -q -b basisinstallationsverzeichnis
Dabei gilt Folgendes: v q gibt an, dass ein Produkt bzw. eine Feature abgefragt wird. Dieser Parameter muss angegeben werden. Wird ein DB2-Produkt von Version 8 abgefragt, wird ein Leerwert zurckgegeben. v b gibt das Installationsverzeichnis fr das Produkt bzw. die Feature an. Dieser Parameter muss angegeben werden, wenn Sie den Befehl nicht im Installationsverzeichnis ausfhren. Je nach Parametern zeigt der Befehl die folgende Angabe an: v Installationspfad. Diese Information wird nur ein Mal angegeben und nicht fr jede einzelne Feature wiederholt. v Die folgenden Angaben werden angezeigt: Die Antwort-ID fr die installierte Feature bzw. bei Angabe der Option p die Antwort-ID fr das installierte Produkt, z. B. ENTERPRISE_SERVER_EDITION Der Name der Feature bzw. bei Angabe der Option p der Name des Produkts Die Version, das Release, die Modifikationsstufe und die Fixpack-Version (VRMF) des Produkts, z. B. 9.1.0.0 Das Fixpack (soweit zutreffend). Ist z. B. Fixpack 1 installiert, wird der Wert 1 angezeigt. Dies schliet vorlufige Fixpacks, z. B. Fixpack 1a, ein. v Stimmt eine der VRMF-Angaben eines Produkts nicht mit den brigen Angaben berein, wird am Ende der ausgegebenen Liste eine entsprechende Warnung angezeigt. In dieser Nachricht wird ein Fixpack empfohlen, das angewendet werden sollte. Zugehrige Konzepte: v Mehrere DB2-Kopien auf demselben Computer (Linux und UNIX) in Installation und Konfiguration Ergnzung Zugehrige Tasks: v Installieren eines DB2-Produkts mit Hilfe des Befehls db2_install oder doce_install (Linux und UNIX) in Installation und Konfiguration Ergnzung v Entfernen der DB2-Produkte mit dem Befehl db2_deinstall bzw. doce_install (Linux und UNIX) in DB2-Server - Einstieg v Verwenden des Assistenten fr die Auswahl der DB2-Standardkopie (Windows) in DB2-Server - Einstieg Zugehrige Referenzen: v db2ls - List installed DB2 products and features command in Command Reference v Mehrere DB2-Kopien - bersicht ber die Informationen in Systemverwaltung: Implementierung
41
42
Fehlerbehebung
Suchen Sie die db2cos-Ausgabedateien. Die Speicherposition der Dateien wird vom Konfigurationsparameter DIAGPATH des Datenbankmanagers gesteuert. Der Inhalt der Ausgabedateien ist unterschiedlich und hngt davon ab, welche Befehle Sie in die Datei db2cos eingeben. Es folgt ein Beispiel fr die bereitgestellte Ausgabe, wenn die Datei db2cos den Befehl db2pd -db sample -locks enthlt:
Lock Timeout Caught Thu Feb 17 01:40:04 EST 2006 Instance DB2 Datbase: SAMPLE Partition Number: 0 PID: 940 TID: 2136 Function: sqlplnfd Component: lock manager Probe: 999 Timestamp: 2006-02-17-01.40.04.106000 AppID: *LOCAL.DB2... AppHdl: <snip> Database Partition 0 -- Database SAMPLE -- Active -- Up 0 days 00:06:53 Locks: Address TranHdl Lockname Type Mode Sts Owner Dur HldCnt Att Rlse 0x402C6B30 3 00020003000000040000000052 Row ..X W* 3 1 0 0 0x40
Suchen Sie nach W*; dies gibt die Sperre an, bei der die Zeitlimitberschreitung auftrat. Sie knnen diese einer Transaktion, einer Anwendung, einem Agenten und sogar einer SQL-Anweisung mit der gesamten vom Befehl db2pd bereitgestellten Ausgabe zuordnen. Sie knnen die Ausgabe einschrnken oder andere Befehle verwenden, um die gewnschten Informationen zu erfassen. So knnen Sie beispielsweise die Optionen des Befehls db2pd ndern und die Option -locks wait verwenKapitel 4. Tools fr die Fehlerbehebung
43
den, mit der nur die Sperren mit Wartestatus ausgegeben werden. Darber hinaus knnen Sie bei Bedarf die Optionen -app und -agent angeben. Szenario 2: Zuordnung einer Anwendung zu einer dynamischen SQL-Anweisung Der Befehl db2pd -applications listet die aktuelle und letzte Anker-ID sowie die eindeutige Anweisungs-ID fr dynamische SQL-Anweisungen auf. Dies ermglicht eine direkte Zuordnung von einer Anwendung zu einer dynamischen SQL-Anweisung.
db2pd -app -dyn Applications: Address AppHandl [nod-index] NumAgents 0x00000002006D2120 780 [000-00780] 1 CoorPid Status 10615 UOW-Executing
C-AnchID C-StmtUID L-AnchID L-StmtUID Appid 163 1 110 1 *LOCAL.jmcmahon.050202200412 Dynamic SQL Statements: Address AnchID StmtUID NumEnv NumVar NumRef NumExe Text 0x0000000220A02760 163 1 2 2 2 1 CREATE VIEW MYVIEW 0x0000000220A0B460 110 1 2 2 2 1 CREATE VIEW YOURVIEW
Szenario 3: berwachung der Speicherbelegung Der Befehl db2pd -memblock kann Ihnen dabei helfen, sich einen berblick ber die Speicherbelegung zu verschaffen. Beispiel:
All memory blocks in DBMS set. Address 0x0780000000740068 0x0780000000725688 0x07800000001F4348 0x07800000001B5608 0x07800000001A0068 0x07800000001A00E8 0x07800000001A0208 0x07800000001A0288 0x0780000000700068 0x07800000007001E8 0x0780000000700248 ... PoolID 62 62 57 57 57 57 57 57 70 70 70 PoolName resynch resynch ostrack ostrack ostrack ostrack ostrack ostrack apmh apmh apmh BlockAge 2 1 6 5 1 2 3 4 1 2 3 Size(Bytes) 112 108864 5160048 240048 80 240 80 80 360 48 32 I 1 1 1 1 1 1 1 1 1 1 1 LOC 1746 127 3047 3034 2970 2983 2999 3009 1024 914 1000 File 1583816485 1599127346 698130716 698130716 698130716 698130716 698130716 698130716 3878879032 1937674139 1937674139
44
Fehlerbehebung
1 1 1
Im letzten Abschnitt der Ausgabe werden die Speicherkonsumenten fr die gesamte Gruppe sortiert:
All memory PoolID 57 50 50 57 50 62 72 69 50 70 69 50 50 52 50 ... consumers PoolName ostrack sqlch sqlch ostrack sqlch resynch eduah krcbh sqlch apmh krcbh sqlch sqlch kerh sqlch in DBMS memory set: TotalSize(Bytes) 5160048 778496 271784 240048 144464 108864 108048 73640 43752 40200 32992 31000 25456 15376 14697 %Bytes 71.90 10.85 3.79 3.34 2.01 1.52 1.51 1.03 0.61 0.56 0.46 0.43 0.35 0.21 0.20 TotalCount 1 1 1 1 1 1 1 5 1 2 1 31 31 1 1 %Count 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.36 0.07 0.14 0.07 2.20 2.20 0.07 0.07 LOC 3047 202 260 3034 217 127 174 547 274 121 838 633 930 157 345 File 698130716 2576467555 2576467555 698130716 2576467555 1599127346 4210081592 4210081592 2576467555 2986298236 698130716 3966224537 3966224537 1193352763 2576467555
Sie knnen Hauptspeicherblcke auch fr privaten Speicher unter UNIX und Linux auflisten. Beispiel:
db2pd -memb pid=159770 All memory blocks in Private set. Address PoolID 0x0000000110469068 88 0x0000000110469A48 88 0x000000011046A0A8 88 0x000000011046B408 88 0x000000011046D0C8 88 0x000000011046D108 88 0x000000011046EB68 88 0x000000011046EC28 88 0x000000011046EC68 88 0x000000011046EE28 88 0x000000011046F288 88 0x0000000110470028 88 0x00000001104700A8 88 0x00000001104702A8 88 0x0000000110499FA8 88 Total set size: 94847 bytes PoolName private private private private private private private private private private private private private private private BlockAge 1 2 3 4 5 6 7 8 9 10 11 12 13 14 80 Size(Bytes) 2488 1608 4928 7336 32 6728 168 24 408 1072 3464 80 480 480 65551 I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 LOC 172 172 172 172 172 172 172 172 172 172 172 172 1534 1939 1779 File 4283993058 4283993058 4283993058 4283993058 4283993058 4283993058 4283993058 4283993058 4283993058 4283993058 4283993058 4283993058 862348285 862348285 4231792244
Memory blocks sorted by size: PoolID PoolName TotalSize(Bytes) 88 private 65551 88 private 28336 88 private 480 88 private 480 Total set size: 94847 bytes
TotalCount 1 12 1 1
Szenario 4: Ermitteln, welche Anwendung den Tabellenbereich belegt Mit db2pd -tcbstats knnen Sie die Anzahl der Einfgungen (Inserts) fr eine Tabelle ermitteln. Es folgen Beispielinformationen zu einer expliziten temporren Tabelle namens TEMP1:
Kapitel 4. Tools fr die Fehlerbehebung
45
TCB Table Information: Address TbspaceID TableID PartID MasterTbs MasterTab TableName SchemaNm ObjClass DataSize LfSize LobSize XMLSize 0x0780000020B62AB0 3 2 n/a 3 2 TEMP1 SESSION Temp 966 0 0 0 TCB Table Stats: Address TableName Inserts Updates Deletes 0x0780000020B62AB0 TEMP1 43968 0 0 Scans UDI PgReorgs OvFlReads OvFlCrtes 0 0 0 0 0 NoChgUpdts 0 Reads 0 FscrUpdates 0
Sie knnen anschlieend die Informationen zu Tabellenbereich 3 mit Hilfe des Befehls db2pd -tablespaces abrufen. Die Beispielausgabe sieht wie folgt aus:
Tablespace 3 Configuration: Address Type Content PageSz ExtentSz Auto Prefetch BufID BufIDDisk FSC NumCntrs MaxStripe LastConsecPg Name 0x0780000020B1B5A0 DMS UsrTmp 4096 32 Yes 32 1 1 On 1 0 31 TEMPSPACE2 Tablespace 3 Statistics: Address TotalPgs UsablePgs UsedPgs State MinRecTime NQuiescers 0x0780000020B1B5A0 5000 4960 1088 0x00000000 0 0 Tablespace 3 Autoresize Statistics: Address AS AR InitSize IncSize 0x0780000020B1B5A0 No No 0 0 Containers: Address ContainNum Type 0x0780000020B1DCC0 0 File TotalPgs 5000 PndFreePgs FreePgs 0 IIP MaxSize No 0 3872 HWM 1088
Durch Vergleich der Tabelle UsablePgs mit dem Wert fr TotalPages lsst sich feststellen, dass der Speicherbereich aufgefllt wird. Auf der Basis dieser Informationen knnen Sie die dynamische SQL-Anweisung identifizieren, die die Tabelle TEMP1 verwendet.
db2pd -db sample -dyn Database Partition 0 -- Database SAMPLE -- Active -- Up 0 days 00:13:06 Dynamic Cache: Current Memory Used Total Heap Size Cache Overflow Flag Number of References Number of Statement Inserts Number of Statement Deletes Number of Variation Inserts Number of Statements 1022197 1271398 0 237 32 13 21 19
Dynamic SQL Statements: Address AnchID StmtUID NumEnv NumVar NumRef NumExe Text 0x0000000220A08C40 78 1 2 2 3 2 declare global temporary table temp1 (c1 char(6)) not logged 0x0000000220A8D960 253 1 1 1 24 24 insert into session.temp1 values(TEST)
Schlielich knnen Sie dieses Ergebnis einer mit db2pd -app erstellten Ausgabe zuordnen, um die Anwendung zu identifizieren.
46
Fehlerbehebung
Die Ausgabe von db2pd -agent zeigt die Anzahl der geschriebenen Zeilen zur Besttigung.
Address AppHandl [nod-index] AgentPid 0x0000000200698080 501 [000-00501] 11246 State ClientPid Inst-Active 26377 Userid ClientNm Rowsread db2inst1 db2bp 22 Priority 0 Rowswrtn 9588 Type DBName Coord SAMPLE LkTmOt NotSet
Die Schritte sind geringfgig anders, wenn Sie vermuten, dass eine implizite temporre Tabelle den Tabellenbereich auffllt. Sie wrden weiterhin den Befehl db2pd -tcbstats verwenden, um die Tabellen mit einer groen Anzahl an Einfgungen (Inserts) zu ermitteln. Es folgen Beispielinformationen zu einer impliziten temporren Tabelle:
TCB Table Information: Address TbspaceID TableID SchemaNm ObjClass DataSize ... 0x0780000020CC0D30 1 2 <JMC Temp 2470 ... 0x0780000020CC14B0 1 3 <JMC Temp 2367 ... 0x0780000020CC21B0 1 4 <JMC Temp 1872 ... TCB Table Stats: Address TableName Inserts ... 0x0780000020CC0D30 TEMP(00001,00002) 0x0780000020CC14B0 TEMP(00001,00003) 0x0780000020CC21B0 TEMP(00001,00004) PartID MasterTbs MasterTab TableName n/a n/a n/a 1 1 1 2 3 4 PgReorgs 0 0 0 TEMP (00001,00002) <30> TEMP (00001,00003) <31> TEMP (00001,00004) <30> NoChgUpdts Reads 0 0 0 0 0 0 FscrUpdates 0 0 0 43219 ... 42485 ... 0 ...
Scans UDI 0 0 0 0 0 0
In diesem Beispiel liegt eine groe Anzahl an Einfgungen in Tabellen mit der Namenskonvention TEMP (Tabellenbereichs-ID, Tabellen-ID) vor. Hierbei handelt es sich um implizite temporre Tabellen. Die Werte in der Spalte SchemaNm fr den Schemanamen folgen der Namenskonvention <Anwendungskennung><Schemaname>, sodass es mglich ist, die Anwendung zu identifizieren, die die Verarbeitung durchfhrt. Anschlieend knnen Sie diese Informationen der mit db2pd -tablespaces generierten Ausgabe zuordnen, um den verwendeten Speicherplatz fr Tabellenbereich 1 zu ermitteln. Beachten Sie den Wert in Spalte UsedPgs (verwendete Seiten) im Zusammenhang mit dem Wert in Spalte UsablePgs (verwendbare Seiten) in den Tabellenbereichsstatistiken.
Tablespace Configuration: Address Id Type Content PageSz ExtentSz Auto Prefetch BufID BufIDDisk FSC NumCntrs MaxStripe LastConsecPg Name 0x07800000203FB5A0 1 SMS SysTmp 4096 32 Yes 320 1 1 On 10 0 31 TEMPSPACE1 Tablespace Statistics: Address Id TotalPgs UsablePgs UsedPgs PndFreePgs FreePgs State MinRecTime NQuiescers 0x07800000203FB5A0 1 6516 6516 6516 0 0 0x00000000 0 0 Tablespace Autoresize Statistics: Address Id AS AR InitSize IncSize IIP MaxSize LastResize
Kapitel 4. Tools fr die Fehlerbehebung
HWM 0 LRF
47
No
No
No
None
No
Anschlieend knnen Sie mit Hilfe des Befehls db2pd -app die Anwendungskennungen 30 und 31 identifizieren (da diese in der von -tcbstats generierten Ausgabe enthalten waren):
Applications: Address AppHandl [nod-index] NumAgents CoorPid Status C-StmtUID L-AnchID L-StmtUID Appid 0x07800000006FB880 31 [000-00031] 1 4784182 UOW-Waiting 0 107 1 *LOCAL.db2inst1.051215214142 0x07800000006F9CE0 30 [000-00030] 1 8966270 UOW-Executing 1 107 1 *LOCAL.db2inst1.051215214013 C-AnchID 0 107
Ordnen Sie abschlieend diese Angaben mit Hilfe des Befehls db2pd -dyn den dynamischen SQL-Anweisungen zu:
Dynamic SQL Statements: Address AnchID StmtUID NumEnv NumVar NumRef NumExe Text 0x0780000020B296C0 107 1 1 1 43 select c1, c2 from test group by c1,c2
43
Szenario 5: berwachung der Recovery Mit dem Befehl db2pd -recovery werden mehrere Zhler angezeigt, mit denen Sie den Fortschritt der Recovery berprfen knnen. Current Log (aktuelles Protokoll) und Current LSN (aktuelle Protokollfolgenummer) geben die Protokollposition an. Mit CompletedWork (abgeschlossene Arbeit) wird die Menge der abgeschlossenen Arbeit in Byte angegeben.
Recovery: Recovery Status Current Log Current LSN Job Type Job ID Job Start Time Job Description Invoker Type Total Phases Current Phase 0x00000401 S0000005.LOG 000002551BEA ROLLFORWARD RECOVERY 7 (1107380474) Wed Feb 2 16:41:14 2005 Database Rollforward Recovery User 2 1
Progress: Address PhaseNum Description StartTime CompletedWork TotalWork 0x0000000200667160 1 Forward Wed Feb 2 16:41:14 2005 2268098 bytes Unknown 0x0000000200667258 2 Backward NotStarted 0 bytes Unknown
Szenario 6: Ermitteln der von einer Transaktion verwendeten Ressourcenmenge Der Befehl db2pd -transactions liefert die Anzahl der Sperren, die erste Protokollfolgenummer, die letzte Protokollfolgenummer, den verwendeten Speicherbereich sowie den reservierten Speicherplatz. Diese Informationen knnen fr die Analyse des Verhaltens einer Transaktion von Nutzen sein.
Transactions: Address 0x000000022026D980 0x000000022026E600 0x000000022026F280 AppHandl 797 806 807 [nod-index] [000-00797] [000-00806] [000-00807] TranHdl 2 3 4 Locks 108 157 90 State WRITE WRITE WRITE Tflag 0x00000000 0x00000000 0x00000000
SpaceReserved 95450
48
Fehlerbehebung
0x00000000 0x000001057574 0x0000010B3340 6576 0x00000000 0x00000107CF0C 0x0000010B2FDE 3762 TID 0x000000000451 0x0000000003E0 0x000000000472 AxRegCnt 1 1 1 GXID 0 0 0
139670 79266
Szenario 7: berwachung der Protokollbelegung Mit dem Befehl db2pd -logs kann die Protokollbelegung fr eine Datenbank berwacht werden. Indem Sie die Ausgabe fr Pages Written (geschriebene Seiten) berwachen, knnen Sie den Fortschritt der Protokollbelegung feststellen.
Logs: Current Log Number 2 Pages Written 846 Method 1 Archive Status Success Method 1 Next Log to Archive 2 Method 1 First Failure n/a Method 2 Archive Status Success Method 2 Next Log to Archive 2 Method 2 First Failure n/a Address 0x000000023001BF58 0x000000023001BE98 0x0000000230008F58 StartLSN 0x000001B58000 0x000001F40000 0x000002328000 State 0x00000000 0x00000000 0x00000000 Size Pages 1000 1000 1000 1000 1000 1000 Filename S0000002.LOG S0000003.LOG S0000004.LOG
Anhand dieser Ausgabe knnen zwei Fehler identifiziert werden: 1. Wenn bei der Archivierung ein Fehler vorliegt, wird fr Archive Status (Archivierungsstatus) der Wert Failure (Fehler) angegeben, d. h., die zuletzt ausgefhrte Protokollarchivierung schlug fehl. Liegt hingegen ein permanenter Archivierungsfehler vor, der verhindert, dass Protokolle berhaupt archiviert werden, wird First Failure (erstes Auftreten eines Fehlers) angegeben. 2. Wenn die Protokollarchivierung sehr langsam abluft, liegt der Wert fr Next Log to Archive (nchstes zu archivierendes Protokoll) unter dem Wert fr Current Log Number (aktuelle Protokollnummer). Dies kann dazu fhren, dass der Protokollpfad voll wird; dies wiederum kann bewirken, dass in der Datenbank keine Daten gendert werden, wenn der Protokollpfad voll ist. Szenario 8: Anzeigen der Sysplex-Liste Abgesehen von der Verwendung des Befehls db2pd -sysplex ist die einzige Mglichkeit, die Sysplex-Liste zu dokumentieren, ein DB2-Trace.
Sysplex List: Alias: HOST Location Name: HOST1 Count: 1 IP Address 1.2.34.56 Port 400 Priority 1 Connections Status 0 0 PRDID
Szenario 9: Generieren von Stack-Traces Mit dem Befehl db2pd -stack all knnen Sie Stack-Traces fr das Datenbanksystem erstellen. Wenn Sie vermuten, dass bei einem Prozess oder Thread eine Schleife oder Blockierung vorliegt, knnen Sie diesen Befehl iterativ verwenden.
49
Sie knnen den aktuellen Aufrufstack fr einen bestimmten Prozess ermitteln, indem Sie den Befehl db2pd -stack <pid> absetzen. Beispiel:
db2pd -stack 1335470 Attempting to dump stack trace for pid 1335470. See current DIAGPATH for trapfile.
Um die Aufrufstacks fr alle DB2-Prozesse abzurufen, verwenden Sie den Befehl db2pd -stack all. Beispiel:
db2pd -stack all Attempting to dump all stack traces for instance. See current DIAGPATH for trapfiles.
Wenn Sie eine Umgebung mit mehreren Partitionen und mehreren physischen Knoten verwenden, knnen Sie die Informationen von allen Partitionen mit dem folgenden Befehl abrufen: db2_all ; db2pd -stack all. Wenn es sich jedoch bei allen diesen Partitionen um logische Partitionen auf derselben Maschine handelt, ist die folgende Methode schneller: db2pd -alldbp -stacks. Zugehrige Referenzen: v db2pd - Monitor and troubleshoot DB2 database command in Command Reference
50
Fehlerbehebung
des Fehlers auszufhren, knnen Sie den Befehl db2support auch nach Auftreten des Fehlers absetzen, da einige FFDC-Diagnosedateien (FFDC = First Failure Data Capture, Erfassung von Fehlerdaten beim ersten Auftreten) automatisch generiert werden. Mit db2support -h knnen Sie die vollstndige Liste der Befehlsoptionen aufrufen. Der nachstehende Basisaufruf ist normalerweise ausreichend, um einen Groteil der Informationen zu erfassen, die fr die Fehlerbehebung bentigt werden. (Bitte beachten Sie: Wenn die Option -c verwendet wird, stellt das Dienstprogramm eine Verbindung zur Datenbank her).
db2support <ausgabepfad> -d <datenbankname> -c
Die so erfasste Ausgabe wird benutzerfreundlich in einem komprimierten Archiv (ZIP), db2support.zip, gespeichert und kann so an ein beliebiges System bertraten und dort extrahiert werden. Die Art der von db2support erfassten Informationen hngt davon ab, mit welchen Optionen der Befehl aufgerufen wird, ob der Datenbankmanager gestartet ist oder nicht und ob eine Verbindung zur Datenbank hergestellt werden kann. Das Dienstprogramm db2support erfasst in allen Fllen die folgenden Informationen: v db2diag.log v Alle Trapdateien v Sperrenlistendateien v Speicherauszugsdateien v Verschiedene systembezogene Dateien v Ausgabe von verschiedenen Systembefehlen v db2cli.ini In Abhngigkeit von den jeweiligen Bedingungen erfasst das Dienstprogramm db2support mglicherweise auch die folgenden Informationen: v Aktive Protokolldateien v Steuerdateien fr Pufferpools und Tabellenbereiche (SQLSPCS.1 und SQLSPCS.2) (mit Option -d) v Inhalt des db2dump-Verzeichnisses v Kerndateien (Option -a fr alle Kerndateien, Option -r nur fr die neueste Kerndatei) v Erweiterte Systeminformationen (mit Option -s) v Datenbankkonfigurationseinstellungen (mit Option -d) v Konfigurationseinstellungsdateien des Datenbankmanagers v Datei mit Protokolldateikopfdaten (mit Option -d) v Datei des Recoveryprotokolls (mit Option -d) Der HTML-Bericht db2support.html enthlt stets die folgenden Informationen: v PMR-Nummer (PMR - Problem Management Record) (bei Angabe von -n) v Betriebssystem und Version (beispielsweise AIX 5.1) v DB2-Release-Informationen v Angabe des Umgebungstyps (32-Bit- oder 64-Bit-Umgebung) v DB2-Installationspfadinformation
Kapitel 4. Tools fr die Fehlerbehebung
51
v v v v v v v v v v v v v v
Inhalt der Datei db2nodes.cfg Anzahl der CPUs und Platten sowie Menge des Speicherplatzes Liste der Datenbanken in der Instanz Registrierdatenbankinformationen und Umgebung, einschlielich PATH und LIBPATH Freier Plattenspeicherplatz fr aktuelles Dateisystem und I-Nodes fr UNIX Java SDK-Version Datenbankmanagerkonfiguration Auflistung der Datei des Recoveryprotokolls fr die Datenbank Ausgabe von ls -lR (oder Windows-quivalent) des Verzeichnisses sqllib Ergebnis des Befehls LIST NODE DIRECTORY Ergebnis des Befehls LIST ADMIN NODE DIRECTORY Ergebnis des Befehls LIST DCS DIRECTORY Ergebnis des Befehls LIST DCS APPLICATIONS EXTENDED Liste der gesamten installierten Software
Die folgenden Informationen werden in der Datei db2support.html aufgezeichnet, wenn die Option -s angegeben wird: v Ausfhrliche Datentrgerinformationen (Partitionsaufbau, Typ, LVM-Informationen etc.) v Ausfhrliche Netzwerkinformationen v Kernelstatistikdaten v Firmwareversionen v Sonstige fr das Betriebssystem spezifische Befehle Wenn DB2 gestartet ist, enthlt die Datei db2support.html die folgenden zustzlichen Informationen: v Clientverbindungsstatus v Datenbank- und Datenbankmanagerkonfiguration (fr die Datenbankkonfiguration ist die Option -d erforderlich) v CLI-Konfiguration v Informationen zum Hauptspeicherpool (Gre und Belegung). Bei Verwendung der Option -d werden smtliche Daten erfasst. v Ergebnis des Befehls LIST ACTIVE DATABASES v Ergebnis des Befehls LIST DCS APPLICATIONS Wenn die Option -c angegeben ist und eine Verbindung zur Datenbank erfolgreich hergestellt werden konnte, enthlt die Datei db2support.html die folgenden Informationen: v Anzahl der Benutzertabellen v v v v v v v v Ungefhre Gre der Datenbankdaten Momentaufnahme der Datenbank Momentaufnahme der Anwendung Pufferpoolinformationen Ergebnis Ergebnis Ergebnis Ergebnis des des des des Befehls Befehls Befehls Befehls LIST APPLICATIONS LIST COMMAND OPTIONS LIST DATABASE DIRECTORY LIST INDOUBT TRANSACTIONS
52
Fehlerbehebung
v v v v v v v
DATABASE PARTITION GROUPS DBPARTITIONNUMS ODBC DATA SOURCES PACKAGES/TABLES TABLESPACE CONTAINERS TABLESPACES DRDA IN DOUBT TRANSACTIONS
Zugehrige Referenzen: v db2support - Problem analysis and environment collection tool command in Command Reference
53
v v v v
Trace der Steuerzentrale erstellt werden. Bitte beachten Sie, dass hierdurch nur Fehler bei den Tools erfasst werden, die ber die Steuerzentrale gestartet werden knnen. Wenn der Fehler in einer CLI-Anwendung auftritt und nicht auerhalb der Anwendung reproduziert werden kann, sollte ein CLI-Trace erstellt werden. Wenn der Fehler in einer JDBC-Anwendung auftritt und nicht auerhalb der Anwendung reproduziert werden kann, sollte ein JDBC-Trace erstellt werden. Wenn sich der Fehler unmittelbar auf Informationen bezieht, die auf DRDAEbene bertragen werden, sollte ein DRDA-Trace erstellt werden. In allen anderen Situationen, in denen ein Trace durchfhrbar ist, ist ein DB2Trace in der Regel am besten geeignet.
Trace-Informationen sind nicht immer fr die Diagnose eines Fehlers hilfreich. So wird in den folgenden Situationen die Fehlerbedingung mglicherweise nicht erfasst: v Die von Ihnen angegeben Tracepuffergre war nicht gro genug, eine vollstndige Reihe von Trace-Ereignissen aufzunehmen. Als das Trace mit dem Schreiben in der Datei aufgehrt hat oder ein Umlauf stattgefunden hat, gingen ntzliche Informationen verloren. v Das Traceszenario hat die Fehlersituation nicht erneut produziert. v Die Fehlersituation wurde erneut produziert doch die Annahme, wo der Fehler aufgetreten ist, war nicht korrekt. Beispielsweise wurde das Trace bei einer Client-Workstation erfasst whrend der tatschliche Fehler auf einem Server auftrat. Zugehrige Konzepte: v Abrufen eines DB2-Trace mit db2trc auf Seite 54 v DRDA-Tracedateien auf Seite 57
DB2-Traces
Abrufen eines DB2-Trace mit db2trc
Der Befehl db2trc steuert die mit DB2 zur Verfgung gestellte Tracefunktion. Mit der Tracefunktion knnen Informationen zu Operationen aufgezeichnet und in ein lesbares Format konvertiert werden. Es ist zu beachten, dass whrend der Durchfhrung eines Trace zustzlicher Systemaufwand anfllt. Demnach kann die Aktivierung der Tracefunktion die Systemleistung beeintrchtigen. Im Allgemeinen verwenden die DB2-Untersttzungsfunktion und -Entwicklungsteams DB2-Traces zur Fehlerbestimmung. Sie knnen einen Trace durchfhren, um Informationen zu einem Problem zu erhalten, das untersucht wird. Allerdings ist der Nutzen eines solchen Trace ohne Kenntnisse des DB2-Quellcodes relativ begrenzt. Dennoch sollten Sie mit der korrekten Aktivierung der Tracefunktion vertraut sein und wissen, wie Speicherauszge fr Tracedateien erstellt werden, falls Sie gebeten werden, diese abzurufen. Anmerkung: Sie bentigen eine der Berechtigungen SYSADM, SYSCTRL oder SYSMAINT, um db2trc zu verwenden. Fhren Sie den Befehl db2trc ohne Parameter aus, um eine bersicht ber die verfgbaren Optionen zu erhalten:
54
Fehlerbehebung
Weitere Informationen zu einem bestimmten Parameter des Befehls db2trc erhalten Sie, wenn Sie die Option -u verwenden. Fhren Sie beispielsweise den folgenden Befehl aus, um weitere Informationen zur Aktivierung der Tracefunktion zu erhalten:
db2trc on -u
Hierdurch werden Informationen zu allen zustzlichen Optionen (als facilities bezeichnet) aufgerufen, die bei der Aktivierung der DB2-Tracefunktion angegeben werden knnen. Die wichtigste Option fr die Aktivierung der Tracefunktion ist -L. Sie gibt die Gre des Speicherpuffers an, der zum Speichern der Trace-Informationen verwendet wird. Die Puffergre kann in Byte oder MB angegeben werden. (Fr die Angabe von Megabyte hngen Sie an den Wert M oder m an.) Die Tracepuffergre muss eine Potenz von 2 MB sein. Wenn Sie eine Gre angeben, die diese Voraussetzungen nicht erfllt, wird die Puffergre automatisch auf die nchste Potenz von 2 abgerundet. Wenn der Puffer zu klein ist, knnen Informationen verloren gehen. Standardmig werden nur die neuesten Trace-Informationen gespeichert, wenn der Puffer voll ist. Ist der Puffer zu gro, knnen beim Senden der Datei an das DB2-Untersttzungsteam Probleme auftreten. Wenn Sie einen Trace fr eine Operation erstellen, die relativ kurz ist (wie beispielsweise eine Datenbankverbindung), reicht eine Gre von ca. 8 MB normalerweise aus:
C:\> db2trc on -l 8M Trace is turned on
Wenn Sie jedoch einen Trace fr eine grere Operation erstellen oder wenn viele Aktionen gleichzeitig stattfinden, ist mglicherweise ein grerer Tracepuffer erforderlich. Auf den meisten Plattformen kann die Tracefunktion zu jedem beliebigen Zeitpunkt aktiviert werden und funktioniert wie oben beschrieben. Bitte beachten Sie jedoch die folgenden Situationen: 1. Auf Systemen mit mehreren Datenbankpartitionen mssen Sie einen Trace fr jede physische (im Gegensatz zur logischen) Datenbankpartition ausfhren. 2. Wenn auf HP-UX-, Linux- und Solaris-Plattformen die Tracefunktion inaktiviert wird, nachdem die Instanz gestartet wurde, wird unabhngig von der angegebenen Gre ein sehr kleiner Puffer verwendet. Um auf diesen Plattformen einen Trace effektiv auszufhren, mssen Sie die Tracefunktion aktivieren, bevor Sie die Instanz starten, und den Trace gegebenenfalls zu einem spteren Zeitpunkt bereinigen. Zugehrige Konzepte: v Erstellen eines Speicherauszugs einer DB2-Tracedatei auf Seite 56 v Formatieren einer DB2-Tracedatei auf Seite 56 Zugehrige Referenzen: v db2trc - Trace command in Command Reference
55
Wenn die Operation, fr die ein Trace erstellt wird, abgeschlossen ist, knnen Sie die Option dmp gefolgt von einem Tracedateinamen verwenden, um fr den Speicherpuffer einen Speicherauszug auf der Platte zu erstellen. Beispiel:
C:\>db2trc dmp trace.dmp Trace has been dumped to file
Nachdem fr den Tracepuffer ein Speicherauszug auf der Platte erstellt wurde, ist die Tracefunktion weiterhin aktiv. Verwenden Sie die Option off, um die Tracefunktion zu inaktivieren:
C:\>db2trc off Trace is turned off
Zugehrige Konzepte: v Formatieren einer DB2-Tracedatei auf Seite 56 v Abrufen eines DB2-Trace mit db2trc auf Seite 54 Zugehrige Referenzen: v db2trc - Trace command in Command Reference
Hierbei ist example.trc eine Binrdatei, die mit der Option dmp erstellt wurde. Die Ausgabe dieses Befehls gibt Ihnen explizit an, wenn ein Problem beim Lesen der Datei besteht oder ob beim Trace ein Umlauf stattgefunden hat. Zu diesem Zeitpunkt kann die Speicherauszugsdatei an die DB2-Untersttzungsfunktion gesendet werden. Dort wird sie auf der Basis des verwendeten DB2-Service-Levels formatiert. In manchen Fllen werden Sie jedoch dazu aufgefordert, die Speicherauszugsdatei in ASCII-Format zu konvertieren, bevor Sie sie senden. Hierzu verwenden Sie die Optionen flw und fmt. Sie mssen den Namen der binren Speicherauszugsdatei und den Namen der zu erstellenden ASCII-Datei angeben:
C:\>db2trc flw trace.dmp trace.flw C:\Temp>db2trc flw trace.dmp trace.flw Total number of trace records : 18854 Trace truncated : NO
56
Fehlerbehebung
Trace wrapped : NO Number of trace records formatted : 1513 (pid: 2196 tid 2148 node: -1) Number of trace records formatted : 100 (pid: 1568 tid 1304 node: 0) ... C:\>db2trc fmt trace.dmp trace.fmt C:\Temp>db2trc fmt trace.dmp trace.fmt Trace truncated : NO Trace wrapped : NO Total number of trace records : 18854 Number of trace records formatted : 18854
Wenn diese Ausgabe fr Trace wrapped die Angabe YES enthlt, bedeutet dies, dass der Tracepuffer nicht ausreichte, um alle whrend des Tracezeitraums erfassten Daten aufzuzeichnen. Abhngig von der Situation kann ein solcher Trace akzeptabel sein. Wenn Sie die neuesten Informationen bentigen (dies sind die Informationen, die standardmig aufbewahrt werden, es sei denn, die Option -i wird angegeben), ist der Inhalt der Tracedatei mglicherweise ausreichend. Wenn Sie jedoch Informationen zu den Ereignissen zu Beginn des Tracezeitraums oder Informationen zu allen Ereignissen bentigen, sollten Sie die Operation mit einem greren Tracepuffer wiederholen. Darber hinaus ist zu beachten, dass DB2 unter Linux- und UNIX-Betriebssystemen automatisch einen Speicherauszug des Tracepuffers auf der Platte erstellt, wenn es die Instanz aufgrund eines schwer wiegenden Fehlers beendet. Wenn also bei der abnormalen Beendigung einer Instanz die Tracefunktion aktiviert ist, wird eine Datei im Diagnoseverzeichnis erstellt, die den Namen db2trdmp.### hat, wobei ### die Knotennummer angibt. Auf Windows-Plattformen findet dies nicht statt. In diesen Fllen muss ein Speicherauszug fr den Trace manuell erstellt werden. Abschlieend folgt als Zusammenfassung ein Beispiel der blichen Folge von db2trc-Befehlen:
db2trc on -l 8M db2trc clr <Befehle zur Fehlerreproduktion ausfhren> db2trc dump db2trc.dmp db2trc off db2trc flw db2trc.dmp <dateiname>.flw db2trc fmt db2trc.dmp <dateiname>.fmt db2trc fmt -c db2trc.dmp <dateiname>.fmtc
Zugehrige Konzepte: v Erstellen eines Speicherauszugs einer DB2-Tracedatei auf Seite 56 v Abrufen eines DB2-Trace mit db2trc auf Seite 54 Zugehrige Referenzen: v db2trc - Trace command in Command Reference
DRDA-Traces
DRDA-Tracedateien
Vor der Analyse von DRDA-Traces sollten Sie sich darber im Klaren sein, dass es sich bei DRDA um einen offenen Standard fr die Definition von Daten- und Kommunikationsstrukturen handelt. So umfasst DRDA beispielsweise eine Reihe
57
von Regeln zur Strukturierung von Daten fr die bertragung sowie zur Durchfhrung dieser Datenbertragung. Diese Regeln sind in den folgenden Referenzhandbchern definiert: v DRDA V3 Vol. 1: Distributed Relational Database Architecture v DRDA V3 Vol. 2: Formatted Data Object Content Architecture v DRDA V3 Vol. 3: Distributed Data Management Architecture PDF-Versionen dieser Handbcher sind unter www.opengroup.org verfgbar. Das Dienstprogramm db2drdat zeichnet den Datenaustausch zwischen einem DRDA-Anwendungsrequester (AR) und einem DB2 DRDA-Anwendungsserver (AS) auf (zum Beispiel zwischen DB2 Connect und einem Host oder einem iSeriesDatenbankserver). Zugehrige Konzepte: v DB2 Connect und DRDA in DB2 Connect Benutzerhandbuch v Tracedienstprogramm auf Seite 58 Zugehrige Referenzen: v db2drdat - DRDA trace command in Command Reference
Tracedienstprogramm
Das Dienstprogramm db2drdat zeichnet die Daten auf, die zwischen dem DB2 Connect-Server (fr den Datenbankclient) und dem Host- oder iSeries-Datenbankserver ausgetauscht werden. Fr Datenbankadministratoren (oder Anwendungsentwickler) kann es ntzlich sein zu wissen, wie dieser Datenfluss funktioniert, da diese Kenntnisse dazu beitragen knnen, den Ursprung eines bestimmten Problems zu ermitteln. Wenn Sie beispielsweise die Datenbankanweisung CONNECT TO fr einen Host- oder iSeriesDatenbankserver absetzen und der Befehl fehlschlgt, empfangen Sie einen Rckkehrcode fr nicht erfolgreiche Ausfhrung. Wenn Sie genau verstehen, welche Informationen an das Verwaltungssystem des Host- oder iSeries-Datenbankservers bermittelt wurden, sind Sie unter Umstnden in der Lage, selbst dann die Ursache des Fehlers festzustellen, wenn die Informationen des Rckkehrcodes nur allgemein gehalten sind. Viele Strungen werden durch einfache Benutzerfehler verursacht. Die Ausgabe von db2drdat fhrt die Datenstrme auf, die zwischen der DB2 Connect-Workstation und dem Verwaltungssystem des Host- oder iSeries-Datenbankservers ausgetauscht werden. Daten, die an den Host- oder iSeries-Datenbankserver gesendet werden, sind mit SEND BUFFER (Sendepuffer) markiert, und Daten, die vom Host- oder iSeries-Datenbankserver empfangen werden, sind mit RECEIVE BUFFER (Empfangspuffer) markiert. Wenn ein Empfangspuffer Informationen aus dem SQL-Kommunikationsbereich (SQLCA) enthlt, folgt im Anschluss daran eine formatierte Interpretation dieser Daten, die mit SQLCA markiert werden. Das Feld SQLCODE eines SQL-Kommunikationsbereichs enthlt den nicht zugeordneten Wert, der vom Host- oder iSeriesDatenbankserver zurckgegeben wird. Die Sende- und Empfangspuffer werden innerhalb der Datei in einer Reihenfolge vom ltesten zum neuesten Puffer angeordnet. Jeder Puffer weist Folgendes auf: v Die Prozess-ID.
58
Fehlerbehebung
v Eine Markierung SEND BUFFER, RECEIVE BUFFER oder SQLCA. Der/das erste DDM-Befehl oder -Objekt in einem Puffer erhlt die Markierung DSS TYPE. Die verbleibenden Daten in Sende- und Empfangspuffern werden in fnf Spalten unterteilt, die aus Folgendem bestehen: v Einem Bytezhler. v Spalten 2 und 3, die den DRDA-Datenstrom darstellen (in ASCII oder EBCDIC), der zwischen den beiden Systemen ausgetauscht wird. v Einer ASCII-Darstellung der Spalten 2 und 3. v Einer EBCDIC-Darstellung der Spalten 2 und 3 Zugehrige Konzepte: v Traceausgabe auf Seite 59 v Analyse der Trace-Ausgabedatei auf Seite 60 Zugehrige Referenzen: v db2drdat - DRDA trace command in Command Reference
Traceausgabe
Das Dienstprogramm db2drdat schreibt die folgenden Informationen in die Tracedatei: v -r Typ der/des DRDA-Antwort/-Objekts Empfangspuffer v -s Typ der DRDA-Anforderung Sendepuffer v -c SQLCA v TCP/IP-Fehlerinformationen Rckkehrcode der Empfangsfunktion Bewertung Verwendetes Protokoll Verwendete API Funktion Fehlernummer Anmerkungen: 1. Der Wert Null fr den Endecode zeigt an, dass der Befehl erfolgreich ausgefhrt wurde. Ein Wert ungleich Null zeigt an, dass der Befehl nicht erfolgreich ausgefhrt wurde. 2. Die zurckgegebenen Felder hngen von der verwendeten API ab. 3. Welche Felder zurckgegeben werden, hngt von der Plattform ab, auf der DB2 Connect ausgefhrt wird. Es knnen daher fr dieselbe API unterschiedliche Felder zurckgegeben werden. 4. Wenn der Befehl db2drdat die Ausgabe an eine bereits existierende Datei leitet, wird die alte Datei gelscht, sofern die Berechtigungen fr die Datei dies zulassen.
59
Zugehrige Konzepte: v Analyse der Trace-Ausgabedatei auf Seite 60 v Tracedienstprogramm auf Seite 58 Zugehrige Referenzen: v db2drdat - DRDA trace command in Command Reference
Der erste Puffer enthlt die Befehle EXCSAT (Exchange Server Attributes) und ACCRDB (Access RDB), die an das Verwaltungssystem des Host- oder iSeriesDatenbankservers gesendet werden. Diese Befehle werden als Ergebnis des Datenbankbefehls CONNECT TO gesendet. Der nchste Puffer enthlt die Antwort, die DB2 Connect vom Verwaltungssystem des Host- oder iSeries-Datenbankservers empfing. Sie enthlt EXCSATRD (Exchange Server Attributes Reply Data) und eine ACCRDBRM (Access RDB Reply Message). EXCSAT Der Befehl EXCSAT enthlt den Workstationnamen des Clients, der vom Objekt SRVNAM (Servername) angegeben wird; dieser Name entspricht gem der DDM-Spezifikation dem Codepunkt X'116D'. Der Befehl EXCSAT befindet sich im ersten Puffer. Im Befehl EXCSAT werden die Werte X'9481A292' (die in CCSID 500 codiert sind) in mask umgesetzt, sobald X'116D' entfernt ist. Der Befehl EXCSAT enthlt auerdem das Objekt EXTNAM (externer Name), das oft in Diagnoseinformationen im Host- oder iSeries-Datenbankverwaltungssystem zu finden ist. Es besteht aus einer 20 Byte langen Anwendungs-ID, gefolgt von einer 8 Byte langen Prozess-ID (oder einer 4 Byte langen Prozess-ID und einer 4 Byte langen Thread-ID). Es wird durch den Codepunkt X'115E' dargestellt und hat in diesem Beispiel den Wert db2bp, der durch Leerzeichen aufgefllt ist und auf den 000C50CC folgt. Auf einem Datenbankclient unter Linux oder UNIX kann dieser Wert mit dem Befehl ps korreliert werden, der Statusinformationen zu aktiven Prozessen an die Standardausgabe zurckgibt. ACCRDB Der Befehl ACCRDB enthlt den RDB_NAME im Objekt RDBNAM (Codepunkt X'2110'). Der Befehl ACCRDB folgt auf den Befehl EXCSAT im ersten Puffer. Im Befehl ACCRDB werden die Werte X'E2E3D3C5C3F1' in STLEC1 umgesetzt, sobald X'2110' entfernt ist. Dies entspricht dem Feld fr den Zieldatenbanknamen im DCS-Verzeichnis. Die Abrechnungszeichenfolge hat den Codepunkt X'2104'. Der codierte Zeichensatz fr die DB2 Connect-Workstation kann ermittelt werden, indem das CCSID-Objekt CCSIDSBC (CCSID fr Einzelbytezeichen) mit Codepunkt X'119C' im Befehl ACCRDB angegeben wird. In diesem Beispiel ist der Wert fr CCSIDSBC X'0333', d. h. 819.
60
Fehlerbehebung
Die zustzlichen Objekte CCSIDDBC (CCSID fr Doppelbytezeichen) und CCSIDMBC (CCSID fr Mischbytezeichen) mit dem Codepunkt X'119D' bzw. X'119E' sind im Befehl ACCRDB ebenfalls vorhanden. In diesem Beispiel ist der Wert fr CCSIDDBC X'04B0', d. h. 1200. Der Wert fr CCSIDMBC ist X'0333', d. h. 819. EXCSATRD und ACCRDBRM CCSID-Werte werden auch vom Host- oder iSeries-Datenbankserver in ACCRDBRM (Access RDB Reply Message) im zweiten Puffer zurckgegeben. Dieser Puffer enthlt die EXCSATRD-Daten, gefolgt von den ACCRDBRM-Daten. Die Beispielausgabedatei enthlt zwei CCSID-Werte fr das Host- oder iSeries-Datenbankserversystem. Die Werte lauten 1208 (sowohl fr Einzelbyte- als auch Mischbytezeichen) und 1200 (fr Doppelbytezeichen). Wenn DB2 Connect die Codepage, die vom Host- oder iSeries-Datenbankserver zurckgegeben wird, nicht erkennt, wird der SQLCODE-Wert -332 mit der Quellen- und Zielcodepage an den Benutzer zurckgegeben. Wenn der Host- oder iSeries-Datenbankserver den von DB2 Connect gesendeten codierten Zeichensatz nicht erkennt, gibt er VALNSPRM (Parameterwert nicht untersttzt, DDM-Codepunkt X'1252') zurck; diese Angaben werden fr den Benutzer in den SQLCODE-Wert -332 umgesetzt. Der Befehl ACCRDBRM enthlt auch den Parameter PRDID (produktspezifische Kennung, Codepunkt X'112E'). Der Wert lautet X'C4E2D5F0F8F0F1F5', d. h. DSN08015 in EBCDIC. Gem den Standards entspricht DSN der Angabe DB2 Universal Database fr z/OS und OS/390. Die Versionsnummer ist ebenfalls angegeben. ARI ist DB2 Server fr VSE & VM, SQL ist eine DB2-Datenbank oder DB2 Connect, und QSQ ist DB2 UDB fr iSeries. Zugehrige Konzepte: v Traceausgabe auf Seite 59 v Tracedienstprogramm auf Seite 58 Zugehrige Referenzen: v db2drdat - DRDA trace command in Command Reference v Informationen zu nachfolgenden Puffern fr DRDA-Traces auf Seite 67 v Beispiele fr die Trace-Ausgabedatei auf Seite 61
61
1 data DB2 UDB DRDA Communication Manager sqljcSend fnc (3.3.54.5.0.100) pid 807116 tid 1 cpid -1 node 0 sec 0 nsec 0 probe 100 bytes 16 Data1 233 (PD_TYPE_UINT,8) unsigned integer:
2 data DB2 UDB DRDA Communication Manager sqljcSend fnc (3.3.54.5.0.1177) pid 807116 tid 1 cpid -1 node 0 sec 0 nsec 19532 probe 1177 bytes 250 SEND BUFFER(AR): EXCSAT RQSDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 00C3D041000100BD 1041007F115E8482 F282974040404040 4040404040404040 4040F0F0F0C3F5F0 C3C3F0F0F0000000 0000000000000000 0000000000000000 0000000000000000 000000000060F0F0 F0F1A2A495404040 4040404040404040 4040404040404040 4040404040404040 C4C5C3E5F8404040 F0A2A49540404040 4040404040404040 4000181404140300 0724070008147400 05240F0008144000 08000E1147D8C4C2 F261C1C9E7F6F400 08116D9481A29200 0C115AE2D8D3F0F9 F0F0F0 ACCSEC RQSDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 0026D00100020020 106D000611A20003 00162110E2E3D3C5 C3F1404040404040 404040404040 (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF ...A.....A...^.. .C}........".;db ...@@@@@@@@@@@@@ 2bp @@.............. 000C50CC000... ................ ................ .............`.. .............-00 .....@@@@@@@@@@@ 01sun @@@@@@@@@@@@@@@@ .....@@@....@@@@ DECV8 0sun @@@@@@@@@....... ....... .$....t..$....@. .............. . ....G....a...... .....QDB2/AIX64. ..m.......Z..... .._mask...]SQL09 ... 000 (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF .&..... .m...... ..}......_...s.. ..!.......@@@@@@ ....STLEC1 @@@@@@
0000 0010 0020 0030 0040 0050 0060 0070 0080 0090 00A0 00B0 00C0
3 data DB2 UDB DRDA Communication Manager sqljcReceive fnc (3.3.54.3.0.100) pid 807116 tid 1 cpid -1 node 0 sec 0 nsec 110546200 probe 100 bytes 12 Data1 105 (PD_TYPE_UINT,4) unsigned integer:
62
Fehlerbehebung
4 data DB2 UDB DRDA Communication Manager sqljcReceive fnc (3.3.54.3.0.1178) pid 807116 tid 1 cpid -1 node 0 sec 0 nsec 110549755 probe 1178 bytes 122 RECEIVE BUFFER(AR): EXCSATRD OBJDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 0059D04300010053 1443000F115EE5F8 F1C14BE2E3D3C5C3 F100181404140300 0724070007147400 05240F0007144000 0700081147D8C4C2 F20014116DE2E3D3 C5C3F14040404040 4040404040000C11 5AC4E2D5F0F8F0F1 F5 ACCSECRD OBJDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 0010D0030002000A 14AC000611A20003 (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF .Y.C...S.C...^.. ..}..........;V8 ..K............. 1A.STLEC1....... .$....t..$....@. .............. . ....G.......m... .....QDB2..._STL ...@@@@@@@@@@... EC1 ... Z........ ]DSN08015 (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF ................ ..}..........s..
0000
5 data DB2 UDB DRDA Communication Manager sqljcSend fnc (3.3.54.5.0.100) pid 807116 tid 1 cpid -1 node 0 sec 0 nsec 110656806 probe 100 bytes 16 Data1 233 (PD_TYPE_UINT,8) unsigned integer:
6 data DB2 UDB DRDA Communication Manager sqljcSend fnc (3.3.54.5.0.1177) pid 807116 tid 1 cpid -1 node 0 sec 0 nsec 110659711 probe 1177 bytes 250 SEND BUFFER(AR): SECCHK RQSDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 003CD04100010036 106E000611A20003 00162110E2E3D3C5 C3F1404040404040 404040404040000C 11A1D9858799F485 A599000A11A09585 A6A39695 ACCRDB RQSDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 00ADD001000200A7 20010006210F2407 00172135C7F9F1C1 F0C4F3C14BD7C1F8 F806030221064600 162110E2E3D3C5C3 F140404040404040 4040404040000C11 2EE2D8D3F0F9F0F0 F0000D002FD8E3C4 E2D8D3C1E2C30016 00350006119C0333 0006119D04B00006 119E0333003C2104 (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF .<.A...6.n...... ..}......>...s.. ..!.......@@@@@@ ....STLEC1 @@@@@@.......... ....Regr4e ............ vr....newton (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF ........ ...!.$. ..}....x........ ..!5........K... ....G91A0D3A.PA8 ....!.F..!...... 8..........STLEC .@@@@@@@@@@@@... 1 ... ............/... .SQL09000....QTD .........5.....3 SQLASC.......... ...........3.
7 data DB2 UDB DRDA Communication Manager sqljcReceive fnc (3.3.54.3.0.100) pid 807116 tid 1 cpid -1 node 0 sec 0 nsec 259908001 probe 100 bytes 12 Data1 176 (PD_TYPE_UINT,4) unsigned integer:
63
8 data DB2 UDB DRDA Communication Manager sqljcReceive fnc (3.3.54.3.0.1178) pid 807116 tid 1 cpid -1 node 0 sec 0 nsec 259911584 probe 1178 bytes 193 RECEIVE BUFFER(AR): SECCHKRM RPYDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 0015D0420001000F 1219000611490000 000511A400 ACCRDBRM RPYDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 009BD00200020095 2201000611490000 000D002FD8E3C4E2 D8D3F3F7F0000C11 2EC4E2D5F0F8F0F1 F500160035000611 9C04B80006119E04 B80006119D04B000 0C11A0D5C5E6E3D6 D540400006212524 34001E244E000624 4C00010014244D00 06244FFFFF000A11 E8091E768301BE00 2221030000000005 68B3B8C7F9F1C1F0 C4F3C1D7C1F8F840 4040400603022106 46000A11E8091E76 831389 (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF ...B.........I.. ..}............. ..... ...u. (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF ........"....I.. ..}....n........ .../............ ....QTDSQL370... ............5... .DSN08015....... ................ ................ .........@@..!%$ ...NEWTON ..... 4..$N..$L....$M. ....+...<.....(. .$O........v.... ..!.....Y...c... "!......h....... ...........G91A0 .......@@@@...!. D3APA88 ..... F......v... ....Y...c.i
0000 0010
0000 0010 0020 0030 0040 0050 0060 0070 0080 0090
9 data DB2 UDB DRDA Communication Manager sqljcSend fnc (3.3.54.5.0.100) pid 807116 tid 1 cpid -1 node 0 sec 2 nsec 364420503 probe 100 bytes 16 Data1 10 (PD_TYPE_UINT,8) unsigned integer:
10 data DB2 UDB DRDA Communication Manager sqljcSend fnc (3.3.54.5.0.1177) pid 807116 tid 1 cpid -1 node 0 sec 2 nsec 364440751 probe 1177 bytes 27 SEND BUFFER(AR): RDBCMM RQSDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 000AD00100010004 200E (ASCII) 0123456789ABCDEF ........ . (EBCDIC) 0123456789ABCDEF ..}.......
0000
11 data DB2 UDB DRDA Communication Manager sqljcReceive fnc (3.3.54.3.0.100) pid 807116 tid 1 cpid -1 node 0 sec 2 nsec 475009631 probe 100 bytes 12 Data1 54 (PD_TYPE_UINT,4) unsigned integer:
64
Fehlerbehebung
12 data DB2 UDB DRDA Communication Manager sqljcReceive fnc (3.3.54.3.0.1178) pid 807116 tid 1 cpid -1 node 0 sec 2 nsec 475014579 probe 1178 bytes 71 RECEIVE BUFFER(AR): ENDUOWRM RPYDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 002BD05200010025 220C000611490004 00162110E2E3D3C5 C3F1404040404040 4040404040400005 211501 SQLCARD OBJDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 000BD00300010005 2408FF (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF .+.R...%"....I.. ..}............. ..!.......@@@@@@ ....STLEC1 @@@@@@..!.. ..... (ASCII) 0123456789ABCDEF ........$.. (EBCDIC) 0123456789ABCDEF ..}........
0000
13 data DB2 UDB DRDA Communication Manager sqljcSend fnc (3.3.54.5.0.100) pid 807116 tid 1 cpid -1 node 0 sec 5 nsec 721710319 probe 100 bytes 16 Data1 126 (PD_TYPE_UINT,8) unsigned integer:
14 data DB2 UDB DRDA Communication Manager sqljcSend fnc (3.3.54.5.0.1177) pid 807116 tid 1 cpid -1 node 0 sec 5 nsec 721727276 probe 1177 bytes 143 SEND BUFFER(AR): EXCSQLIMM RQSDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 0053D0510001004D 200A00442113E2E3 D3C5C3F140404040 4040404040404040 D5E4D3D3C9C44040 4040404040404040 4040E2D8D3C3F2C6 F0C1404040404040 4040404041414141 41484C5600CB0005 2105F1 SQLSTT OBJDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 002BD00300010025 2414000000001B64 656C657465206672 6F6D206464637375 73312E6D79746162 6C65FF (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF .S.Q...M ..D!... ..}....(......ST ....@@@@@@@@@@@@ LEC1 ......@@@@@@@@@@ NULLID @@........@@@@@@ SQLC2F0A @@@@AAAAAHLV.... ......<..... !.. ..1 (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF .+.....%$......d ..}............. elete from ddcsu .%......?_...... s1.mytable. ..._`./.%..
15 data DB2 UDB DRDA Communication Manager sqljcReceive fnc (3.3.54.3.0.100) pid 807116 tid 1 cpid -1 node 0 sec 5 nsec 832901261 probe 100 bytes 12 Data1 102 (PD_TYPE_UINT,4) unsigned integer:
65
16 data DB2 UDB DRDA Communication Manager sqljcReceive fnc (3.3.54.3.0.1178) pid 807116 tid 1 cpid -1 node 0 sec 5 nsec 832906528 probe 1178 bytes 119 RECEIVE BUFFER(AR): SQLCARD OBJDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 0066D00300010060 240800FFFFFF3434 3237303444534E58 4F544C2000FFFFFE 0C00000000000000 00FFFFFFFF000000 0000000000572020 2057202020202020 001053544C454331 2020202020202020 2020000F44444353 5553312E4D595441 424C450000FF (ASCII) 0123456789ABCDEF .f.....`$.....44 2704DSNXOTL .... ................ .....W W ..STLEC1 ..DDCSUS1.MYTA BLE... (EBCDIC) 0123456789ABCDEF ..}....-........ ......+.!.<..... ................ ................ ....<........... ............(... .<....
17 data DB2 UDB DRDA Communication Manager sqljcSend fnc (3.3.54.5.0.100) pid 807116 tid 1 cpid -1 node 0 sec 5 nsec 833156953 probe 100 bytes 16 Data1 10 (PD_TYPE_UINT,8) unsigned integer:
18 data DB2 UDB DRDA Communication Manager sqljcSend fnc (3.3.54.5.0.1177) pid 807116 tid 1 cpid -1 node 0 sec 5 nsec 833159843 probe 1177 bytes 27 SEND BUFFER(AR): RDBRLLBCK RQSDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 000AD00100010004 200F (ASCII) 0123456789ABCDEF ........ . (EBCDIC) 0123456789ABCDEF ..}.......
0000
19 data DB2 UDB DRDA Communication Manager sqljcReceive fnc (3.3.54.3.0.100) pid 807116 tid 1 cpid -1 node 0 sec 5 nsec 943302832 probe 100 bytes 12 Data1 54 (PD_TYPE_UINT,4) unsigned integer:
66
Fehlerbehebung
20 data DB2 UDB DRDA Communication Manager sqljcReceive fnc (3.3.54.3.0.1178) pid 807116 tid 1 cpid -1 node 0 sec 5 nsec 943306288 probe 1178 bytes 71 RECEIVE BUFFER(AR): ENDUOWRM RPYDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 002BD05200010025 220C000611490004 00162110E2E3D3C5 C3F1404040404040 4040404040400005 211502 SQLCARD OBJDSS 0 1 2 3 4 5 6 7 8 9 A B C D E F 000BD00300010005 2408FF (ASCII) (EBCDIC) 0123456789ABCDEF 0123456789ABCDEF .+.R...%"....I.. ..}............. ..!.......@@@@@@ ....STLEC1 @@@@@@..!.. ..... (ASCII) 0123456789ABCDEF ........$.. (EBCDIC) 0123456789ABCDEF ..}........
0000
Zugehrige Konzepte: v Analyse der Trace-Ausgabedatei auf Seite 60 Zugehrige Referenzen: v Informationen zu nachfolgenden Puffern fr DRDA-Traces auf Seite 67
67
Befehl ber die DB2-Eingabeaufforderung erfolgreich ausgefhrt wird, im GUI-Tool jedoch fehlschlgt, ist es angemessen, ein Trace ber die Steuerzentrale abzurufen. Um einen Trace fr einen Fehler durchzufhren, der nur in der Steuerzentrale reproduzierbar ist, starten Sie die Steuerzentrale wie folgt:
db2cc -tf dateiname
Mit diesem Befehl wird die Tracefunktion der Steuerzentrale aktiviert und die Traceausgabe in die angegebene Datei geschrieben. Die Ausgabedatei wird unter Windows im Verzeichnis <db2-installationspfad>\sqllib\tools und unter UNIX und Linux im Verzeichnis /home/<benutzer-id>/sqllib/tools gespeichert. Anmerkung: Wenn Sie die Steuerzentrale mit aktivierter Tracefunktion gestartet haben, reproduzieren Sie den Fehler anhand von mglichst wenigen Schritten. Versuchen Sie zu vermeiden, im Tool auf Elemente zu klicken, die nicht erforderlich sind oder mit dem Fehler nicht in Zusammenhang stehen. Schlieen Sie nach der Reproduktion des Fehlers sowohl die Steuerzentrale als auch alle anderen GUI-Tools, die Sie zwecks Fehlerreproduktion geffnet haben. Die resultierende Tracedatei muss zur Analyse an die DB2-Untersttzungsfunktion gesendet werden. Zugehrige Konzepte: v bersicht ber die Steuerzentrale in Systemverwaltung: Implementierung Zugehrige Referenzen: v db2cc - Start control center command in Command Reference
JDBC-Tracedateien
Abrufen von Traces von Anwendungen, die den DB2 JDBC Type 2-Treiber fr Linux, UNIX und Windows verwenden
Dieser Tracetyp wird in folgenden Fehlersituationen eingesetzt: v Fehler in einer JDBC-Anwendung, die den DB2 JDBC Type 2-Treiber fr Linux, UNIX oder Windows (DB2 JDBC Type 2-Treiber) verwendet. v Fehler in gespeicherten DB2-JDBC-Prozeduren. Anmerkung: Es gibt viele Schlsselwrter, die der Datei db2cli.ini hinzugefgt werden knnen und die sich auf das Anwendungsverhalten auswirken knnen. Diese Schlsselwrter knnen Anwendungsfehler entweder beheben oder auch verursachen. Einige Schlsselwrter werden in der CLI-Dokumentation nicht behandelt. Sie sind nur ber die DB2-Untersttzungsfunktion erhltlich. Befinden sich in Ihrer Datei db2cli.ini Schlsselwrter, die nicht dokumentiert sind, wurden sie wahrscheinlich von der DB2-Untersttzungsfunktion empfohlen. Intern verwendet der DB2 JDBC Type 2-Treiber den DB2 CLI-Treiber fr den Datenbankzugriff. Die Java-Methode getConnection() beispielsweise wird intern vom DB2 JDBC Type 2-Treiber der DB2 CLIFunktion SQLConnect() zugeordnet. Daher kann fr Java-Entwickler zustzlich zum DB2-JDBC-Trace auch ein DB2 CLI-Trace von Nutzen sein.
68
Fehlerbehebung
Standardmig befindet sich die Schlsselwortdatei fr die DB2 CLI/ODBC-Konfiguration auf Windows-Plattformen im Verzeichnis sqllib und auf UNIX-Plattformen im Verzeichnis sqllib/cfg der Datenbankinstanz, die die CLI/ODBC-Anwendungen ausfhrt. Wird zum Konfigurieren einer Benutzerdatenquelle auf der Windows-Plattform der ODBC-Treibermanager verwendet, wird die Datei db2cli.ini unter Umstnden im Ausgangsverzeichnis (Profilverzeichnis) des Benutzers erstellt. Es kann auch die Umgebungsvariable DB2CLIINIPATH verwendet werden, um den Standardwert zu berschreiben und eine andere Speicherposition fr die Datei anzugeben. Schritt 1. Erstellen Sie einen Pfad fr die Tracedateien. Es muss ein Pfad erstellt werden, auf den alle Benutzer Schreibzugriff haben. Verwenden Sie hierzu unter Windows beispielsweise folgenden Befehl:
mkdir c:\temp\trace
Schritt 2. Aktualisieren Sie die Schlsselwrter der CLI-Konfiguration. Dies kann entweder (A) durch manuelles Bearbeiten der Datei db2cli.ini oder (B) durch Verwenden des Befehls UPDATE CLI CFG erfolgen. Option A: Manuelle Bearbeitung der Datei db2cli.ini. a. ffnen Sie die Datei db2cli.ini in einem einfachen Texteditor. b. Fgen Sie der Datei den folgenden Abschnitt hinzu (bzw. hngen Sie einfach die Variablen an, falls der Abschnitt COMMON bereits vorhanden ist):
[COMMON] JDBCTrace=1 JDBCTracePathName=<pfad> JDBCTraceFlush=1
Hierbei steht <pfad> beispielsweise fr C:\temp\trace auf WindowsPlattformen bzw. fr /tmp/trace auf Linux- oder UNIX-Plattformen. c. Speichern Sie die Datei mit mindestens einer Leerzeile am Dateiende. (Hierdurch werden einige Parsingfehler vermieden.) Option B: Verwenden von UPDATE CLI CFG-Befehlen zum Aktualisieren der Datei db2cli.ini. Geben Sie die folgenden Befehle aus:
db2 UPDATE CLI CFG FOR SECTION COMMON USING JDBCTrace 1 db2 UPDATE CLI CFG FOR SECTION COMMON USING JDBCTracePathName <pfad>
Hierbei steht <pfad> beispielsweise fr C:\temp\trace auf WindowsPlattformen bzw. fr /tmp/trace auf Linux- oder UNIX-Plattformen.
db2 UPDATE CLI CFG FOR SECTION COMMON USING JDBCTraceFlush 1
Schritt 3. berprfen Sie die Konfiguration der Datei db2cli.ini. Geben Sie den folgenden Befehl aus, um zu prfen, ob die korrekten Schlsselwrter eingerichtet wurden und bercksichtigt werden:
db2 GET CLI CFG FOR SECTION COMMON
Schritt 4. Starten Sie die Anwendung erneut. Die Datei db2cli.ini wird nur beim Start der Anwendung gelesen. Daher muss die Anwendung erneut gestartet werden, damit die nderungen wirksam werden. Wird ein Trace fr eine gespeicherte JDBC-Prozedur erstellt, bedeutet dies den Neustart der DB2-Instanz. Schritt 5. Erfassen Sie den Fehler.
Kapitel 4. Tools fr die Fehlerbehebung
69
Fhren Sie die Anwendung so lange aus, bis der Fehler generiert wird, und schlieen Sie die Anwendung danach wieder. Grenzen Sie das Umfeld mglichst ein, sodass zum Zeitpunkt der Traceerstellung nur diejenigen JDBC-Anwendungen aktiv sind, die mit der erneuten Generierung des Fehlers in Zusammenhang stehen. Dadurch werden die Tracedateien leichter verstndlich. Schritt 6. Inaktivieren Sie die JDBC-Tracefunktion. Setzen Sie manuell das Schlsselwort JDBCTrace=0 im Abschnitt [COMMON] der Datei db2cli.ini, oder geben Sie folgende Befehle aus:
db2 UPDATE CLI CFG FOR SECTION COMMON USING Trace 0 db2 UPDATE CLI CFG FOR SECTION COMMON USING JDBCTrace 0
Starten Sie alle Anwendungen erneut, die aktiv sind und Traces erstellen. Schritt 7. Erfassen Sie die Tracedateien. Die JDBC-Tracedateien werden in den Pfad geschrieben, der im Schlsselwort JDBCTracePathName angegeben ist. Die Namen aller generierten Dateien enden mit der Erweiterung .trc. Es sind alle Dateien erforderlich, die zum Zeitpunkt der erneuten Fehlergenerierung im Tracepfad erstellt wurden. Wenn Sie die Tracefunktion zum Diagnostizieren von Anwendungsproblemen verwenden, ist zu bedenken, dass sich die Funktion auf die Anwendungsleistung auswirkt und dass dies alle Anwendungen betrifft, nicht nur die Testanwendung. Daher sollte darauf geachtet werden, die Tracefunktion wieder zu inaktivieren, nachdem der Fehler ermittelt wurde. Zugehrige Konzepte: v CLI/ODBC/JDBC trace facility in Call Level Interface Guide and Reference, Volume 1 v db2cli.ini initialization file in Call Level Interface Guide and Reference, Volume 1
Abrufen von Traces fr Anwendungen, die den DB2 Universal JDBC-Treiber verwenden
Wenn Sie ber eine SQLJ- oder JDBC-Anwendung verfgen, die den DB2 Universal JDBC-Treiber verwendet, gibt es verschiedene Mglichkeiten, einen JDBC-Trace zu aktivieren. Option A: Wenn Sie die Schnittstelle DataSource verwenden, um eine Verbindung zu einer Datenquelle herzustellen, aktivieren Sie die Tracefunktion mit Hilfe der Methoden DataSource.setTraceLevel() und DataSource.setTraceFile(). Option B: Wenn Sie die Schnittstelle DriverManager verwenden, um eine Verbindung zu einer Datenquelle herzustellen, lsst sich die Tracefunktion am einfachsten aktivieren, indem fr DriverManager vor dem Verbindungsaufbau logWriter gesetzt wird. Beispiel:
DriverManager.setLogWriter(new PrintWriter(new FileOutputStream("trace.txt")));
70
Fehlerbehebung
Option C: Wenn Sie die Schnittstelle DriverManager verwenden, knnen Sie beim Laden des Treibers alternativ auch die Merkmale traceFile und traceLevel als Teil der URL angeben. Beispiel:
String databaseURL = "jdbc:db2://hal:50000/sample:traceFile=c:/temp/foobar.txt;" ;
Zugehrige Konzepte: v Example of a trace program under the IBM DB2 Driver for JDBC and SQLJ in Developing Java Applications v JDBC and SQLJ problem diagnosis with the IBM DB2 Driver for JDBC and SQLJ in Developing Java Applications
CLI-Traces
CLI-Tracedateien
Die CLI-Tracefunktion erfasst Informationen zu Anwendungen, die auf den DB2 CLI-Treiber zugreifen. Die CLI-Tracefunktion bietet nur sehr wenige Informationen zu den internen Ablufen des DB2 CLI-Treibers. Dieser Tracetyp wird in Situationen eingesetzt, in denen Probleme auftreten mit: v einer CLI-Anwendung v einer ODBC-Anwendung (da ODBC-Anwendungen ber die DB2 CLI-Schnittstelle auf DB2 zugreifen) v gespeicherten DB2 CLI-Prozeduren v JDBC-Anwendungen und gespeicherten JDBC-Prozeduren Bei der Diagnose von ODBC-Anwendungen lassen sich Probleme hufig am einfachsten mit Hilfe eines ODBC-Trace oder eines DB2 CLI-Trace bestimmen. Wenn Sie einen ODBC-Treibermanager verwenden, steht wahrscheinlich auch die Funktionalitt zur Durchfhrung eines ODBC-Trace bereit. Die Dokumentation des Treibermanagers enthlt Informationen dazu, wie die ODBC-Tracefunktion aktiviert wird. DB2 CLI-Traces sind speziell auf DB2 ausgerichtet und enthalten hufig mehr Informationen als ein generischer ODBC-Trace. Beide Tracefunktionen sind normalerweise recht hnlich, indem sie die Eingangs- und Ausgangspunkte aller CLIAufrufe von einer Anwendung auflisten, einschlielich aller Parameter und Rckkehrcodes fr diese Aufrufe. Der DB2 JDBC Type 2-Treiber fr Linux, UNIX und Windows (DB2 JDBC Type 2-Treiber) hngt beim Zugriff auf die Datenbank vom DB2 CLI-Treiber ab. Folglich mssen Java-Entwickler auch die DB2 CLI-Tracefunktion aktivieren, um zustzliche Informationen darber zu erhalten, wie ihre Anwendungen mit der Datenbank ber die verschiedenen Softwareschichten interagieren. Die DB2 JDBC-Tracefunktion und die DB2 CLI-Tracefunktion sind voneinander unabhngig, auch wenn beide in der Datei db2cli.ini festgelegt werden. Zugehrige Konzepte: v CLI and JDBC trace files in Call Level Interface Guide and Reference, Volume 1 v CLI/ODBC/JDBC trace facility in Call Level Interface Guide and Reference, Volume 1
Kapitel 4. Tools fr die Fehlerbehebung
71
Schritt 2. Aktualisieren Sie die Schlsselwrter der CLI-Konfiguration. Dies kann entweder (A) durch manuelles Bearbeiten der Datei db2cli.ini oder (B) durch Verwenden des Befehls UPDATE CLI CFG erfolgen. Option A: Manuelle Bearbeitung der Datei db2cli.ini. a. ffnen Sie die Datei db2cli.ini in einem einfachen Texteditor. b. Fgen Sie der Datei den folgenden Abschnitt hinzu (bzw. hngen Sie einfach die Variablen an, falls der Abschnitt COMMON bereits vorhanden ist):
[COMMON] Trace=1 TracePathName=<pfad> TraceComm=1 TraceFlush=1 TraceTimeStamp=1 TraceScript=1
Hierbei steht <pfad> beispielsweise fr C:\temp\trace unter Windows bzw. fr /tmp/trace unter Linux und UNIX. c. Speichern Sie die Datei mit mindestens einer Leerzeile am Dateiende. (Hierdurch werden einige Parsingfehler vermieden.) Option B: Verwenden von UPDATE CLI CFG-Befehlen zum Aktualisieren der Datei db2cli.ini. Geben Sie die folgenden Befehle aus:
72
Fehlerbehebung
db2 UPDATE CLI CFG FOR SECTION COMMON USING Trace 1 db2 UPDATE CLI CFG FOR SECTION COMMON USING TracePathName <pfad>
Hierbei steht <pfad> beispielsweise fr C:\temp\trace unter Windows bzw. fr /tmp/trace unter Linux und UNIX.
db2 UPDATE CLI CFG FOR SECTION COMMON USING TraceComm 1 db2 UPDATE CLI CFG FOR SECTION COMMON USING TraceFlush 1 db2 UPDATE CLI CFG FOR SECTION COMMON USING TraceTimeStamp 3
Schritt 3. berprfen Sie die Konfiguration der Datei db2cli.ini. Geben Sie den folgenden Befehl aus, um zu prfen, ob die korrekten Schlsselwrter eingerichtet wurden und bercksichtigt werden:
db2 GET CLI CFG FOR SECTION COMMON
Schritt 4. Starten Sie die Anwendung erneut. Die Datei db2cli.ini wird nur beim Start der Anwendung gelesen. Daher muss die Anwendung erneut gestartet werden, damit die nderungen wirksam werden. Wird ein Trace fr eine gespeicherte CLI-Prozedur erstellt, bedeutet dies den Neustart der DB2-Instanz. Schritt 5. Erfassen Sie den Fehler. Fhren Sie die Anwendung so lange aus, bis der Fehler generiert wird, und schlieen Sie die Anwendung danach wieder. Falls mglich, grenzen Sie das Fehlerumfeld ein, sodass zum Zeitpunkt der Traceerstellung nur diejenigen Anwendungen aktiv sind, die mit der erneuten Generierung des Fehlers in Zusammenhang stehen. Dadurch wird die Analyse des Traces deutlich vereinfacht. Schritt 6. Inaktivieren Sie die CLI-Tracefunktion. Setzen Sie im Abschnitt [COMMON] der Datei db2cli.ini das Schlsselwort Trace manuell auf den Wert 0, oder setzen Sie den folgenden Befehl ab:
db2 UPDATE CLI CFG FOR SECTION COMMON USING Trace 0
Starten Sie anschlieen alle Anwendungen erneut, die mglicherweise aktiv sind und Traces erstellen. Schritt 7. Erfassen Sie die Trace-Informationen. Die CLI-Tracedateien werden in den Pfad geschrieben, der im Schlsselwort TracePathName angegeben ist. Die Dateinamen werden im Format p<pid>t<tid>.cli generiert. Hierbei steht <pid> fr die vom Betriebssystem zugeordnete Prozess-ID und <tid> fr den numerischen Zhler, der bei 0 beginnt und jeweils fr jeden Thread vom Anwendungsprozess generiert wird. Beispiel: p1234t1.cli. Wenn Sie bei der Fehlerdiagnose mit der DB2-Untersttzungsfunktion zusammenarbeiten, mssen Sie mglicherweise alle Dateien einreichen, die im Tracepfad generiert wurden. Wenn Sie die Tracefunktion zum Diagnostizieren von Anwendungsproblemen verwenden, ist zu bedenken, dass sich die Funktion auf die Anwendungsleistung auswirkt und dass dies alle Anwendungen betrifft, nicht nur die Testanwendung. Daher sollte darauf geachtet werden, die Tracefunktion wieder zu inaktivieren, nachdem der Fehler ermittelt wurde. Zugehrige Konzepte: v CLI-Tracedateien auf Seite 71 v CLI/ODBC/JDBC trace facility in Call Level Interface Guide and Reference, Volume 1
Kapitel 4. Tools fr die Fehlerbehebung
73
Zugehrige Referenzen: v CLI/ODBC configuration keywords listing by category in Call Level Interface Guide and Reference, Volume 1
Der erste Aufruf an die CLI-Funktion zeigt die Eingabeparameter und die ihnen zugeordneten Werte (wie zutreffend). Wenn CLI-Funktionen eine Rckgabe liefern, zeigen sie die resultierenden Ausgabeparameter. Beispiel:
SQLAllocStmt( phStmt=1:1 ) <--- SQL_SUCCESS Time elapsed - +4.444000E-003 seconds
In diesem Fall gibt die CLI-Funktion SQLAllocStmt() den Ausgabeparameter phStmt mit dem Wert 1:1 (Verbindungskennung 1, Anweisungskennung 1) zurck. Zugehrige Konzepte: v CLI and JDBC trace files in Call Level Interface Guide and Reference, Volume 1 v CLI-Tracedateien auf Seite 71 Zugehrige Referenzen: v CLI and ODBC function summary in Call Level Interface Guide and Reference, Volume 2
74
Fehlerbehebung
Der folgende Traceeintrag zeigt die Vorbereitung der SQL-Anweisung (? stellt eine Parametermarke dar):
SQLPrepare( hStmt=1:1, pszSqlStr= "select * from employee where empno = ?", cbSqlStr=-3 ) ---> Time elapsed - +1.648000E-003 seconds ( StmtOut="select * from employee where empno = ?" ) SQLPrepare( ) <--- SQL_SUCCESS Time elapsed - +5.929000E-003 seconds
Der folgende Traceeintrag zeigt das Binden der Parametermarke als Zeichensatz (CHAR) mit einer Maximallnge von 7:
SQLBindParameter( hStmt=1:1, iPar=1, fParamType=SQL_PARAM_INPUT, fCType=SQL_C_CHAR, fSQLType=SQL_CHAR, cbColDef=7, ibScale=0, rgbValue=&00854f28, cbValueMax=7, pcbValue=&00858534 ) ---> Time elapsed - +1.348000E-003 seconds SQLBindParameter( ) <--- SQL_SUCCESS Time elapsed - +7.607000E-003 seconds
Die dynamische SQL-Anweisung wird nun ausgefhrt. Mit rbgValue=000010 wird der Wert angegeben, durch den die Parametermarke whrend der Laufzeit von der Anwendung ersetzt wurde:
SQLExecute( hStmt=1:1 ) ---> Time elapsed - +1.317000E-003 seconds ( iPar=1, fCType=SQL_C_CHAR, rgbValue="000010" - X"303030303130", pcbValue=6, piIndicatorPtr=6 ) sqlccsend( ulBytes - 384 ) sqlccsend( Handle - 14437216 ) sqlccsend( ) - rc - 0, time elapsed - +1.915000E-003 sqlccrecv( ) sqlccrecv( ulBytes - 1053 ) - rc - 0, time elapsed - +8.808000E-003 SQLExecute( ) <--- SQL_SUCCESS Time elapsed - +2.213300E-002 seconds
(Dieser Zeitwert gibt die Zeit an, die seit dem letzten CLI-API-Aufruf in der Anwendung verbracht wurde.)
SQLAllocStmt( phStmt=1:1 ) <--- SQL_SUCCESS Time elapsed - +4.444000E-003 seconds
(Seit Abschluss der Funktion gibt dieser Zeitwert die in DB2 verbrachte Zeit an, einschlielich der Netzbertragungszeit.) Eine andere Mglichkeit zur Erfassung von Zeitdaten ist die Verwendung des CLISchlsselworts TraceTimeStamp. Mit Hilfe dieses Schlsselworts wird fr jeden
75
Aufruf und jedes Ergebnis der DB2 CLI-API eine Zeitmarke erstellt. Das Schlsselwort verfgt ber 3 Anzeigeoptionen mit oder ohne ISO-Zeitmarken und/oder Prozessortaktimpulsen. Dies kann von groem Nutzen sein, wenn Sie mit zeitbezogenen Problemen wie beispielsweise Funktionsfolgefehlern (CLI0125E) zu tun haben. Dies kann ebenfalls ntzlich sein, wenn Sie mit Multithreading-Anwendungen arbeiten und versuchen zu ermitteln, welches Ereignis zuerst auftrat. Zugehrige Konzepte: v CLI and JDBC trace files in Call Level Interface Guide and Reference, Volume 1 v CLI-Tracedateien auf Seite 71 v CLI/ODBC/JDBC trace facility in Call Level Interface Guide and Reference, Volume 1 Zugehrige Referenzen: v TraceTimestamp CLI/ODBC configuration keyword in Call Level Interface Guide and Reference, Volume 1
Im obigen CLI-Trace gibt der Schlsselsatzparser den Rckkehrcode 1100 an, der bedeutet, dass fr die Tabelle kein eindeutiger Index oder Primrschlssel vorhanden ist und daher kein Schlsselsatzcursor erstellt werden konnte. Diese Rckkehrcodes werden nicht extern bereitgestellt, sodass Sie an dieser Stelle die DB2-Untersttzungsfunktion kontaktieren mssten, wenn Sie weitere Informationen zur Bedeutung des Rckkehrcodes haben wollten. Das Aufrufen von SQLError oder SQLDiagRec gibt an, dass der Cursortyp gendert wurde. Die Anwendung sollte in diesem Fall den Cursortyp und den gemeinsamen Zugriff abfragen, um zu ermitteln, welches Attribut gendert wurde.
76
Fehlerbehebung
Zugehrige Konzepte: v CLI and JDBC trace files in Call Level Interface Guide and Reference, Volume 1 v CLI-Tracedateien auf Seite 71 v CLI/ODBC/JDBC trace facility in Call Level Interface Guide and Reference, Volume 1
Sie knnen die Traceausgabe fr eine Multithreading-Anwendung auch in eine Datei schreiben lassen. Verwenden Sie hierzu das CLI-Schlsselwort TraceFileName. Auf diese Weise wird eine Datei Ihrer Wahl generiert, die unter Umstnden jedoch mhsam zu lesen ist, da bestimmte APIs in einem Thread gleichzeitig mit einer API in einem anderen Thread ausgefhrt werden knnen, was beim Prfen der Traceausgabe verwirrend sein kann. Es wird generell empfohlen, TraceTimeStamp einzuschalten, um die tatschliche Reihenfolge der Ereignisse ermitteln zu knnen, indem die Uhrzeit geprft wird, zu der eine betreffende API ausgefhrt wurde. Dies kann besonders bei der Untersuchung von Problemen ntzlich sein, die darauf zurckzufhren sind, dass ein Thread einen Fehler in einem anderen Thread ausgelst hat (beispielweise CLI0125E - Funktionsfolgefehler). Zugehrige Konzepte: v CLI and JDBC trace files in Call Level Interface Guide and Reference, Volume 1 v CLI-Tracedateien auf Seite 71 v CLI/ODBC/JDBC trace facility in Call Level Interface Guide and Reference, Volume 1
77
Verwenden Sie dieses Tool, um zu ermitteln, welche DB2-Prozesse aktiv sind, und um Leistungsprobleme zu diagnostizieren. Mit Hilfe dieses Tools knnen Sie die Speichernutzung, die Speichergrenzen, den verwendeten Auslagerungsspeicher und den Speicherverlust fr ein Prozess feststellen. Zum ffnen des Task-Managers drcken Sie die Tasten Strg + Alt + Entf, und klicken Sie in den verfgbaren Optionen Task-Manager an. Dr. Watson Das Dienstprogramm Dr. Watson wird aufgerufen, wenn ein allgemeiner Schutzfehler (GPF - General Protection Fault) auftritt. Es protokolliert Daten, die bei der Diagnose eines Problems behilflich sein knnen, und speichert diese Informationen in einer Datei. Sie mssen dieses Dienstprogramm durch Eingabe des Befehls drwatson in die Eingabeaufforderung starten. Mit DB2 bereitgestellte Tools DB2 liefert Tools fr Verwaltung und Entwicklung, die Ihnen bei der Bestimmung von DB2-Problemen helfen knnen, wie beispielsweise die Protokolle mit Benachrichtigungen fr die Systemverwaltung. ODBC- und CLI-Tracefunktionen CLI-Tracefunktionen helfen bei der Ermittlung von Fehlern in CLI- und ODBC-Anwendungen. Zugehrige Konzepte: v Diagnosetools (Linux und UNIX) auf Seite 78 v Informationen von First Failure Data Capture (FFDC) auf Seite 3
78
Fehlerbehebung
v Wenn Sie herausfinden wollen, ob es Probleme mit der Token-Ring-Karte oder der Festplatte gibt, prfen Sie die Ausgabe des Befehls errpt auf die Zeichenfolgen disk und tr0. lsps lsattr Der Befehl lsps -a berwacht die Verwendung von Paging-Bereich und zeigt Informationen dazu an. Dieser Befehl zeigt verschiedene Parameter des Betriebssystems an. Verwenden Sie zum Beispiel den folgenden Befehl, um die Gre des Realspeichers auf dem Knoten zu ermitteln:
lsattr -l sys0 -E
xmperf Fr AIX-Systeme mit Motif startet dieser Befehl einen grafischen Monitor, der Leistungsdaten zum jeweiligen System erfasst und anzeigt. Der Monitor zeigt dreidimensionale Diagramme fr jeden Knoten in einem Fenster an und eignet sich gut zur berwachung auf hoher Ebene. Wenn jedoch das Aktivittsvolumen niedrig ist, hat die Ausgabe dieses Monitors nur begrenzten Wert. spmon Werden mehrere Knoten auf RS/6000 SP-Systemen verwendet, mssen Sie unter Umstnden prfen, ob der Hochleistungsswitch (HPS) auf allen Workstations aktiv ist. Zum Anzeigen des Status aller Knoten verwenden Sie von der Steuerworkstation aus einen der folgenden Befehle: v spmon -d fr ASCII-Ausgabe v spmon -g fr eine grafische Benutzerschnittstelle Alternativ knnen Sie den Befehl netstat -i auf einer Knotenworkstation verwenden, um zu prfen, ob der Switch inaktiv ist.Wenn der Switch inaktiv ist, steht neben dem Knotennamen ein Stern (*). Beispiel:
css0* 65520 <Link>0.0.0.0.0.0
Der Stern wird nicht angezeigt, wenn der Switch aktiv ist.
truss
79
pstack Der Befehl /usr/proc/bin/pstack steht unter Solaris 2.5.1 oder einer spteren Version zur Verfgung und zeigt Stack-Traceback-Informationen an.Das Verzeichnis /usr/proc/bin enthlt weitere Tools zur Behebung von Fehlern in Prozessen, die blockiert zu sein scheinen.
netstat
80
Fehlerbehebung
81
82
Fehlerbehebung
83
Vorgehensweise: 1. Greifen Sie auf das neueste DB2-Fixpack zu, indem Sie die Programmverbindung (Link) fr Downloads von Fixpacks auf der Website der DB2-Untersttzung unter http://www.ibm.com/software/data/db2/udb/support.html auswhlen, und laden Sie das Fixpack herunter. Zugehrige Referenzen: v db2setup - Install DB2 command in Command Reference v installFixPack - Update installed DB2 products command in Command Reference v setup - Install DB2 command in Command Reference
84
Fehlerbehebung
85
Verwenden Sie diese E-Mail-Adresse nicht, wenn Sie sich an die DB2-Kundenuntersttzung wenden mchten. Wenn ein technisches Problem bei DB2 vorliegt, das Sie mit Hilfe der Dokumentation nicht beheben knnen, fordern Sie beim zustndigen IBM Service-Center Untersttzung an. Zugehrige Konzepte: v Funktionen der DB2-Informationszentrale in der DB2-Informationszentrale (online) v Sample files in den Beispielthemen Zugehrige Tasks: v Aufrufen der Hilfe fr Befehle ber den Befehlszeilenprozessor in Command Reference v Aufrufen der Hilfe fr Nachrichten ber den Befehlszeilenprozessor in Command Reference v Aktualisieren der auf Ihrem Computer oder Intranet-Server installierten DB2Informationszentrale auf Seite 91 Zugehrige Referenzen: v Bibliothek mit technischen Informationen zu DB2 im PDF-Format auf Seite 86
Administrative SQL Routines and SC10-4293 Views Call Level Interface Guide and Reference, Volume 1 Call Level Interface Guide and Reference, Volume 2 Command Reference SC10-4224 SC10-4225 SC10-4226
86
Fehlerbehebung
Tabelle 1. Technische Informationen zu DB2 (Forts.) Name Dienstprogramme fr das Versetzen von Daten Handbuch und Referenz Datenrecovery und hohe Verfgbarkeit Handbuch und Referenz Developing ADO.NET and OLE DB Applications Developing Embedded SQL Applications Developing SQL and External Routines Developing Java Applications Developing Perl and PHP Applications Getting Started with Database Application Development IBM Form SC12-3634 In gedrucktem Format verfgbar Ja
Ja Ja Ja Nein Ja Nein Ja Ja
Installation und Verwaltung von GC12-3638 DB2 unter Linux und Windows Erste Schrittte Fehlernachrichten, Band 1 Fehlernachrichten, Band 2 Migration Net Search Extender Verwaltung und Benutzerhandbuch Anmerkung: Die HTML-Version dieses Dokuments wird nicht von der HTML-Dokumentations-CD installiert. Systemverwaltung: Optimierung Query Patroller Verwaltung und Benutzerhandbuch DB2-Clients - Einstieg DB2-Server - Einstieg SC12-3643 SC12-3644 GC12-3639 SH12-3054
Nein Nein Ja Ja
Ja Ja Nein Ja Ja
Spatial Extender und Geodetic SC12-3722 Data Management Feature Benutzer- und Referenzhandbuch SQL Guide SQL Reference, Volume 1 SQL Reference, Volume 2 Systemmonitor Handbuch und Referenz Fehlerbehebung SC10-4248 SC10-4249 SC10-4250 SC12-3633 GC12-3635
Ja Ja Ja Ja Nein Nein Ja
87
Tabelle 1. Technische Informationen zu DB2 (Forts.) Name XML Extender Verwaltung und Programmierung XML-Handbuch XQuery Reference IBM Form SC12-3723 SC12-3632 SC18-9796 In gedrucktem Format verfgbar Ja Ja Ja
Tabelle 2. Technische Informationen zu DB2 Connect Name DB2 Connect Benutzerhandbuch DB2 Connect Personal Edition Einstieg DB2 Connect-Server - Einstieg IBM Form SC12-3642 GC12-3725 GC12-3641 In gedrucktem Format verfgbar Ja Ja Ja
Tabelle 3. Technische Informationen zu WebSphere Information Integration Name WebSphere Information Integration: Administration Guide for Federated Systems IBM Form SC19-1020 In gedrucktem Format verfgbar Ja
WebSphere Information IntegraSC19-1018 tion: ASNCLP Program Reference for Replication and Event Publishing WebSphere Information Integration: Konfiguration fderierter Datenquellen WebSphere Information Integration: SQL Replication Handbuch und Referenz SC12-3777
Ja
Nein
SC12-3782
Ja
Anmerkung: Die DB2-Release-Informationen enthalten zustzliche Informationen fr das verwendete Produktrelease und die verwendete Fixpackstufe. Weitere Informationen hierzu finden Sie mit Hilfe der zugehrigen Links. Zugehrige Konzepte: v bersicht ber technische Informationen zu DB2 auf Seite 85 v Anmerkungen zu den Release-Informationen in den Release-Informationen Zugehrige Tasks: v Bestellen gedruckter DB2-Bcher auf Seite 89
88
Fehlerbehebung
89
Hierbei steht sqlstate fr einen gltigen fnfstelligen SQL-Statuswert und klassencode fr die ersten beiden Ziffern dieses Statuswertes. So kann beispielsweise durch die Eingabe von ? 08003 Hilfe fr den SQL-Statuswert 08003 angezeigt werden, durch die Eingabe von ? 08 Hilfe fr den Klassencode 08. Zugehrige Tasks: v Aufrufen der Hilfe fr Befehle ber den Befehlszeilenprozessor in Command Reference v Aufrufen der Hilfe fr Nachrichten ber den Befehlszeilenprozessor in Command Reference
90
Fehlerbehebung
1. Klicken Sie im Internet Explorer Extras > Internetoptionen... > Sprachen... an. Das Fenster Spracheinstellung wird geffnet. 2. Stellen Sie sicher, dass die gewnschte Sprache als erster Eintrag in der Liste angegeben ist. v Klicken Sie den Knopf Hinzufgen... an, um eine neue Sprache zur Liste hinzuzufgen. Anmerkung: Das Hinzufgen einer Sprache bedeutet nicht zwangslufig, dass der Computer ber die erforderlichen Schriftarten verfgt, um die Themen in der gewnschten Sprache anzuzeigen. v Um eine Sprache an den Anfang der Liste zu verschieben, whlen Sie zunchst die gewnschte Sprache und anschlieend den Knopf Nach oben aus, bis die Sprache an erster Stelle in der Liste steht. 3. Lschen Sie den Inhalt des Browser-Cache, und aktualisieren Sie anschlieend die Seite, um die DB2-Informationszentrale in der gewnschten Sprache anzuzeigen. Um Themen in der gewnschten Sprache in einem Firefox- oder Mozilla-Browser anzuzeigen, gehen Sie wie folgt vor: 1. Whlen Sie Tools > Options > Languages aus. Die Anzeige fr die Auswahl der Sprache wird im Fenster mit den Einstellungen aufgerufen. 2. Stellen Sie sicher, dass die gewnschte Sprache als erster Eintrag in der Liste angegeben ist. v Wenn Sie eine neue Sprache zur Liste hinzufgen mchten, klicken Sie den Knopf Add... an, um eine Sprache im entsprechenden Fenster auszuwhlen. v Um eine Sprache an den Anfang der Liste zu verschieben, whlen Sie zunchst die gewnschte Sprache und anschlieend den Knopf Move Up aus, bis die Sprache an erster Stelle in der Liste steht. 3. Lschen Sie den Inhalt des Browser-Cache, und aktualisieren Sie anschlieend die Seite, um die DB2-Informationszentrale in der gewnschten Sprache anzuzeigen. Bei einigen Kombinationen aus Browser und Betriebssystem mssen Sie mglicherweise auch die Lndereinstellungen des Betriebssystems in die gewnschte Locale und Sprache ndern. Zugehrige Konzepte: v bersicht ber technische Informationen zu DB2 auf Seite 85
91
icupdate.html. Sie knnen dann die lokal installierte Informationszentrale aktualisieren, falls eine neuere fr den Download verfgbare Aktualisierung zur Verfgung steht. Zur Aktualisierung der lokal installierten DB2-Informationszentrale sind die folgenden Schritte erforderlich: 1. Stoppen Sie die DB2-Informationszentrale auf Ihrem Computer, und starten Sie die Informationszentrale im Standalone-Modus erneut. Durch die Ausfhrung der Informationszentrale im Standalone-Modus wird verhindert, dass andere Benutzer in Ihrem Netz auf die Informationszentrale zugreifen, und ermglicht Ihnen das Herunterladen und Anwenden von Aktualisierungen. 2. Verwenden Sie die Aktualisierungsfunktion, um festzustellen, ob Aktualisierungspakete von IBM verfgbar sind. Anmerkung: Darber hinaus sind Aktualisierungen auf CD verfgbar. Einzelheiten zur Konfiguration Ihrer Informationszentrale fr die Installation von Aktualisierungen von einer CD finden Sie unter den zugehrigen Links. Ist dies der Fall, verwenden Sie die Aktualisierungsfunktion, um die Pakete herunterzuladen. (Die Aktualisierungsfunktion ist nur im Standalone-Modus verfgbar.) 3. Stoppen Sie die im Standalone-Modus gestartete Informationszentrale, und starten Sie den Service der DB2-Informationszentrale auf Ihrem Computer erneut. Vorgehensweise: Gehen Sie wie folgt vor, um die auf Ihrem Computer bzw. Intranet-Server installierte DB2-Informationszentrale zu aktualisieren: 1. Stoppen Sie den Service der DB2-Informationszentrale. v Unter Windows: Klicken Sie Start Einstellungen Systemsteuerung Verwaltung Dienste an. Klicken Sie mit der rechten Maustaste die DB2Informationszentrale an, und whlen Sie Stoppen aus. v Unter Linux: Geben Sie den folgenden Befehl ein:
/etc/init.d/db2icdv9 stop
2. Starten Sie die Informationszentrale im Standalone-Modus. v Unter Windows: a. ffnen Sie ein Befehlsfenster. b. Navigieren Sie zu dem Pfad, in dem die Informationszentrale installiert ist. Standardmig ist die DB2-Informationszentrale im Verzeichnis C:\Programme\IBM\DB2 Information Center\Version 9 installiert. c. Fhren Sie die Datei help_start.bat aus, und verwenden Sie dabei den vollstndig qualifizierten Pfad fr die DB2-Informationszentrale:
<verzeichnis_der_db2_informationszentrale>\doc\bin\help_start.bat
v Unter Linux: a. Navigieren Sie zu dem Pfad, in dem die Informationszentrale installiert ist. Standardmig ist die DB2-Informationszentrale im Verzeichnis /opt/ ibm/db2ic/V9 installiert. b. Fhren Sie das Script help_start aus, und verwenden Sie dabei den vollstndig qualifizierten Pfad fr die DB2-Informationszentrale:
<verzeichnis_der_db2_informationszentrale>/doc/bin/help_start
92
Fehlerbehebung
Der standardmig auf dem System verwendete Web-Browser wird aufgerufen und zeigt die Standalone-Informationszentrale an. 3. Klicken Sie den Aktualisierungsknopf ( ) an. Klicken Sie im rechten Fenster der Informationszentrale den Knopf fr die Suche nach Aktualisierungen an. Eine Liste der Aktualisierungen fr die vorhandene Dokumentation wird angezeigt. 4. Whlen Sie zum Initiieren des Downloadprozesses die gewnschten Aktualisierungen aus, und klicken Sie anschlieend den Knopf fr die Installation der Aktualisierungen an. 5. Klicken Sie nach Abschluss des Download- und Installationsprozesses Fertig stellen an. 6. Stoppen Sie die im Standalone-Modus gestartete Informationszentrale. v Unter Windows: Fhren Sie die Datei help_end.bat aus, und verwenden Sie dabei den vollstndig qualifizierten Pfad fr die DB2-Informationszentrale:
<verzeichnis_der_db2_informationszentrale>\doc\bin\help_end.bat
Anmerkung: Die Stapeldatei help_end enthlt die Befehle, die erforderlich sind, um die Prozesse, die mit der Stapeldatei help_start gestartet wurden, ordnungsgem zu beenden. Verwenden Sie nicht die Tastenkombination Strg+C oder eine andere Methode, um help_start.bat zu beenden. v Unter Linux: Fhren Sie das Script help_end aus, und verwenden Sie dabei den vollstndig qualifizierten Pfad fr die DB2-Informationszentrale:
<verzeichnis_der_db2_informationszentrale>/doc/bin/help_end
Anmerkung: Das Script help_end enthlt die Befehle, die erforderlich sind, um die Prozesse, die mit dem Script help_start gestartet wurden, ordnungsgem zu beenden. Verwenden Sie keine andere Methode, um das Script help_start zu beenden. 7. Starten Sie den Service der DB2-Informationszentrale erneut. v Unter Windows: Klicken Sie Start Einstellungen Systemsteuerung Verwaltung Dienste an. Klicken Sie mit der rechten Maustaste die DB2Informationszentrale an, und whlen Sie Starten aus. v Unter Linux: Geben Sie den folgenden Befehl ein:
/etc/init.d/db2icdv9 start
In der aktualisierten DB2-Informationszentrale werden die neuen und aktualisierten Themen angezeigt. Zugehrige Konzepte: v Optionen fr die Installation der DB2-Informationszentrale in DB2-Server Einstieg Zugehrige Tasks: v Installation der DB2-Informationszentrale mit dem DB2-Installationsassistenten (Linux) in DB2-Server - Einstieg v Installation der DB2-Informationszentrale mit dem DB2-Installationsassistenten (Windows) in DB2-Server - Einstieg
93
DB2-Lernprogramme
Die DB2-Lernprogramme untersttzen Sie dabei, sich mit den unterschiedlichen Aspekten der DB2-Produkte vertraut zu machen. Die Lerneinheiten bieten eine in einzelne Schritte unterteilte Anleitung. Vorbereitungen: Die XHTML-Version des Lernprogramms kann ber die Informationszentrale unter http://publib.boulder.ibm.com/infocenter/db2help/ angezeigt werden. In einigen der Lerneinheiten werden Beispieldaten und Codebeispiele verwendet. Informationen zu bestimmten Voraussetzungen fr die Ausfhrung der Tasks finden Sie in der Beschreibung des Lernprogramms. DB2-Lernprogramme: Klicken Sie zum Anzeigen des Lernprogramms den Titel an. Nativer XML-Datenspeicher Einrichten einer DB2-Datenbank, um XML-Daten zu speichern und Basisoperationen mit dem nativen XML-Datenspeicher auszufhren. Lernprogramm fr Visual Explain Analysieren, Optimieren und Anpassen von SQL-Anweisungen zur Leistungsverbesserung mit Hilfe von Visual Explain. Zugehrige Konzepte: v bersicht ber Visual Explain in Systemverwaltung: Implementierung
94
Fehlerbehebung
Zugehrige Konzepte: v Einfhrung in die Fehlerbestimmung auf Seite 1 v bersicht ber technische Informationen zu DB2 auf Seite 85
Bedingungen
Die Berechtigungen zur Nutzung dieser Verffentlichungen werden Ihnen auf der Basis der folgenden Bedingungen gewhrt. Persnliche Nutzung: Sie drfen diese Verffentlichungen fr Ihre persnliche, nicht kommerzielle Nutzung unter der Voraussetzung vervielfltigen, dass alle Eigentumsvermerke erhalten bleiben. Sie drfen diese Verffentlichungen oder Teile der Verffentlichungen ohne ausdrckliche Genehmigung von IBM nicht weitergeben, anzeigen oder abgeleitete Werke davon erstellen. Kommerzielle Nutzung: Sie drfen diese Verffentlichungen nur innerhalb Ihres Unternehmens und unter der Voraussetzung, dass alle Eigentumsvermerke erhalten bleiben, vervielfltigen, weitergeben und anzeigen. Sie drfen diese Verffentlichungen oder Teile der Verffentlichungen ohne ausdrckliche Genehmigung von IBM auerhalb Ihres Unternehmens nicht vervielfltigen, weitergeben, anzeigen oder abgeleitete Werke davon erstellen. Abgesehen von den hier gewhrten Berechtigungen erhalten Sie keine weiteren Berechtigungen, Lizenzen oder Rechte (verffentlicht oder stillschweigend) in Bezug auf die Verffentlichungen oder darin enthaltene Informationen, Daten, Software oder geistiges Eigentum. IBM behlt sich das Recht vor, die in diesem Dokument gewhrten Berechtigungen nach eigenem Ermessen zurckzuziehen, wenn sich die Nutzung der Verffentlichungen fr IBM als nachteilig erweist oder wenn die obigen Nutzungsbestimmungen nicht genau befolgt werden. Sie drfen diese Informationen nur in bereinstimmung mit allen anwendbaren Gesetzen und Vorschriften, einschlielich aller US-amerikanischen Exportgesetze und Verordnungen, herunterladen und exportieren. IBM bernimmt keine Gewhrleistung fr den Inhalt dieser Informationen. Diese Verffentlichungen werden auf der Grundlage des gegenwrtigen Zustands (auf as-is-Basis) und ohne eine ausdrckliche oder stillschweigende Gewhrleistung fr die Handelsblichkeit, die Verwendungsfhigkeit oder die Freiheit der Rechte Dritter zur Verfgung gestellt.
95
96
Fehlerbehebung
Anhang B. Bemerkungen
Mglicherweise bietet IBM die in dieser Dokumentation beschriebenen Produkte, Services oder Funktionen nicht in allen Lndern an. Informationen ber die gegenwrtig im jeweiligen Land verfgbaren Produkte und Services sind beim IBM Ansprechpartner erhltlich. Hinweise auf IBM Lizenzprogramme oder andere IBM Produkte bedeuten nicht, dass nur Programme, Produkte oder Services von IBM verwendet werden knnen. An Stelle der Produkte, Programme oder Services knnen auch andere ihnen quivalente Produkte, Programme oder Services verwendet werden, solange diese keine gewerblichen oder andere Schutzrechte der IBM verletzen. Die Verantwortung fr den Betrieb der Produkte, Programme oder Dienstleistungen in Verbindung mit Fremdprodukten und Fremddienstleistungen liegt beim Kunden, soweit nicht ausdrcklich solche Verbindungen erwhnt sind. Fr in diesem Handbuch beschriebene Erzeugnisse und Verfahren kann es IBM Patente oder Patentanmeldungen geben. Mit der Auslieferung dieses Handbuchs ist keine Lizenzierung dieser Patente verbunden. Lizenzanforderungen sind schriftlich an folgende Adresse zu richten (Anfragen an diese Adresse mssen auf Englisch formuliert werden): IBM Director of Licensing IBM Europe, Middle East & Africa Tour Descartes 2, avenue Gambetta 92066 Paris La Defense France Trotz sorgfltiger Bearbeitung knnen technische Ungenauigkeiten oder Druckfehler in dieser Verffentlichung nicht ausgeschlossen werden. Die Angaben in diesem Handbuch werden in regelmigen Zeitabstnden aktualisiert. Die nderungen werden in berarbeitungen bekanntgegeben. IBM kann ohne weitere Mitteilung jederzeit Verbesserungen und/oder nderungen an den in dieser Verffentlichung beschriebenen Produkten und/oder Programmen vornehmen. Verweise in diesen Informationen auf Websites anderer Anbieter dienen lediglich als Benutzerinformationen und stellen keinerlei Billigung des Inhalts dieser Websites dar. Das ber diese Websites verfgbare Material ist nicht Bestandteil des Materials fr dieses IBM Produkt; die Verwendung dieser Websites geschieht auf eigene Verantwortung. Werden an IBM Informationen eingesandt, knnen diese beliebig verwendet werden, ohne dass eine Verpflichtung gegenber dem Einsender entsteht. Lizenznehmer des Programms, die Informationen zu diesem Produkt wnschen mit der Zielsetzung: (i) den Austausch von Informationen zwischen unabhngigen, erstellten Programmen und anderen Programmen (einschlielich des vorliegenden Programms) sowie (ii) die gemeinsame Nutzung der ausgetauschten Informationen zu ermglichen, wenden sich an folgende Adresse: IBM Canada Limited Office of the Lab Director 8200 Warden Avenue Markham, Ontario L6G 1C7 CANADA
97
Die Bereitstellung dieser Informationen kann unter Umstnden von bestimmten Bedingungen - in einigen Fllen auch von der Zahlung einer Gebhr - abhngig sein. Die Lieferung des im Dokument aufgefhrten Lizenzprogramms sowie des zugehrigen Lizenzmaterials erfolgt auf der Basis der IBM Rahmenvereinbarung sowie der Allgemeinen Geschftsbedingungen von IBM, der Internationalen Nutzungsbedingungen der IBM fr Programmpakete oder einer quivalenten Vereinbarung. Alle in diesem Dokument enthaltenen Leistungsdaten stammen aus einer gesteuerten Umgebung. Die Ergebnisse, die in anderen Betriebsumgebungen erzielt werden, knnen daher erheblich von den hier erzielten Ergebnissen abweichen. Einige Daten stammen mglicherweise von Systemen, deren Entwicklung noch nicht abgeschlossen ist. Eine Garantie, dass diese Daten auch in allgemein verfgbaren Systemen erzielt werden, kann nicht gegeben werden. Darber hinaus wurden einige Daten unter Umstnden durch Extrapolation berechnet. Die tatschlichen Ergebnisse knnen abweichen. Benutzer dieses Dokuments sollten die entsprechenden Daten in ihrer spezifischen Umgebung prfen. Informationen ber Produkte anderer Hersteller als IBM wurden von den Herstellern dieser Produkte zur Verfgung gestellt, bzw. aus von ihnen verffentlichten Ankndigungen oder anderen ffentlich zugnglichen Quellen entnommen. IBM hat diese Produkte nicht getestet und kann daher keine Aussagen zu Leistung, Kompatibilitt oder anderen Merkmalen machen. Fragen zu den Leistungsmerkmalen von Produkten anderer Anbieter sind an den jeweiligen Anbieter zu richten. Aussagen ber Plne und Absichten der IBM unterliegen nderungen oder knnen zurckgenommen werden und reprsentieren nur die Ziele der IBM. Diese Verffentlichung enthlt Beispiele fr Daten und Berichte des alltglichen Geschftsablaufes. Sie sollen nur die Funktionen des Lizenzprogrammes illustrieren; sie knnen Namen von Personen, Firmen, Marken oder Produkten enthalten. Alle diese Namen sind frei erfunden, hnlichkeiten mit tatschlichen Namen und Adressen sind rein zufllig. COPYRIGHTLIZENZ: Diese Verffentlichung enthlt Musteranwendungsprogramme, die in Quellensprache geschrieben sind. Sie drfen diese Musterprogramme kostenlos kopieren, ndern und verteilen, wenn dies zu dem Zweck geschieht, Anwendungsprogramme zu entwickeln, verwenden, vermarkten oder zu verteilen, die mit der Anwendungsprogrammierschnittstelle konform sind, fr die diese Musterprogramme geschrieben werden. Diese Beispiele wurden nicht unter allen denkbaren Bedingungen getestet. Daher kann IBM die Zuverlssigkeit, Wartungsfreundlichkeit oder Funktion dieser Programme weder zusagen noch gewhrleisten. Kopien oder Teile der Musterprogramme bzw. daraus abgeleiteter Code mssen folgenden Copyrightvermerk beinhalten: (Name Ihrer Firma) (Jahr). Teile des vorliegenden Codes wurden aus Musterprogrammen der IBM Corp. abgeleitet. Copyright IBM Corp. _Jahr/Jahre angeben_. Alle Rechte vorbehalten.
98
Fehlerbehebung
Marken
Namen von Unternehmen, Produkten oder Services in den Dokumenten der Dokumentationsbibliothek von DB2 Version 9 knnen Marken oder Servicemarken der International Business Machines Corporation oder anderer Unternehmen sein. Informationen zu den Marken der IBM Corporation in den jeweiligen Lndern finden Sie unter http://www.ibm.com/legal/copytrade.shtml. Folgende Namen sind in gewissen Lndern Marken oder eingetragene Marken anderer Unternehmen und wurden in mindestens einem der Dokumente in der DB2-Dokumentationsbibliothek verwendet. Microsoft, Windows, Windows NT und das Windows-Logo sind in gewissen Lndern Marken der Microsoft Corporation. Intel, Itanium, Pentium und Xeon sind in gewissen Lndern Marken der Intel Corporation. Java und alle Java-basierten Marken sind in gewissen Lndern Marken von Sun Microsystems, Inc. UNIX ist in gewissen Lndern eine eingetragene Marke von The Open Group. Linux ist in gewissen Lndern eine Marke von Linus Torvalds. Andere Namen von Unternehmen, Produkten oder Dienstleistungen knnen Marken anderer Unternehmen sein.
Anhang B. Bemerkungen
99
100
Fehlerbehebung
Index A
ACCRDB, Befehl 60 ACCRDBRM, Befehl 60 ACCSEC, Befehl 60 Aktualisierungen DB2-Informationszentrale Informationszentrale 91 DB2-Informationszentrale (Forts.) in verschiedenen Sprachen anzeigen 90 Versionen 90 DB2 JDBC-Treiber Konfiguration der Tracefunktion 70 DB2 JDBC Type 2-Treiber Konfiguration der Tracefunktion 68 DB2-Produkte entfernen Produkte auflisten 40 manuell installieren Produkte auflisten 40 DB2-Tracefunktion (db2trc) Speicherauszug fr Traceausgabe erstellen 56 db2cli.ini, Datei Tracekonfiguration CLI- und ODBC-Anwendungen 72 db2cos Ausgabedateien 13 db2dart, Befehl Fehlerbehebung, bersicht 33 db2diag, Befehl Beispiele 33 db2diag.log 6 analysieren 9, 10, 33 Zweck 4 db2drdat, Dienstprogramm Ausgabedatei 58 db2level, Befehl fr Fehlerbehebung verwenden 35 db2look, Befehl fr Fehlerbehebung verwenden 36 db2pd, Befehl Beispiele fr Fehlerbehebung 42 mit Script db2cos in der Standardkonfiguration erfasst 13 db2support, Befehl Verwendung zur Fehlerbehebung 21, 50 db2trc (DB2-Tracefunktion) starten, bersicht 54 Traceausgabe formatieren 56 ddcstrc, Dienstprogramm Ausgabedatei 59 DIAGLEVEL, Konfigurationsparameter aktualisieren 9 Diagnosedateien 17 Diagnoseprotokolle 3 Diagnosetools 78 Fehlerbestimmung 32 UNIX 18 Windows 20, 77 auf Dr. Watson-Protokolle zugreifen 21 Dienstprogramm zur Feststellung des Prozessstatus 32, 60 Dienstprogramme db2drdat 58 Dienstprogramme (Forts.) Prozessstatus 60 ps (Prozessstatus) 32, 60 Trace 58 Distributed Data Management (DDM) 58 Dokumentation 85, 86 Nutzungsbedingungen 95 DSS (Distributed Subsection - verteilter Teilbereich) Typ, Trace 58
91
B
Bedingungen Verwendung von Verffentlichungen 95 Befehle ACCRDB 60 ACCRDBRM 60 ACCSEC 60 COMMIT 60 EXCSAT 60 EXCSATRD 60 SECCHK 60 Bemerkungen 97 Benachrichtigungsstufe, Konfigurationsparameter aktualisieren 6 Bestellen von DB2-Bchern 89
E
Empfangspuffer 58 Exchange Server Attributes, Befehl EXCSAT, Befehl 60 EXCSATRD, Befehl 60 EXTNAM, Objekt 60 60
F
Fehler Fehlerbestimmung 29 Fehlerbehebung 1, 21 Informationen zusammenstellen 29, 35, 42, 50 Lernprogramme 94 nach Problemlsungen suchen 81 Onlineinformationen 94 Problem reproduzieren 36 Ressourcen 82 Tracefunktionen 53, 54 CLI- und ODBC-Anwendungen 71, 72 DRDA 61, 67 JDBC-Anwendungen 68, 70 Traces der Steuerzentrale 67 verbinden 30, 31 Fehlerbestimmung Diagnosetools 32 Informationen zusammenstellen 29 Lernprogramme 94 Onlineinformationen 94 Probleme nach Verbindungsherstellung 31 Ressourcen 82 bersicht 1, 29 Verbindungsstrungen 30 FFDC (First Failure Data Capture) 3 Ausgabedateien 4 Beschreibung 3 plattformspezifisch 17 Speicherauszugsdateien 15 Trapdateien 16, 17 Fixpack anwenden 83
C
CLI (Schnittstelle auf Aufrufebene) Trace Fehlerbehebung, bersicht 71 Tracefunktion starten 72 CLI-Anwendungen Konfiguration der Tracefunktion 72 CLI/ODBC/JDBC Trace Fehlerbehebung, bersicht 71 COMMIT, Befehl Trace-Ausgabepuffer 60
D
Datenbankanalyse- und Berichtstool, Befehl Fehlerbehebung, bersicht 33 Datenbanken Name RDBNAM, Objekt 60 Datenbankpartitionsserver Absetzen von Befehlen 27 DB2 installieren Anwenden von Fixpacks 83 db2_all, Befehl 27 DB2-Informationszentrale aktualisieren 91
101
G
Gedruckte Bcher bestellen 89 Globale Registrierdatenbank (Global Registry) ndern 35
R
rah, Befehl Einfhrung 27
U
UNIX entfernen Produkte auflisten 40 UOW beendet, Nachricht (ENDUOWRM) 60
S
SECCHK, Befehl 60 Sendepuffer, Datentrace 58 Serviceprotokoll des DB2-Diagnoseprogramms 32 Speicherauszugsdateien Fehlerberichte 15 SQL-Anweisungen Hilfe anzeigen 90 SQLCA (SQL-Kommunikationsbereich) Datenpuffer 58 SQLCODE, Feld 58 SQLCODE Feld im SQL-Kommunikationsbereich 58 SRVNAM, Objekt 60 Steuerzentrale Traceerstellung 67 Suchen Verfahren 81 Systembefehl (UNIX) dbx 19 Systemkerndateien, UNIX 18 68,
H
Hilfe anzeigen 90 fr SQL-Anweisungen 90
V
VALIDATE RUN, Parameterwert Verwaltungsprotokolldatei 6 Visual Explain Lernprogramm 94 60
I
Informationszentrale aktualisieren 91 in verschiedenen Sprachen anzeigen 90 Versionen 90 Installieren manuell Produkte auflisten 40
J
JDBC-Anwendung Konfiguration der Tracefunktion 70
T
TCP/IP ACCSEC, Befehl 60 SECCHK, Befehl 60 Tools Diagnose 32, 78 Windows 77 Trace, Dienstprogramm 58 Traceerstellung Ausgabedateibeispiele 61 Pufferinformationen fr DRDA-Traces 67 Tracefunktion CLI-Anwendungen 72 DB2-Traces 54, 56 DRDA-Traces 61, 67 Fehlerbehebung, bersicht 53 JDBC-Anwendungen 70 Konfiguration von Traceoptionen 68 Traces der Steuerzentrale 67 Traces Ausgabedatei 58, 59 CLI 71 analysieren 74, 75, 76, 77 Daten zwischen DB2 Connect und dem Server 58 DRDA interpretieren 57 bersicht 53 Trapdateien 16 formatieren (Windows) 17
K
Kerndateien Fehlerbestimmung 32 Identifikation 19 UNIX-Systeme 18 Kontaktaufnahme mit IBM
103
L
Lernprogramme Fehlerbestimmung und Fehlerbehebung 94 Visual Explain 94
O
ODBC-Anwendungen Konfiguration der Tracefunktion 72
P
Parameter PRDID 60 PRDID, Parameter 60 Protokoll mit Benachrichtigungen fr die Systemverwaltung 4 interpretieren 7 Protokolldateien Verwaltung 6 ps (Prozessstatus), Dienstprogramm 32, 60
102
Fehlerbehebung
103
104
Fehlerbehebung
GC12-3635-00