IBM DB2 UNIVERSAL DATABASE RELEASE-INFORMATIONEN Fixpak 17 (C) COPYRIGHT INTERNATIONAL BUSINESS MACHINES COPORATION 2001. ALL RIGHTS RESERVED. (C) COPYRIGHT IBM DEUTSCHLAND INFORMATIONSSYSTEME GMBH 2001. ALLE RECHTE VORBEHALTEN. INHALT | Willkommen bei DB2 Universal Database Fixpak 17! | Hauptänderungen für Fixpak 17 1.0 BESONDERE HINWEISE | 1.1 Serviceinformationen zu FixPak 6 | 1.2 Serviceinformationen zu Fixpak 17 1.3 Product and Service Technical Library | 1.4 Dokumentation zur DB2-Bibliothek und zu FixPaks | 1.5 Installation von Web Control Center 1.6 DB2 Family Newsletter 2.0 HANDBUCH SYSTEMVERWALTUNG 2.1 Implementieren des Datenbankentwurfs | 2.1.1 Erstellen einer Datenbank/Erstellen einer Übersichtstabelle 2.1.1.1 Isolationsstufen- und Abfrageoptimierung mit Hilfe von Übersichtstabellen und replizierten Tabellen | 2.1.1.2 REFRESH IMMEDIATE 2.1.2 Leistungsoptimierung beim Speichern von Daten auf RAID-Einheiten | 2.2 Steuern des Datenbankzugriffs | 2.2.1 Nur DRDA-Client-Identifikationsüberprüfung | 2.2.2 Ändern der Kennwortaktivierung für EEE | 2.2.3 Verschlüsselte Kennwörter | 2.2.4 Option Loginretries (nur AIX) 2.3 Prüfen der DB2-Aktivitäten 2.4 Dienstprogramme für das Versetzen von Daten 2.4.1 Dateiformate von LOAD, IMPORT und EXPORT / PC/IXF-DATEIFORMATE / Überlegungen zu Zeichenumsetztabellen | 2.4.2 Übersicht über den LOAD-Prozeß (Status "anstehend") 2.4.3 LOAD-Einschränkungen auf SMP-Maschinen unter Windows NT und OS/2 | 2.4.4 Fehlerszenario für das Autoloader-Programm unter DB2 UDB Extended | Enterprise Edition für Windows NT | 2.4.5 Änderungen bei der Identifikationsüberpfüfung für Autoloader | 2.4.6 Importieren/Exportieren von WSF-Daten mit BIGINT-Spalten 2.5 Wiederherstellen einer Datenbank 2.5.1 Sichern und Wiederherstellen von Datenbanken auf verschiedenen Betriebssystemen 2.5.2 Überlegungen zur Verwendung von ADSM (ADSTAR Distributed Storage Manager) | 2.5.3 Konfigurationsparameter für die Datenbankprotokollierung | 2.5.4 Häufigkeit der Sicherungen und erforderliche Zeit 2.5.5 Wiederherstellen einer Datenbank (Planen der Verwendung des Befehls ROLLFORWARD) | 2.6 Verwenden von DB2 mit einem XA-Transaktionsmanager | 2.7 Überlegungen zu Anwendungen | 2.8 Der SQL-Compiler 2.9 Leistung bei der Ausführung | 2.9.1 Verwalten des Datenbankpufferpools 2.9.2 Verwalten mehrerer Datenbankpufferpools | 2.10 Verwenden von Governor 2.11 Konfigurieren von DB2 | 2.11.1 Verschlüsselte Kennwörter 2.11.2 Optimieren der Konfigurationsparameter/Leistungsoptimierung von Hash-Verknüpfungen | 2.11.3 Datenbankprotokolldateien | 2.11.4 Gesicherte Clients und DRDA-Verwendung | 2.11.5 Option Loginretries (nur AIX) 2.11.6 ASLHEAPSZ und fehlgeschlagene Abfragen großer Tabellen 2.11.7 Einstellung INTRA_PARALLEL auf einer SMP-Maschine (Windows NT) | 2.12 HACMP ES for AIX | 2.13 DB2-Registrierdatenbankwerte und Umgebungsvariablen 2.14 Zusätzliche Rah-Informationen (Run All Hosts) (nur für Solaris und AIX) | 2.15 Unterstützung von UNICODE/UCS-2 und UTF-8 in DB2 UDB | 2.15.1 Einführung | 2.15.1.1 UTF-8 | 2.15.2 Implementierung von UCS-2/UTF-8 in DB2 UDB | 2.15.2.1 Nummern von Zeichenumsetztabellen/CCSID-Nummern | 2.15.2.2 Erstellen einer UCS-2-Datenbank | 2.15.2.3 Datentypen | 2.15.2.4 Kennungen | 2.15.2.5 UCS-2-Literale | 2.15.2.6 Verwenden von Platzhalterzeichen in einer UCS-2-Datenbank | 2.15.2.7 Überlegungen zu IMPORT/EXPORT/LOAD | 2.15.2.8 Inkompatibilitäten | 2.16 Verwenden der VI-Architektur | 2.16.1 Überblick über die VI-Architektur | 2.16.2 Installieren von DB2 Universal Database Version 5.2 (EEE) | 2.16.3 Ausführen von DB2 UDB Version 5.2 für Windows NT mit | GigaNet Interconnect | 2.16.3.1 Einrichten von GigaNet Interconnect | 2.16.3.2 Implementieren von DB2 für die Vewendung von VI | 2.16.4 Ausführen von DB2 UDB Version 5.2 für Windows NT mit | ServerNet Interconnect | 2.16.4.1 Einrichten von ServerNet Interconnect | 2.16.4.2 Implementieren von DB2 für die Verwendung von VI 3.0 API REFERENCE 3.1 sqlecrea - Erstellen einer Datenbank 3.2 sqlubkp - Sichern einer Datenbank 3.3 sqlugtpi - Abrufen von Tabellenpartitionierungsdaten 3.4 sqluhget - Abrufen von DDL-Informationen aus der Protokolldatei (Neue API) 3.5 sqluhgne - Abrufen des nächsten Eintrags der Datei des Wiederherstellungsprotokolls 3.6 sqluhops - Öffnen der Suchfunktion für die Datei des Wiederherstellungsprotokolls 3.7 sqluload - Laden 3.8 SQLE-CLIENT-INFO (Verbindungseinstellungen) 3.9 SQLFUPD 3.10 SQLUHINFO (SQLUHADM) 3.11 sqluvput - Schreiben von Daten auf eine Einheit 4.0 BUILDING APPLICATIONS FOR WINDOWS AND OS/2 ENVIRONMENTS | 4.1 db2start gibt unter Windows NT keine korrekte Fehlernachricht zurück 4.2 Erstellen von Windows NT- und Windows 95-Anwendungen mit eingebettetem SQL (IBM VisualAge für COBOL) 4.3 Erstellen von Java-Anwendungen und -Applets 4.3.1 Einrichten der Windows-Umgebung für Microsoft SDK für Java | 4.3.2 New Client and Server Programs and SQLJ Precompile Script 5.0 BUILDING APPLICATIONS FOR UNIX ENVIRONMENTS 5.1 SCO UnixWare 7 | 5.1.1 Exportieren von Funktionen für gespeicherte Funktionen 5.1.2 Verbindungsoption für Micro Focus COBOL 5.2 Erstellen von Java-Anwendungen und -Applets 5.2.1 Einrichten der Umgebung: HP-UX, SCO UnixWare 7 | 5.2.2 Einschränkung für die Methode Close() unter Silicon Graphics IRIX 5.2.3 New Client and Server Programs and SQLJ Precompile Script 6.0 CLI GUIDE AND REFERENCE 6.1 SQLPREPARE() 6.2 SQLDISCONNECT() 6.3 Verwenden von gespeicherten Prozeduren - Programmieren gespeicherter Prozeduren zum Zurückgeben von Ergebnisgruppen 6.4 Katalogtabellen mit gespeicherten Prozeduren | 6.5 SQLFETCHSCROLL(SQL_FETCH_RELATIVE, -1) 7.0 COMMAND REFERENCE 7.1 db2cmd - Öffnen des DB2-Befehlsfensters 7.2 db2eva - Event Analyzer 7.3 db2evmon - Ereignismonitor, das Hilfsprogramm zur Leistungssteigerung 7.4 db2look - DB2-Hilfsprogramm zum Extrahieren von Statistikdaten 7.5 db2set - DB2-Befehl für die Profilregistrierdatenbank 7.6 db2upd52 - Aktualisieren des Katalogs zur Unterstützung von Version 5.2 7.7 Sichern der Datenbank 7.8 EXPORT 7.9 GET DATABASE MANAGER CONFIGURATION 7.9.1 Neuer Parameter catalog_noauth | 7.9.2 TRUST_ALLCLNTS aktualisiert 7.10 IMPORT 7.11 LIST DATABASE DIRECTORY 7.12 LOAD 7.13 Abstimmung mit RECONCILE 7.14 Wiederherstellen der Datenbank | 7.15 Starten des Datenbankmanagers 8.0 EMBEDDED SQL PROGRAMMING GUIDE 8.1 Erstellen von benutzerdefinieren Funktionen (Schnittstelle zwischen DB2 und einer UDF/Von DB2 an UDFs übergebene Argumente) 8.2 Programmieren in C und C++ (Überlegungen für das Programmieren/Host-Variablen) 8.2.1 Deklarieren von Host-Variablen 8.2.2 Bearbeiten von Host-Variablen für Grafik (Windows) | 8.3 Programmieren in COBOL (Unterstützung der Host-Struktur) 8.4 Programmieren in Java (Erstellen von gespeicherten Java-Prozeduren und UDFs/Klassen von gespeicherten Java-Prozeduren und benutzerdefinierte Java-Funktionen) 8.5 Ein JDK-Problem, das JDBC-Programme betrifft, die mit einer DBCS-Zeichenumsetztabelle unter AIX ausgeführt werden 8.6 Einschränkungen für JDBC-Beispielanwendungen unter SCO UnixWare 7 | 8.7 JDBC 2.0 | 8.8 Zugriff auf DB2 UDB-Datenbanken über Perl 8.9 DATALINK-Datentyp 8.10 Multi-Thread-UNIX-Anwendungen können mit Zeichenumsetztabelle und Landescode ausgeführt werden 8.11 Fehlerverarbeitung für Aufrufarten an die UDF 8.11.1 Argumente von Aufrufarten für SCRATCHPAD und FINAL CALL für EXTERNAL TABLE | 8.11.2 Fehlerverarbeitungsmodell für externe UDFs für Skalarfunktionen | 8.12 Keine Unterstützung für ganzheitliches Compound-SQL 8.13 Andere Änderungen an dem Buch 8.13.1 Änderungen an Kapitel 1 8.13.2 Änderungen an Kapitel 4 8.13.3 Änderungen an Kapitel 7 8.13.4 Änderungen in Kapitel 9 8.13.5 Änderungen in Kapitel 15 8.13.6 Änderungen an Beispielprogrammen 8.13.7 Weitere Dateiänderungen 9.0 INSTALLIEREN, EINRICHTEN UND BETREIBEN VON DB2-CLIENTS 9.1 Konfigurieren der Datenfernverarbeitung zwischen dem Client und dem Server mit "Client-Konfiguration - Unterstützung" 10.0 Fehlernachrichten 10.1 Fehler in der Beschreibung von DBI1768W 10.2 Geänderte/Zusätzliche Ursachencodes für SQL0270N 10.3 Neue Beschreibung für SQL0351N 10.4 Neue Beschreibung für SQL0352N 10.5 Neue Beschreibung für SQL0357N 10.6 Neue Beschreibung für SQL0432N 10.7 Neue Beschreibung für SQL0680N 10.8 Zusätzlicher Ursachencode für SQL0903N 10.9 Zusätzlicher Ursachencode für SQL0911N 10.10 Neue Beschreibung für SQL1339N 10.11 SQL5048N oder SQL0901N bei Verwendung der Unterstützung zur Kennwortänderung | 10.12 Neue Nachricht SQL5156N: Wert des Konfigurationsparameters des | des Dateinbankmanagers trust_allclnts 10.13 Zusätzlicher Ursachencode für SQL20053N 10.14 Neuer Nachrichtentext für SQL20056N 10.15 Zusätzlicher Ursachencode für SQL30083N 11.0 EINSTIEG/QUICK BEGINNINGS 11.1 Installieren von DB2 auf NEC PC98 unter Windows 95 11.2 Entfernen der Installation von DB2 auf NEC PC98 unter Windows 95 11.3 Planung der Installation 11.3.1 Softwareanforderungen/Server-Produktanforderungen 11.3.2 Client-Produktanforderungen/Softwareanforderungen für OS/2-Clients | 11.3.3 DB2 for AS/400-SNA-Verbindungen zu DB2 Universal Database für AIX, | OS/2 und Windows NT | 11.3.4 TP-Name muß für DB2-Exemplare auf derselben Maschine eindeutig sein 11.3.5 Softwarevoraussetzungen/DB2 for OS/390, empfohlene Berichtigungen 11.4 Erste Schritte mit DB2 Universal Database (Kennwortänderung) 11.5 Erste Schritte mit DB2 Universal Database (Zählen gleichzeitig angemeldeter Benutzer unter AIX) 11.6 Arbeiten mit Exemplaren (Hinzufügen eines Datenbankpartitions-Servers zu einem Exemplar, Verwenden von DB2 Extended Enterprise Edition für Windows NT/Erforderliche Domänenbenutzer-ID für den Einsatz einer unformatierten Einheit) | 11.7 db2start gibt unter Windows NT keine korrekte Fehlernachricht zurück 11.8 Umstellen von Vorgängerversionen und -Releases | 11.9 Erweitern von DB2 Release 5.0 auf Release 5.2 | 11.10 DB2-Treiberproblem unter Lotus Domino Go Webserver 11.11 Ausführen eigener Anwendungen (Ausführen von Java-Programmen) 11.12 Inhalt der DB2-Produkte (länderspezifische Angaben) 12.0 DB2 FILE MANAGER QUICK BEGINNINGS | 12.1 Profile zum Importieren und Exportieren der Client-Konfiguration 12.2 DB2 Data Links Manager kann auf einem System mit DB2 Extended Enterprise Edition nicht installiert werden 12.3 Benutzer-ID für die DLFM-Verwaltung 12.4 Zugreifen auf ein fernes DLFS-Dateisystem mit NFS 12.5 Einschränkungen für DATALINK-Clients 12.6 Geänderte Konfigurationsoption für DLFM 12.7 Wiederherstellen der Daten nach einem Festplattendefekt auf dem File Manager-Server | 12.8 Anzahl DATALINK-Sicherungen (dl_num_backup) 12.9 DB2 File Manager-Wiederherstellungsszenarios 12.10 Datalinks-Konfigurationsdatei kann nicht über den Befehlszeilenprozessor erstellt oder geändert werden 13.0 VOR VERSION 5.2 DOKUMENTIERTE ÄNDERUNGEN AN DEN EINSTIEGSHANDBÜCHERN 13.1 DB2-Produkte 13.2 Planen der Installation 13.2.1 OS/2-Softwarevoraussetzungen 13.2.1.1 Mögliche Client-Server-Konnektivität 13.2.2 NetFinity-Unterstützungsprogramm muß gestoppt werden - Windows NT 13.2.3 Communications Server für Windows NT - Erforderliche Berichtigungen 13.2.4 Empfohlene Erweiterung von Client Application Enabler für Benutzer partitionierter Datenbanken 13.2.5 Empfohlene Erweiterung von Client Application Enabler für Benutzer von Windows ODBC 13.2.6 Empfohlene Fehlerberichtigungsstufe für ADSM unter AIX 13.2.7 CS/NT für zweiphasige Festschreibung unter Windows NT erforderlich 13.2.7.1 Registrieren von CS/NT als Windows NT-Dienst 13.2.8 DCE-Unterstützung unter Windows NT und Windows 95 | 13.2.9 Empfohlene Windows NT-Version 13.2.10 Standardeinstellungen für die Berechtigung SYSADM (UNIX) 13.3 Weitere Installations- und Konfigurationsaufgaben 13.3.1 Konfigurieren von CS/NT für den Synchronisationspunktmanager (SPM) 13.3.1.1 Zusätzliche Informationen zur Benutzung von SNA-SPM: | 13.3.2 Fehler in NIS unter AIX Version 4.1.4 und 4.1.5 13.3.3 db2cpic.dll - Erweiterte SNA-Sicherheitscodes unter Windows NT und Windows 95 13.3.4 Profilvariable DB2NTMEMSIZE für Windows NT 13.4 Verwenden von Snapshot Monitor in der Steuerzentrale 13.5 Zugriff auf DB2-Daten vom World Wide Web 13.6 Einstellen von Netzwerkparametern für RS/6000 SP 13.7 Einrichten von "Client-Konfiguration - Unterstützung" und der Steuerzentrale in einer partitionierten Datenbankumgebung (DB2 Universal Database Extended Enterprise Edition for AIX) 13.8 Umstellen von Vorgängerversionen (UNIX) 13.9 DB2 SNMP Subagent 13.10 Konfigurieren der Datenfernverarbeitung zwischen dem Client und dem Server mit "Client-Konfiguration - Unterstützung" 13.11 Verwalten und Verwenden der OS/2-Benutzerprofilverwaltung 13.12 ADSM-Client-Konfiguration für EEE unter Solaris - mit DB2PROFILE 13.13 Verbindungen von DB2 for OS/390 Version 5 zu DB2 Universal Database Version 5 13.14 Konfigurieren von NetBIOS auf Windows NT-Servern 13.15 Adressen für gemeinsam genutzten Speicher - Windows NT oder WINDOWS 95 13.16 Ausführen des DB2-JDBC-Applet-Servers als Windows NT-Dienst 13.17 Abrufen von Informationen 13.17.1 Online-Hilfe 13.17.2 DB2-Bücher 13.17.3 Drucken der PostScript-Handbücher 13.17.4 Anzeigen der Online-Bücher 13.17.5 Konfigurieren eines Dokument-Servers 13.17.6 Suchen in Online-Büchern 13.18 HTTP 1.1-Einstellungen für Microsoft Internet Explorer 4.0 13.19 Überlegungen zur fernen Verwaltung von Clustern mit Hilfe der Steuerzentrale 14.0 REPLIKATION REFERENZHANDBUCH 14.1 Zusätzlich unterstützte Plattformen 14.2 Neue Nachrichten 14.3 Unterstützung von LONG VARCHAR durch das Capture-Programm für DB2 UDB Version 5.2 | 14.4 Informationen zum DataJoiner-Hilfsprogramm zur Replikationsverwaltung 15.0 ROADMAP TO DB2 PROGRAMMING 15.1 Informationen zum Application Developer's Kit 16.0 SQL REFERENCE | 16.1 Namenskonventionen (cursor-name) | 16.2 ALTER TABLE | 16.3 Compound SQL 0 16.4 CREATE FUNCTION 16.4.1 DBINFO | 16.4.2 Fehlerverarbeitung für Aufrufarten an die UDF 16.5 CREATE TABLE | 16.5.1 Beschreibung von CREATE TABLE | 16.5.2 Hinweise zu CREATE TABLE | 16.6 CREATE TABLESPACE 16.7 Appendix A. SQL Limits/Database Manager Limits 17.0 SYSTEM MONITOR GUIDE AND REFERENCE 17.1 Ereignismonitore mit lokaler Reichweite 18.0 NEUE FUNKTIONEN 18.1 Leistung (Abfrage/Übersichtstabelle) | 18.2 Aktualisierung des Anhangs "Building Java Aplications and Applets" 18.3 Web Control Center und NetQuestion (Aktivieren von Suchvorgängen für ferne Dokumentation in Web Control Center) 18.4 Einschränkungen für die Steuerzentrale | 18.5 Java Development Kit-Stufe für Web Control Center 19.0 HTML-SUCH-SERVER FÜR OS/2: SUCHEN NACH HTML-DOKUMENTATION 19.1 Installieren des HTML-Suchsystems unter OS/2 19.1.1 Voraussetzungen für das Suchsystem unter OS/2 19.1.2 Konfigurieren von TCP/IP unter OS/2 19.1.3 Überprüfen der TCP/IP-Konfiguration 19.1.4 Lokalisieren des Suchsystemverzeichnisses 19.1.5 Ändern der Anschlußnummer für den Such-Server 19.1.6 Fehlerdiagnose bei der Installation des Such-Servers 19.2 Verwenden des HTML-Suchsystems 19.2.1 Starten und Stoppen des Such-Servers 19.2.2 Suchvorgänge ohne Netzwerkverbindung 19.2.3 Fehlernachrichten für nicht gefundene Dateien 19.2.4 Fehlschläge bei Suchvorgängen (Fehler 500 beim Suchen) 19.2.5 Fehler beim Starten des Suchservice 19.3 Entfernen der Installation des HTML-Suchsystems 19.3.1 Probleme beim Entfernen der Installation des Suchsystems unter OS/2 20.0 HTML-SUCH-SERVER FÜR WINDOWS NT, WINDOWS 95 UND WINDOWS 98: SUCHEN NACH HTML-DOKUMENTATION 20.1 Einschränkungen für die Verwendung 20.2 Installieren des HTML-Suchsystems unter Windows NT, Windows 95, und Windows 98 20.2.1 Voraussetzungen für das Suchsystem 20.2.2 Stoppen bereits installierter Versionen des Suchsystems 20.2.3 Lokalisieren des Suchsystemverzeichnisses 20.2.4 Ändern der Anschlußnummer für den Such-Server 20.2.5 Installieren von DB2 Universal Database auf einem mit dem LAN verbundenen Laufwerk (Windows 95) 20.2.6 Fehlerdiagnose bei der Installation des Such-Servers 20.3 Verwenden des HTML-Suchsystems 20.3.1 Starten und Stoppen des Servers 20.3.2 Suchen mit aktivierten Proxy-Servern unter Netscape oder Internet Explorer 20.3.3 Suchen mit einem Laptop-Computer unter Windows 95 20.3.4 Fehlschläge bei Suchvorgängen (Fehler 500 beim Suchen) 20.3.5 Fehlernachrichten zu nicht gefundenen Dateien 20.3.6 Fehler beim Starten des Suchservice 20.4 Entfernen der Installation des HTML-Suchsystems 20.4.1 Probleme beim Entfernen der Installation des Suchsystems unter Windows NT, Windows 95 oder Windows 98 20.4.2 Neustart nach dem Entfernen der Installation des Produkts | 21.0 UMGEHUNG VON PROBLEMEN FÜR NETQUESTION | 21.1 Probleme bei der Installation von IMNSearch (NetQuestion) auf UNIX Plattformen | 21.2 Installieren von NetQuestion unter HPUX-10 | 21.3 NetQuestion und DB2 CAE auf UNIX-Plattformem | 21.4 NetQuestion-DBCS auf AIX-Plattformen 22.0 INFORMATIONEN ZU SCOHELP 22.1 Zugreifen auf SCOhelp 22.2 Arbeiten mit Landessprachen und SCOhelp 22.2.1 Ändern der Standardsprache von SCOhelp auf dem Server 22.2.2 Einstellen der Sprache, die von SCOhelp für einen spezifischen Client zurückgegeben wird 22.2.3 Verwenden der Suchfunktion 22.3 Hilfefunktion von Web Control Center und SCOhelp 22.4 Support Level Supplement (SLS) PTF7004A, die Erweiterung für die UnixWare 7-Sprache 22.5 Suchindexdateien von SCOhelp | Willkommen bei DB2 Universal Database Fixpak 17! HINWEIS: Diese Datei können Sie einfacher lesen, wenn Sie Ihre Schriftart auf Monospace-Schrift einstellen. | Diese Informationsdatei (README) enthält Informationen zum Release von | Fixpak 17, die bei der Fertigstellung der DB2-Handbücher noch nicht vorlagen. | Sie enthält die Informationen der Informationsdatei, die mit DB2 Version 5.2 | geliefert wurde, in einer überarbeiteten Fassung. | Eine Änderungsmarkierung ("|") am linken Rand einer Seite zeigt an, daß die | nebenstehende Zeile im Vergleich zur Informationsdatei der Version 5.2 | geändert bzw. hinzugefügt wurde. Diese Informationsdatei enthält Informationen zu den folgenden Produkten: | IBM DB2 Universal Database Enterprise Edition, Version 5.2 | IBM DB2 Universal Database Extended Enterprise Edition, Version 5.2 | IBM DB2 Universal Database Personal Edition, Version 5.2 | IBM DB2 Universal Database Workgroup Edition, Version 5.2 | IBM DB2 Personal Developer's Edition, Version 5.2 | IBM DB2 Universal Developer's Edition, Version 5.2 HINWEIS: VisualAge für Basic und Lotus Approach gehören nicht mehr zum Lieferumfang. Eine separate Datei mit Release-Informationen (READDCS.TXT) ist für die folgenden Produkte verfügbar: IBM DB2 Connect Enterprise Edition, Version 5.2 IBM DB2 Connect Personal Edition, Version 5.2 | Einige Handbücher der Bibliothek zu DB2 Universal Database wurden für | Version 5.2 nicht aktualisiert. Hierzu gehören: o Systemverwaltung: Erste Schritte | o Building Applications for Windows and OS/2 Environments o CLI Guide and Reference o Embedded SQL Programming Guide o Master Index o SQL Getting Started o System Monitor Guide and Reference o Troubleshooting Guide | Das Handbuch "Neue Funktionen" enthält eine Übersicht über einige der | wichtigsten DB2-Erweiterungen für Version 5 und Version 5.2 sowie eine | detaillierte Beschreibung der Erweiterungen in Version 5.2, insbesondere | für die Handbücher, die für Version 5.2 nicht aktualisiert wurden. Die neuen | Funkionen, die als Teil der FixPaks für DB2 Universal Database Version 5 | und DB2 Connect Version 5 verfügbar waren, werden als Erweiterungen der | Version 5.2 betrachtet. | Um sämtliche DB2-Informationen zu einem gewünschten Thema zu erhalten, lesen | Sie die Informationen des entsprechenden Handbuchs der DB2-Bibliothek in | Verbindung mit dem Handbuch "Neue Funktionen" sowie die Informationen dieser | Informationsdatei. | HAUPTÄNDERUNGEN FÜR FIXPA8 9 | In diesem Abschnitt werden die wesentlichen Änderungen für FixPa8 7 | beschrieben und die Stellen angegeben, an denen diese Änderungen dokumentiert | sind. | ÄNDERN DER KENNWORTAKTIVIERUNG FÜR EEE | DB2-Administratoren können nun anderen Personen das Ändern von | Kennwörtern auf AIX- und NT EEE-Systemen mit Hilfe der Variablen | "DB2CHGPWD_EEE=" der Profilregistrierdatenbank ermöglichen. | Einzelheiten hierzu enthält der Abschnitt 2.2.2, "Ändern der | Kennwortaktivierung für EEE". | NUR DRDA-CLIENT-IDENTIFIKATIONSÜBERPRÜFUNG | Der DB2-UDB-Server kann jetzt zwischen DRDA-Clients von DB2 for MVS und | OS/390, DB2 for VM und VSE und DB2 for OS/400 und anderen Clients | unterscheiden. So haben Sie die Möglichkeit, sich gegen diese anderen Clients | zu schützen. Die oben angegebenen Clients können akzeptiert (Trusted) werden, | um eine client-seitige Identifikationsüberprüfung durchzuführen. Darüber | hinaus können Sie nun festlegen, wo die Identifikationsüberprüfung dieser | Clients stattfindet. Einzelheiten hierzu enthält der Abschnitt 2.2.1, | "Nur DRDA-Client-Identifikationsüberprüfung". | VERSCHLÜSSELTE KENNWÖRTER | Für den Parameter "AUTHENTICATION" wurde ein neuer Wert "SERVER_ENCRYPT" zur | Konfiguration des Datenbankmanagers hinzugefügt. "SERVER_ENCRYPT" besitzt | derzeit die gleiche Semantik wie die Identifikationsüberprüfungsart | "SERVER", allerdings um die Funktion erweitert, daß alle über ein Netzwerk | gesendeten Kennwörter verschlüsselt werden. Einzelheiten hierzu enthält der | Abschnitt 2.2.3, "Verschlüsselte Kennwörter". | JDBC 2.0 | Der in diesem FixPak enthaltene Treiber für JDBC 2.0 unterstützt die | API-Kerndefinitionen von JDBC 2.0. Aufgrund der fehlenden Verfügbarkeit | einiger Funktionen der DB2-Steuerkomponente (DB2 Engine) werden jedoch nicht | alle in der Spezifikation definierten Funktionen unterstützt. Alle | Einzelheiten hierzu enthält der Abschnitt 8.7, "JDBC 2.0". | NETQUESTION-BEHELFSMASSNAHMEN | Dieser Abschnitt behandelt folgende Themen: | o Probleme bei der Installation von IMNSearch (NetQuestion) auf UNIX-Plattformen | o Installieren von NetQuestion unter HPUX-10 | o NetQuestion und DB2 CAE für UNIX-Plattformen | o NetQuestion DBCS auf AIX-Plattformen | Einzelheiten hierzu finden Sie im Abschnitt 21.0, | "NetQuestion-Behelfsmaßnahmen". | UNTERSTÜTZUNG VON ÜBERSICHTSTABELLEN | Erweiterungen wurden an der Unterstützung von Übersichtstabellen vorgenommen. | Die Option REFRESH IMMEDIATE steht nun zur Verfügung. Einzelheiten | hierzu finden Sie im Abschnitt 16.2, "ALTER TABLE", und in Abschnitt 16.5, | "CREATE TABLE". | UNTERSTÜTZUNG VON UNICODE/UCS-2 UND UTF-8 | Der Zeichencodestandard Unicode ist ein Schema zur Codierung von Zeichen mit | fester Länger, das Zeichen aus annähernd allen lebenden Sprachen der Welt | umfaßt. Der Standard ISO/IEC 10646 spezifiziert das Universal Multiple-Octet | Coded Character Set (UCS), das eine Zwei-Byte-Version (UCS-2) und eine | Vier-Byte-Version (UCS-4) umfaßt. DB2 UDB unterstützt UCS-2, d. h. Unicode | ohne Zusatzzeichen (Surrogates). | Bei der UCS-2- bzw. Unicode-Codierung sind ASCII-Zeichen und Steuerzeichen | ebenfalls zwei Byte lang, wobei das führende Byte null ist. Dies kann zu | einem größeren Problem für auf ASCII-Code basierende Programme und | ASCII-Dateisysteme werden, da in den UCS-2-Zeichenfolgen irrelevante Nullen | (NULLs) an unvorhergesehenen Stellen in der Zeichenfolge auftreten können. | Ein Umwandlungsalgorithmus, der als UTF-8 bekannt ist, kann zur Umgehung | dieses Problems für Programme verwendet werden, die davon abhängig | sind, daß der ASCII-Code invariant ist. DB2 implementiert UTF-8. | Einzelheiten hierzu finden Sie im Abschnitt 2.15, "Unterstützung von | Unicode/UCS-2 und UTF-8 in DB2 UDB". | VERWENDEN DER VI-ARCHITEKTUR (VIRTUAL INTERFACE) | DB2 UDB unterstützt nun zwei Implementierungen der VI-Architektur: eine von | GigaNet und die andere von ServerNet. Einzelheiten hierzu finden Sie im | Abschnitt 2.16.3, "Ausführen von DB2 UDB Version 5.2 für Windows NT mit | GigaNet Interconnect". 1.0 BESONDERE HINWEISE 1.1 SERVICEINFORMATIONEN ZU FIXPAK 6 | Sie können DB2 UDB Version 5.2 separat kaufen und installieren oder es als | FixPak über DB2 UDB Version 5.0 installieren. Sie können Version 5.0 mit | Hilfe von FixPak 6 auf Version 5.2 erweitern. Die PTF-Nummern für FixPak 6 | sind nach Betriebssystem in der folgenden Tabelle aufgelistet: +---------------------------------------------------------------------------+ | | Tabelle 1. PTF-Nummern für DB2 UDB FixPak 6 | +-------------------------------------+-------------------------------------+ | | BETRIEBSSYSTEM | PTF-NUMMER FÜR DB2 UDB FIXPAK 6 | +-------------------------------------+-------------------------------------+ | | AIX | U459852 | +-------------------------------------+-------------------------------------+ | | HP-UX 10 | U459854 | +-------------------------------------+-------------------------------------+ | | HP-UX 11 | U459872 | +-------------------------------------+-------------------------------------+ | | OS/2 | WR09073 | +-------------------------------------+-------------------------------------+ | | SCO UnixWare 7 | U459870 | +-------------------------------------+-------------------------------------+ | | Silicon Graphics IRIX | U459871 | +-------------------------------------+-------------------------------------+ | | Solaris | U459853 | +-------------------------------------+-------------------------------------+ | | Windows 95, Windows 98, and Windows | WR09074 | | | NT | | +-------------------------------------+-------------------------------------+ | | Windows 3.1 and Windows for | WR09076 | | | Workgroups 3.11 | | +-------------------------------------+-------------------------------------+ HINWEIS: Für das Ausführen von DB2 File Manager unter AIX Version 4.2 ist mindestens PTF U456886 erforderlich. Die folgenden PTF-Nummern für SCO sind für die Ausführung von DB2 UDB Version 5.2 unter SCO UnixWare 7 erforderlich: ptf7003c ptf7010 ptf7104 | Die aktuellsten Informationen zu PTFs für SCO, die für DB2 UDB Version 5.2 | erforderlich sind, finden Sie im Abschnitt 1.3, "Product and Service | Technical Library". Die folgenden Programmkorrekturstufen sind für die Ausführung der Sun Cluster-Software erforderlich: 105786-05 - Erforderliche Programmkorrektur für Sun Cluster 2.x unter Solaris 2.6. 2.1_105458-06 - Erforderliche Programmkorrekturstufe von Sun Cluster für DB2. | 1.2 SERVICEINFORMATIONEN ZU Fixpak 17 | Dieses FixPak kann nicht über den vorhandenen Code von DB2 UDB Version 5.0 | installiert werden. Sie müssen die Stufe von DB2 UDB Version 5.2 installiert | haben. Zur Aktualisierung auf Version 5.2 können Sie FixPak 6 herunterladen | und installieren. Nach der Installation von FixPak 6 können Sie FixPak87 | anwenden. +---------------------------------------------------------------------------+ | | Table 2. PTF Numbers for DB2 UDB Fixpak 17 | +-------------------------------------+-------------------------------------+ | | OPERATING SYSTEM | PTF NUMBER FOR DB2 UDB Fixpak 17 | +-------------------------------------+-------------------------------------+ | | AIX | U480150 | +-------------------------------------+-------------------------------------+ | | HP-UX 10 | U480152 | +-------------------------------------+-------------------------------------+ | | HP-UX 11 | U480153 | +-------------------------------------+-------------------------------------+ | | OS/2 | WR21287 | +-------------------------------------+-------------------------------------+ | | SCO UnixWare 7 | U480154 | +-------------------------------------+-------------------------------------+ | | Silicon Graphics IRIX | U480155 | +-------------------------------------+-------------------------------------+ | | Solaris | U480151 | +-------------------------------------+-------------------------------------+ | | Windows 95, Windows 98, and Windows | WR21288 | | | NT | | +-------------------------------------+-------------------------------------+ | | Windows 3.1 and Windows for | WR21289 | | | Workgroups 3.11 | | +-------------------------------------+-------------------------------------+ 1.3 PRODUCT AND SERVICE TECHNICAL LIBRARY Vollständige und aktuelle Informationen zu DB2 sowie Hinweise zu Fragen, die nach der Veröffentlichung dieser Informationsdatei aufgetreten sind, finden Sie in der "Product and Service Technical Library" im World Wide Web unter folgender Adresse: http://www.software.ibm.com/data/db2/library | 1.4 DOKUMENTATION ZUR DB2-BIBLIOTHEK UND ZU FIXPAKS | Für Version 5.2 wurden die meisten Handbücher aktualisiert, die zu den | Produktbibliotheken gehören. Die Handbücher der DB2-Bibliothek sind online | im HTML-Format verfügbar. Die meisten sind außerdem im PDF- und | PostScript-Format verfügbar. Lesen Sie im vorangehenden Abschnitt 1.3, | "Product and Service Technical Library", wo Sie auf die Handbücher online | zugreifen können. Im Handbuch "Neue Funktionen" finden Sie eine vollständige | Liste der aktualisierten Handbücher, die Anweisungen für das Drucken dieser | Bücher und die Formnummern, mit denen Sie diese bestellen können. Mit der | Formnummer SBOF-8921-00 können Sie den kompletten Satz der Handbücher | bestellen, die für Version 5.2 aktualisiert wurden. Die FixPak-Informationen, die zuvor in den Dateien "read1297.txt", "read0398.txt" und "read0698.txt" aufgeführt waren, sind jetzt in den folgenden Veröffentlichungen enthalten: o In der aktualisierten Dokumentation, falls das Handbuch aktualisiert wurde o Im Handbuch "Neue Funktionen", falls das Handbuch nicht aktualisiert wurde Außerdem sind Informationen, die bei der Fertigstellung der Handbücher noch nicht verfügbar waren, in diesen Release-Informationen enthalten. | 1.5 INSTALLATION VON WEB CONTROL CENTER Web Control Center ist eine Java-Version der Steuerzentrale von DB2 Universal Database (einem Hilfsprogramm zur Datenbankverwaltung). Ihr Aufbau ist an der ursprünglichen DB2-Steuerzentrale ausgerichtet, bietet jedoch eine flexiblere netzwerkorientierte Verwaltungsumgebung. Web Control Center ist als Java-Applet implementiert, das die JDBC-Unterstützung von DB2 verwendet. | Das FixPak installiert Web Control Center nicht, aktualisiert jedoch eine | vorhandene Version. Wenn Sie über Web Control Center nicht verfügen, können | Sie das Produkt von folgendem URL herunterladen: http://www.software.ibm.com/data/db2/udb/webcc 1.6 DB2 FAMILY NEWSLETTER Um die jeweils aktuellen Informationen zur DB2-Produktfamilie zu erhalten, können Sie die Zeitschrift "DB2 Family Newsletter" bestellen (nur in englischer Sprache). Senden Sie einfach eine entsprechende Anforderung unter Angabe der folgenden Daten per Telefax an 001-905-316-4733: Name Firmenname Vollständige Postanschrift Telefonnummer Derzeit von Ihnen verwendete DB2-Produkte 2.0 HANDBUCH SYSTEMVERWALTUNG 2.1 IMPLEMENTIEREN DES DATENBANKENTWURFS | 2.1.1 ERSTELLEN EINER DATENBANK/ERSTELLEN EINER ÜBERSICHTSTABELLE 2.1.1.1 ISOLATIONSSTUFEN- UND ABFRAGEOPTIMIERUNG MIT HILFE VON ÜBERSICHTSTABELLEN UND REPLIZIERTEN TABELLEN Im allgemeinen wird eine Übersichtstabelle oder eine replizierte Tabelle zur Optimierung einer Abfrage verwendet, wenn die Isolationsstufe der Übersichtstabelle oder der replizierten Tabelle höher oder gleich der Isolationsstufe der Abfrage ist. Wenn beispielsweise eine Abfrage unter der Isolationstufe Cursorstabilität (CS) ausgeführt wird, werden nur Übersichtstabellen und replizierte Tabellen, die unter CS oder einer höheren Isolationsstufe definiert wurden, für die Optimierung verwendet. | 2.1.1.2 REFRESH IMMEDIATE | Die Option REFRESH IMMEDIATE wird jetzt für Übersichtstabellen unterstützt. | Weitere Informationen finden Sie in den Abschnitten 16.2, "ALTER TABLE", und | 16.5 "CREATE TABLE". 2.1.2 LEISTUNGSOPTIMIERUNG BEIM SPEICHERN VON DATEN AUF RAID-EINHEITEN In diesem Abschnitt wird beschrieben, wie Sie die Leistung verbessern, wenn Daten auf RAID-Einheiten (Redundant Array of Independent Disks) gespeichert werden. Im allgemeinen müssen Sie für jeden Tabellenbereich, der eine RAID-Einheit verwendet, wie folgt vorgehen: o Definieren Sie einen Behälter für den Tabellenbereich (der eine RAID-Einheit verwendet). o Setzen Sie den Parameter EXTENTSIZE des Tabellenbereichs auf den Wert des einheitenübergreifend gespeicherten RAID-Datenblocks oder auf ein Vielfaches dieses Werts. o Stellen Sie sicher, daß für den Wert des Parameters PREFETCHSIZE des Tabellenbereichs das folgende gilt: - Der Wert entspricht der Größe des einheitenübergreifend gespeicherten RAID-Datenblocks multipliziert mit der Anzahl der parallelen RAID-Einheiten (oder einem ganzzahligen Vielfachen dieses Produkts). - Der Wert ist ein Vielfaches des Parameterwerts von EXTENTSIZE. o Verwenden Sie die Registrierdatenbankvariable DB2_PARALLEL_IO (die unten beschrieben wird), um die parallele E/A für den Tabellenbereich zu aktivieren. o Verwenden Sie die Registrierdatenbankvariable DB2_STRIPED_CONTAINERS (die unten beschrieben wird), um sicherzustellen, daß die Grenzen des über EXTENTSIZE definierten Speicherbereichs gleichmäßig auf die Tabellenbereiche verteilt sind. DB2_PARALLEL_IO Wenn Daten von Tabellenbereichsbehältern gelesen oder in sie geschrieben werden, verwendet DB2 möglicherweise eine parallele E/A, wenn die Anzahl der Behälter in der Datenbank größer 1 ist. Es gibt jedoch Situationen, in denen eine aktivierte parallele E/A für Tabellenbereiche mit einem Behälter vorteilhaft wären. Wenn zum Beispiel der Behälter auf einer einzigen RAID-Einheit erstellt wird, die aus mehreren physischen Datenträgern besteht, möchten Sie möglicherweise parallele Schreib-/Leseaufrufe absetzen. Zum Erzwingen von paralleler E/A für einen Tabellenbereich mit einem Behälter können Sie die Registrierdatenbankvariable DB2_PARALLEL_IO verwenden. Sie können diese Variable auf "*" (Stern) setzen. Dadurch werden alle Tabellenbereiche ausgewählt. Oder Sie setzen sie auf eine Liste von durch Komma getrennten Tabellenbereichs-IDs. Beispiel: db2set DB2_PARALLEL_IO=* {parallele E/A für alle Tabellenbereiche} db2set DB2_PARALLEL_IO=1,2,4,8 {parallele E/A für die Tabellenbereiche 1, 2, 4 und 8} Nachdem Sie die Registrierdatenbankvariable gesetzt haben, müssen Sie DB2 stoppen (db2stop) und anschließend erneut starten (db2start), damit die Änderungen wirksam werden. DB2_STRIPED_CONTAINERS Wenn Sie derzeit einen DMS-Tabellenbereichsbehälter (Einheit oder Datei) erstellen, wird am Anfang des Behälters ein Kennsatz in der Größe einer Seite gespeichert. Die verbleibenden Seiten stehen in DB2 für das Speichern von Daten zur Verfügung und sind in Blöcke gruppiert, die über EXTENTSIZE definiert werden. Wenn Sie RAID-Einheiten für Tabellenbereichsbehälter verwenden, sollten Sie den Tabellenbereich mit einer EXTENTSIZE-Größe erstellen, die der Größe des einheitenübergreifend gespeicherten RAID-Datenblocks entspricht oder ein Vielfaches davon ist. Aufgrund des Kennsatzes in der Größe einer Seite stimmen jedoch die EXTENTSIZE-Bereiche nicht mit den einheitenübergreifend gespeicherten RAID-Datenblöcken überein, und es muß möglicherweise während einer E/A-Anforderung auf mehr physische Datenträger zugegriffen werden als optimal wäre. Sie können DMS-Tabellenbereichsbehälter so erstellen, daß der Kennsatz sich in seinem eigenen (vollen) EXTENTSIZE-Bereich befindet. Dadurch wird das oben beschriebene Problem vermieden, es ist jedoch zusätzlicher EXTENTSIZE-Bereich innerhalb des Behälters erforderlich. Damit Sie Behälter so erstellen können, müssen Sie die DB2-Registrierdatenbankvariable DB2_STRIPED_CONTAINERS auf "ON" setzen und anschließend Ihr Exemplar stoppen und erneut starten: db2set DB2_STRIPED_CONTAINERS=ON db2stop db2start Jeder DMS-Behälter, der (mit CREATE TABLESPACE oder ALTER TABLESPACE) erstellt wurde, verfügt über neue Behälter mit Kennsätzen, die einen vollen EXTENTSIZE-Bereich einnehmen. Vorhandene Behälter bleiben unverändert. Setzen Sie die Variable zurück, um die Erstellung von Behältern mit diesem Attribut zu stoppen. Anschließend stoppen und starten Sie Ihr Exemplar erneut: db2set DB2_STRIPED_CONTAINERS= db2stop db2start Die Steuerzentrale und der Befehl LIST TABLESPACE CONTAINERS zeigen nicht, ob ein Behälter zur einheitenübergreifenden Speicherung vorgesehen wurde. Beide können weiterhin die "Datei" oder "Einheit" verwenden, je nachdem, auf welche Art der Behälter erstellt wurde. Zum Überprüfen, ob der Behälter für eine einheitenübergreifende Speicherung erstellt wurde, können Sie die Option /DTSF von DB2DART verwenden, um Tabellenbereichs- und Behälterinformationen auszugeben und das Typenfeld für den betreffenden Behälter anzuzeigen. Sie können auch die Abfragebehälter-APIs, sqlbftcq( ) und sqlbtcq( ) verwenden, um eine einfache Anwendung zu erstellen, die den Typ anzeigt. Definitionen für diese neuen Typen wurden der Kopfdatei sqlutil.h hinzugefügt: #define SQLB_CONT_STRIPED_DISK 5 /* DMS: Für einheitenübergreifende /* Speicherung vorgesehener /* Datenträger #define SQLB_CONT_STRIPED_FILE 6 /* DMS: Für einheitenübergreifende /* Speicherung vorgesehene Datei | 2.2 STEUERN DES DATENBANKZUGRIFFS | 2.2.1 NUR DRDA-CLIENT-IDENTIFIKATIONSÜBERPRÜFUNG | Im Abschnitt "Auswählen einer Identifikationsüberprüfungsart für den Server" | wurden zwei neue Absätze hinzugefügt: | Zum Schutz gegen alle Clients außer DRDA-Clients von DB2 for MVS und OS/390, | DB2 for VM und VSE und DB2 for OS/400 setzen Sie den Parameter | "trust_allclnts" auf den Wert DRDAONLY. Nur diese Clients können als | gesicherte Clients angesehen werden, um eine client-seitige | Identifikationsüberprüfung durchzuführen. Alle anderen Clients müssen eine | Benutzer-ID und ein Kennwort angeben, um die Identifikationsüberprüfung auf | dem Server durchzuführen. | Der Parameter "trust_clntauth" wird verwendet, um festzulegen, wo die | Identifikationsüberprüfung für die obigen Clients stattfindet. Hat der | Parameter "trust_clntauth" den Wert "client", wird die | Identifikationsüberprüfung auf dem Client durchgeführt. Beim Wert "server" | für den Parameter "trust_clntauth" findet die Identifikationsüberprüfung auf | dem Client statt, wenn kein Kennwort angegeben wird, bzw. auf dem Server, | wenn ein Kennwort angegeben wird. | 2.2.2 ÄNDERN DER KENNWORTAKTIVIERUNG FÜR EEE | DB2-Administratoren können nun anderen Personen das Ändern von | Kennwörtern auf AIX- und NT EEE-Systemen mit Hilfe der Variablen | "DB2CHGPWD_EEE=" der Profilregistrierdatenbank ermöglichen. | HINWEIS: Dies wird auf Sun EEE-Systemen nicht unterstützt. | Der Standardwert für diese Variable ist "NOT SET" (inaktiviert). Andere | Werte für "DB2CHGPWD_EEE" sind die booleschen Standardwerte, die von anderen | DB2-Profilvariablen verwendet werden. | Der DB2-Administrator ist dafür verantwortlich, daß sichergestellt ist, daß | die Kennwörter für alle Knoten zentral entweder mit Hilfe einer Windows NT | Domänensteuereinheit unter Windows NT oder mit Hilfe von NIS unter AIX | verwaltet werden. | HINWEIS: Wenn die Kennwörter nicht zentral verwaltet werden, kann es | durch die Aktivierung der Variable "DB2CHGPWD_EEE" dazu kommen, | daß Kennwörter nicht knotenübergreifend konsistent sind. Das | heißt, wenn ein Benutzer die Einrichtung zum Ändern des Kennworts | verwendet, wird das Kennwort des Benutzers nur auf dem Knoten | geändert, zum dem die Verbindung hergestellt wurde. | 2.2.3 VERSCHLÜSSELTE KENNWÖRTER | Für den Parameter "AUTHENTICATION" wurde ein neuer Wert "SERVER_ENCRYPT" | (für die Datenbankmanagerkonfiguration) hinzugefügt. Für "SERVER_ENCRYPT" | gelten nun die gleichen Regeln wie für die Identifikationsüberprüfungsart | "SERVER", allerdings um die Funktion erweitert, daß alle Kennwörter, die | über ein Netzwerk gesendet werden, verschlüsselt werden. | Außerdem wurde ein neuer Wert "DCS_ENCRYPT" für die Unterstützung von DB2 | Connect hinzugefügt. Dieser Wert ist in der Datei READDCS.TXT dokumentiert, | die mit den folgenden Produkten verfügbar ist: | IBM DB2 Connect Enterprise Edition, Version 5.2 | IBM DB2 Connect Personal Edition, Version 5.2 | Der gleiche Parameter wurde auch als Option der Klausel "CATALOG DATABASE" | für die Identifikationsüberprüfung hinzugefügt. | EINSCHRÄNKUNGEN | 1. Hinsichtlich der Unterstützung durch Datenbanken gilt, daß nur DB2/390 | und DB2 UDB ein verschlüsseltes Kennwort für diese Erstimplementierung | akzeptieren. Die Unterstützung durch DB2 UDB ist anfangs auf folgende | Plattformen beschränkt: | o Windows 95/98 | o Windows NT | o AIX | 2. CCA/Discovery Support für die neuen ENCRYPT-Versionen der | Identifikationsüberprüfung wird nicht unterstützt. | 3. Keine Unterstützung in der Steuerzentrale. | 4. Keine Verschlüsselung des neuen Kennworts für die Unterstützung der | Kennwortänderung. | 5. Keine DCE-Verzeichnisunterstützung der neuen | Identifikationsüberprüfungsarten SERVER_ENCRYPT und DCS_ENCRYPT. | 6. Keine DRDA-AS-Unterstützung für Verschlüsselung. | 7. Die Verschlüsselung wird lediglich für das Kennwort durchgeführt. Die | Benutzer-ID und der Rest des Datenflusses bleiben unverschlüsselt. | 2.2.4 OPTION LOGINRETRIES (NUR AIX) | DB2 Universal Database unter AIX wurde um die Funktionalität erweitert, | fehlgeschlagene Kennworteingabeversuche für das Betriebssystem zu | protokollieren und zu erkennen, wann ein Client die durch den Parameter | "loginretries" angegebene Anzahl der zulässigen Anmeldeversuche überschritten | hat. 2.3 PRÜFEN DER DB2-AKTIVITÄTEN Die Prüffunktion wird für Übersichtstabellen, typisierte Tabellen oder replizierte Tabellen nicht unterstützt. 2.4 DIENSTPROGRAMME FÜR DAS VERSETZEN VON DATEN 2.4.1 DATEIFORMATE VON LOAD, IMPORT UND EXPORT / PC/IXF-DATEIFORMATE / ÜBERLEGUNGEN ZU ZEICHENUMSETZTABELLEN Wenn Sie eine Datei im IXF-Format mit DBCS-Daten laden oder importieren möchten, müssen Sie die entsprechenden Umsetzungsdateien (die sich im Verzeichnis sqllib\conv befinden) auf Ihrer Client-Maschine installiert haben. Die Namen dieser Umsetzungsdateien enthalten die Nummern der Quellen- und Zielzeichenumsetztabelle. Die Erweiterung konvertiert immer Zeichenumsetztabelle 932 in 943. Wenn sich auf Ihrer Client-Maschine nicht die geeigneten Umsetzungsdateien befinden, können Sie diese von einer Server-Maschine in das Verzeichnis sqllib\conv der Client- Maschine kopieren. Kopieren Sie die Dateien von einer kompatiblen Plattform. Wenn zum Beispiel der Client unter einem auf UNIX basierenden Betriebssystem ausgeführt wird, kopieren Sie die Dateien von einem Server, der ebenso unter einem auf UNIX basierenden Betriebssystem ausgeführt wird. | 2.4.2 ÜBERSICHT ÜBER DEN LOAD-PROZESS (STATUS "ANSTEHEND") | Im Abschnitt "Übersicht über den LOAD-Prozeß" wurde der Absatz über die | verschiedenen "anstehenden" Status überarbeitet: | Es ist möglich, den LOAD-Prozeß unter folgenden Bedingungen zu beenden: | o Der Parameter "logretain" oder "userexit" ist "ON", COPY NO ist | ausgewählt (Standardwert) und NONRECOVERABLE ist nicht ausgewählt. | Oder: | o "logretain" oder "userexit" sind "OFF," COPY YES ist ausgewählt und | NONRECOVERABLE ist nicht ausgewählt. | In diesen Fällen werden die zugeordneten Tabellenbereiche in den Status | "Sicherung anstehend" (BACKUP PENDING) versetzt. | Dem Abschnitt "LOAD-Ausnahmetabelle" wurden zwei neue Absätze hinzugefügt: | Bei Angabe der Option FOR EXCEPTION prüft LOAD auf Zeilen, die Verstöße gegen | den eindeutigen Index enthalten. Allerdings werden von LOAD keine anderen | Verletzungen der Integritätsbedingungen oder Fremdschlüssel außer Verstößen | gegen die Integritätsbedingung der Eindeutigkeit überprüft. | Ein "eindeutiger Schlüssel" ist ein Schlüssel, der mit der Einschränkung | definiert ist, daß nicht zwei seiner Werte gleich sind. Als Methode zur | Einhaltung dieser Integritätsbedingung wird ein sogenannter eindeutiger Index | verwendet. Ein Primärschlüssel ist ein Spezialfall eines eindeutigen | Schlüssels. Eine Tabelle kann höchstens einen Primärschlüssel besitzen. 2.4.3 LOAD-EINSCHRÄNKUNGEN AUF SMP-MASCHINEN UNTER WINDOWS NT UND OS/2 Unter DB2 UDB Version 5.2 für Windows NT und DB2 UDB Version 5.2 für OS/2 könnte Benutzern, die in einer SMP-Umgebung arbeiten, bei der Ladeoperation möglicherweise gelegentlich das System abstürzen. Dieses bekannte Problem tritt nur bei der Indexerstellung (der BUILD-Phase des Dienstprogramms LOAD) auf, in der große Datenmengen (in der Größenordnung von mehreren Gigabyte) verarbeitet werden. Zur Vermeidung dieses Problems wird Ihnen empfohlen, vorhandene Indizes in einer Ladetabelle zu löschen, bevor Sie den Befehl LOAD absetzen, und nach der erfolgreichen Beendigung der Ladeoperation mit der Anweisung CREATE INDEX erneut zu erstellen. Alternativ hierzu können Sie die Ladeoperation in einer Zwischenspeichertabelle ausführen, für die keine Indizes definiert wurden, so daß das Löschen von Indizes entfällt. Die Zieltabelle können Sie später aktualisieren, indem Sie die Anweisung INSERT absetzen, die alle Daten von der Zwischenspeichertabelle umfaßt. | 2.4.4 FEHLERSZENARIO FÜR DAS AUTOLOADER-PROGRAMM UNTER DB2 UDB EXTENDED | ENTERPRISE EDITION FÜR WINDOWS NT | Das Folgende betrifft ein Fehlerszenario für das Autoloader-Programm unter | IBM DB2 Universal Database Extended Enterprise Edition für Windows NT. Es | werden das Symptom und die Art des Problems sowie eine Umgehungsmaßnahme | beschrieben. | Wenn das Autoloader-Programm "db2atld.exe" auf einer Maschine mit mehreren | installierten Netzwerkkarten ausgeführt wird, stellen Sie sicher, daß die | Maschine richtig konfiguriert ist, indem Sie folgende Operationen testen: | o Wenn Sie den Befehl "hostname" auf der Maschine eingeben, auf der | Autoloader gestartet wurde und diesen Host-Namen außerdem mit dem | Ping-Befehl von derselben Maschine abfragen, sollte die zurückgegebene | IP-Adresse mit dem Ergebnis übereinstimmen, das ein Ping-Befehl für | diesen Host-Namen von einer anderen Maschine in Ihrer DB2 MPP-Knotenliste | aus liefert. Wenn die Konfiguration der Maschine nicht korrekt ist, | erhalten Sie vom Autoloader-Programm einen Fehler "SQL6555N", und Sie | finden die Fehlernachricht "errno = 10061" (d. h. Verbindung verweigert) | in der oder den Dateien "db2diag.log" auf einigen der ladenden Knoten, | die durch den Parameter "OUTPUTNODES" in der Konfigurationsdatei Ihres | Autoloader-Programms definiert sind. | Auf Windows NT-Maschinen wird die IP-Adresse, die für einen lokalen | Host-Namen geliefert wird, nicht aus dem "DNS" oder der Datei "hosts" | abgerufen, sondern aus Informationen, die lokal über das Symbol "Netzwerk" | in der Systemsteuerung konfiguriert werden. | In Windows NT 4.0 gibt es einen Fehler, durch den die Bindereihenfolge, die | über das Symbol "Netzwerk" in der Systemsteuerung konfiguriert wird, keinen | Einfluß auf die Reihenfolge der IP-Adressen hat, die auf einer Maschine mit | mehreren konfigurierten Netzwerkkarten zurückgegeben werden. Im Microsoft | Support Online Artikel ID Q171320 finden Sie Maßnahmen zur Behebung dieses | Problems. (Wenn Sie einen Host-Namen mit einem Ping-Befehl abfragen, wird die | erste IP-Adresse zurückgeliefert.) | 2.4.5 ÄNDERUNGEN BEI DER IDENTIFIKATIONSÜBERPFÜFUNG FÜR AUTOLOADER | Das Konzept einer lokalen Datenbankverbindung wurde für die MPP-Umgebungen in | der Weise erweitert, daß Verbindungen von jedem Knoten eines bestimmten | MPP-Exemplars als lokale Verbindung behandelt werden. Dies bedeutet, daß auch | bei der Konfiguration des Exemplars mit AUTHENTICATION=SERVER kein Kennwort | mehr erforderlich ist, wenn eine Verbindung von einem der in der Datei | "db2nodes.cfg" definierten Knoten aus versucht wird. Das Autoloader-Programm | nutzt diese neue Funktion bei der Verbindungsherstellung, wenn die Markierung | AUTHENTICATION in der Datei "autloader.cfg" nicht gesetzt bzw. auf NO gesetzt | ist und das Kennwort für Autoloader nicht definiert ist. | Bei dieser neuen Funktionalität für die Herstellung von Datenbankverbindungen | ist das Kennwort für die Ausführung von Autoloader nur dann erforderlich, | wenn ein Kennwort für die ferne Ausführung von Programmen in Ihrem System | benötigt wird. Wenn zum Beispiel die Datei ".rhosts" auf einem UNIX-System | nicht ordungsgemäß eingerichtet ist, um die "rsh"-Ausführung zu ermöglichen, | ist das Kennwort erforderlich. | 2.4.6 IMPORTIEREN/EXPORTIEREN VON WSF-DATEN MIT BIGINT-SPALTEN | Beim Exportieren von "BIGINT"- oder "DECIMAL"-Spalten in das WSF-Format | (Work Sheet Format), werden nur Werte, die in den Bereich des Typs DOUBLE | fallen, korrekt exportiert. Werte außerhalb dieses Bereichs werden zwar in | die Zielmedien exportiert, aber das erneute Laden dieser Werte (mit "LOAD" | bzw. "IMPORT") kann zu fehlerhaften Daten führen. Das Endresultat ist je nach | Plattform unterschiedlich. 2.5 WIEDERHERSTELLEN EINER DATENBANK 2.5.1 SICHERN UND WIEDERHERSTELLEN VON DATENBANKEN AUF VERSCHIEDENEN BETRIEBSSYSTEMEN Sie können keine Datenbank und keinen Tabellenbereich auf einem Betriebssystem sichern, und sie/ihn auf einem anderen Betriebssystem mit Hilfe der Befehle BACKUP DATABASE und RESTORE DATABASE wiederherstellen. Statt dessen versetzen Sie Tabellen von einem Betriebssystem in ein anderes mit Hilfe des Befehls db2move (oder indem Sie die Daten exportieren und dann importieren oder laden). Weitere Informationen finden Sie im Abschnitt zum Versetzen von Dateien mit Hilfe des Hilfsprogramms db2move im Handbuch "Systemverwaltung". 2.5.2 ÜBERLEGUNGEN ZUR VERWENDUNG VON ADSM (ADSTAR DISTRIBUTED STORAGE MANAGER) Der aktuelle ADSM-Client unter Windows und OS/2 ist nicht simultan verwendbar, daher können Mehrfachsitzungen nicht mit den Dienstprogrammen BACKUP, RESTORE oder LOAD von einer einzigen Maschine erstellt werden. Angenommen, ein Benutzer in einer Konfiguration mit einem Knoten setzt den folgenden Sicherungsbefehl ab: db2 backup db sample use adsm open 3 sessions Daraufhin stellt DB2 fest, daß Mehrfachsitzungen von ADSM nicht unterstützt werden, und gibt SQL2032N zurück. Das gleiche Szenario gilt auch für das Laden von Kopien mit Hilfe von ADSM. In einer Konfiguration mit mehreren logischen Knoten unter Windows NT kann DB2 jedoch möglicherweise nicht feststellen, ob Mehrfachsitzungen auf einer Maschine ausgeführt werden, wenn jeder logische Knoten nur eine Sitzung erstellt. Wenn mehrere logische Knoten parallel mit ADSM gesichert, wiederhergestellt oder geladen werden, läßt DB2 die Operation zu, wenn jeder Knoten eine einzige Sitzung verwendet, selbst wenn die logischen Knoten sich tatsächlich auf derselben physischen Hardware befinden. Dies kann dazu führen, daß Sicherungsvorgänge fehlschlagen und Ladeprozesse blockiert werden. Deshalb darf diese Operation nicht ausgeführt werden. | 2.5.3 KONFIGURATIONSPARAMETER FÜR DIE DATENBANKPROTOKOLLIERUNG | Die folgenden Informationen sollten hinzugefügt werden: | Die maximale Gesamtgröße der Protokolldateien beträgt 4 GB. Das heißt, der | Wert der Anzahl der Protokolldateien (LOGPRIMARY + LOGSECOND) multipliziert | mit der Größe jeder Protokolldatei in Byte (LOGFILSIZ * 4096) muß kleiner | als 4 GB sein. | 2.5.4 HÄUFIGKEIT DER SICHERUNGEN UND ERFORDERLICHE ZEIT | Im Abschnitt "Häufigkeit der Sicherungen und erforderliche Zeit" sollten die | folgenden Informationen hinzugefügt werden: | Wenn die archivierten Protokolle bei der Wiederherstellung und | aktualisierenden Wiederherstellung einer Datenbank möglichst schnell | angewendet werden sollen, müssen Sie den Aufwand für häufigere Sicherungen | in Betracht ziehen. Ist Ihre Datenbank sehr aktiv, werden auch viele | Aktivitäten protokolliert, wodurch sich entsprechend häufige Sicherungen | empfehlen. Häufigere Datenbanksicherungen verringern die Anzahl der | archivierten Protokolle, die Sie bei der aktualisierenden Wiederherstellung | mit Hilfe archivierter Protokolle anwenden müssen. 2.5.5 WIEDERHERSTELLEN EINER DATENBANK (PLANEN DER VERWENDUNG DES BEFEHLS "ROLLFORWARD") Sie können eine partitionierte Datenbank von einem Client der Version 2 nicht aktualisierend wiederherstellen. | 2.6 VERWENDEN VON DB2 MIT EINEM XA-TRANSAKTIONSMANAGER | Im Unterabschnitt über das Verwenden des DB2 Universal Database XA-Schalters | im Abschnitt "Unterstützte XA-Funktion" in diesem Kapitel sollte die letzte | Zeile in "OS/2-Plattform" wie folgt geändert werden: | Bei jeder Methode müssen Sie Ihre Anwendung mit db2api.lib verbinden. Im Abschnitt "Windows NT-Plattform" muß die letzte Zeile wie folgt geändert werden: Stellen Sie bei jeder dieser Methoden sicher, daß Sie eine Programmverbindung zu db2api.lib herstellen. | Verweise auf "db2app.lib" sollten in "db2api.lib" geändert werden. | 2.7 ÜBERLEGUNGEN ZU ANWENDUNGEN | Im Abschnitt "Sperren" unmittelbar vor dem Abschnitt "Attribute von Sperren" | sollte der folgende Absatz eingefügt werden: | Es kann sinnvoll sein, das Definieren eines Monitors in Betracht zu ziehen, | der aufzeichnet, wann gegenseitige Sperren auftreten. Verwenden Sie zur | Erstellung des Monitors die Anweisung CREATE EVENT MONITOR, die im Handbuch | "SQL Reference" beschrieben ist. | Im Abschnitt über die Verwendung einer Anweisung SELECT sollte das Beispiel | mit OPTIMIZE FOR und FETCH FIRST auf folgende Weise geändert werden: | SELECT EMPNAME, SALARY FROM EMPLOYEE | ORDER BY SALARY DESC | FETCH FIRST 100 ROWS ONLY | OPTIMIZE FOR 20 ROWS | Die Änderung ist lediglich eine Umkehrung der Reihenfolge der beiden letzten | Zeilen des Beispiels. | 2.8 DER SQL-COMPILER | Im Abschnitt über die Hash-Verknüpfung sollten die folgenden Informationen | hinzugefügt werden: | Um die Leistungsvorteile der Hash-Verknüpfung ausschöpfen zu können, kann es | notwendig sein, den Wert des Parameters "sortheap" der Datenbankkonfiguration | und den Wert des Parameters "sheapthres" der Datenbankmanagerkonfiguration zu | ändern. | Für Entscheidungshilfeabfragen verwenden Zugriffspläne mit Hash-Verknüpfungen | mehr Sortierzwischenspeicher als Pläne ohne Hash-Verknüpfungen. Wenn der | Parameter "sheapthres" auf einen sehr ähnlichen Wert wie "sortheap" (d. h. | weniger als einen Faktor 2 oder 3 pro gleichzeitiger Abfrage) eingestellt | ist, läuft eine Hash-Verknüpfung mit weit weniger Speicher als das | Optimierungsprogramm annimmt. Bei der Ausführung mit beschränktem Speicher | können Hash-Verknüpfungen sehr langsam sein. Das Problem tritt in Abfragen | mit mehreren Sortiervorgängen und Hash-Verknüpfungen auf, in denen die ersten | Sortiervorgängen bzw. Hash-Verknüpfungen den größten Teil des verfügbaren | Speichers belegen. | Die Lösung des Problems besteht darin, den Parameter "sheapthres" ausreichend | groß (im Verhältnis zu "sortheap") zu konfigurieren. 2.9 LEISTUNG BEI DER AUSFÜHRUNG | 2.9.1 VERWALTEN DES DATENBANKPUFFERPOOLS | Die folgenden Informationen sollten hinzugefügt werden: | Der Speicher, der dem Pufferpool zugewiesen wurde, wird zugeordnet, wenn eine | Datenbank aktiviert bzw. wenn die erste Anwendung eine Verbindung zur | Datenbank herstellt. Anwendungen sind die Hauptnutznießer des Pufferpools. | Wenn alle Anwendungen ihre Verbindungen trennen, wird der dem Pufferpool | zugewiesene Speicher freigegeben. 2.9.2 VERWALTEN MEHRERER DATENBANKPUFFERPOOLS Wenn Sie in Ihrem Datenbankentwurf festgelegt haben, daß Ihre Tabellen eine Seitengröße von 8 KB haben sollen, müssen Sie einen Pufferpool mit einer Seitengröße von 8 KB erstellen (mit mindestens einem Tabellenbereich derselben Seitengröße). Wenn Sie Ihre Tabellen in einen 8-KB-großen Tabellenbereich speichern möchten, wird für die temporären Tabellenbereiche ebenfalls eine Seitengröße von 8 KB empfohlen. Diese sollten außerdem demselben 8-KB-großen Pufferpool zugeordnet werden. Sie sollten nur einen kleinen Standardpufferpool (IBMDEFAULTBP) und andere 4-KB-große Pufferpools, denen alle 4-KB-großen temporären Tabellenbereiche zugeordnet sind, verwenden, da der Datenbankmanager die 8-KB-großen temporären Tabellenbereiche und somit den 8-KB-großen Pufferpool bevorzugt. | 2.10 VERWENDEN VON GOVERNOR | Im Abschnitt "Der Governor-Dämon" sind folgende Informationen hinzuzufügen: | In der Anmerkung zur Verwendung von Governor als alternative Möglichkeit zur | Anpassung der Agentenpriorität sollte der folgende Hinweis hinzugefügt | werden: "(Diese Anmerkung trifft nicht auf Plattformen unter OS/2 oder | Windows NT zu.)" | Im Abschnitt "Erstellen der Governor-Konfigurationsdatei" sind der erste | und der zweite Absatz der Informationen unter "action/priority" durch | folgendes zu ersetzen: | Gibt eine Änderung der Priorität der Agenten an, die für die Anwendung aktiv | sind. Gültige Werte reichen von -20 bis +20. 2.11 KONFIGURIEREN VON DB2 | 2.11.1 VERSCHLÜSSELTE KENNWÖRTER | Der Parameter AUTHENTICATION (Identifikationsüberprüfung) wurde wie folgt | aktualisiert: | Für den Parameter "AUTHENTICATION" wurde ein neuer Wert "SERVER_ENCRYPT" | hinzugefügt. Für diesen Wert gelten die gleichen Regeln wie für die | Identifikationsüberprüfungsart "SERVER", allerdings um die Funktion | erweitert, daß alle Kennwörter, die über ein Netzwerk gesendet werden, | verschlüsselt werden. Informationen zu Einschränkungen bei der Verwendung | dieses Werts finden Sie im Abschnitt 2.2.3, "Verschlüsselte Kennwörter". | Ein neuer Wert "DCS_ENCRYPT" wurde für diesen Parameter hinzugefügt. Dieser | Wert dient der Unterstützung von DB2 Connect. Einzelheiten zu diesem neuen | Wert sind in der Datei READDCS.TXT der beiden folgenden Prokukte | dokumentiert: | o IBM DB2 Connect Enterprise Edition, Version 5.2 | o IBM DB2 Connect Personal Edition, Version 5.2 2.11.2 OPTIMIEREN DER KONFIGURATIONSPARAMETER/LEISTUNGSOPTIMIERUNG VON HASH-VERKNÜPFUNGEN Damit Sie die Leistungsvorteile von Hash-Verknüpfungen nutzen können, müssen Sie möglicherweise die Werte des Datenbankkonfigurationsparameters SORTHEAP und des Konfigurationsparameters des Datenbankmanagers SHEAPTHRES ändern. Das Hash-Verfahren benötigt mehr Speicherbereich für den Sortierspeicher als andere Verknüpfungsverfahren. Wenn die Werte für SHEAPTHRES und SORTHEAP sich nur geringfügig unterscheiden (kleiner als Faktor 2 oder 3 pro gleichzeitiger Abfrage), benötigt die Hash-Verknüpfung viel weniger Speicher als vom Optimierungsprogramm errechnet. Wenn die Hash-Verknüpfung mit begrenztem Speicher ausgeführt wird, kann dieses Verfahren sehr langsam sein. Dieses Problem tritt bei Abfragen mit mehreren Sortiervorgängen und Hash-Verknüpfungen auf, bei denen die ersten Sortiervorgänge oder Hash-Verknüpfungen den größten Teil des verfügbaren Speicherplatzes belegen. Sie lösen dieses Problem, indem Sie für SHEAPTHRES einen ausreichend großen Wert im Verhältnis zu SORTHEAP konfigurieren. Weitere Informationen zu Hash-Verknüpfungen und darüber wie Sie feststellen können, ob eine Hash-Verknüpfungsstrategie ausgewählt wurde, finden Sie in der Beschreibung von db2expln im Handbuch "SQL Reference" und dem Buch "Neue Funktionen" (Anhang A - System Monitor Guide and Reference Updates). Lesen Sie auch unten die Beschreibung der neuen Registrierdatenbankvariablen für Hash-Verknüpfungen (DB2_HASH_JOIN). | 2.11.3 DATENBANKPROTOKOLLDATEIEN | Der Parameter "Protokolldateigröße (logfilsz)" wurde wie folgt aktualisiert: | Die maximale Gesamtgröße der Protokolldateien beträgt 4 GB. Das heißt, der | Wert der Anzahl der Protokolldateien (LOGPRIMARY + LOGSECOND) multipliziert | mit der Größe jeder Protokolldatei in Byte (LOGFILSIZ * 4096) muß kleiner | als 4 GB sein. | 2.11.4 GESICHERTE CLIENTS UND DRDA-VERWENDUNG | Im Abschnitt dieses Kapitels über die Exemplarsystemverwaltung wurde der | Parameter "Alle Clients akzeptieren (trust_allclnts)" wie folgt aktualisiert: | Der Wertebereich für den Parameter umfaßt neben NO und YES nun auch DRDAONLY. | Die Beschreibung des Parameters enthält nun die beiden folgenden Absätze: | Das Setzen des Parameters "trust_allclnts" auf den Wert DRDAONLY schützt vor | allen Clients außer DRDA-Clients von DB2 for MVS und OS/390, DB2 for VM und | VSE und DB2 for OS/400. Nur diese Clients können als gesicherte Clients | akzeptiert werden, um eine client-seitige Identifikationsüberprüfung | durchzuführen. Alle anderen Clients müssen eine Benutzer-ID und ein Kennwort | angeben, um die Identifikationsüberprüfung auf dem Server durchzuführen. | Der Parameter "trust_clntauth" wird verwendet, um festzulegen, wo die | Identifikationsüberprüfung für die obigen Clients stattfindet. Hat der | Parameter "trust_clntauth" den Wert "client", wird die | Identifikationsüberprüfung auf dem Client durchgeführt. Beim Wert "server" | für den Parameter "trust_clntauth" findet die Identifikationsüberprüfung auf | dem Client statt, wenn kein Kennwort angegeben wird, bzw. auf dem Server, | wenn ein Kennwort angegeben wird. | 2.11.5 OPTION LOGINRETRIES (NUR AIX) | DB2 Universal Database unter AIX wurde um die Funktionalität erweitert, | fehlgeschlagene Kennworteingabeversuche für das Betriebssystem zu | protokollieren und zu erkennen, wann ein Client die durch den Parameter | "loginretries" angegebene Anzahl der zulässigen Anmeldeversuche überschritten | hat. 2.11.6 ASLHEAPSZ UND FEHLGESCHLAGENE ABFRAGEN GROSSER TABELLEN DB2 kann abstürzen, während es Abfrageergebnisse von großen Tabellen (d. h. Tabellen, deren Datensatzlänge größer ist als 4005 Zeichen und die mehr als 500 Spalten besitzen) abruft. Das können Sie verhindern, indem Sie einen höheren Wert für den Konfigurationsparameter des Datenbankmanagers ASLHEAPSZ als den Standardwert 15 angeben. 2.11.7 EINSTELLUNG INTRA_PARALLEL AUF EINER SMP-MASCHINE (WINDOWS NT) Auf einer SMP-Maschine unter Windows NT wird der Konfigurationsparameter des Datenbankmanagers INTRA_PARALLEL auf YES gesetzt, wenn ein Exemplar mit DB2 Version 5.2 erstellt wird. Wenn ein Exemplar mit der Version 5.0 erstellt wird, wird dieser Parameter auf NO gesetzt. | 2.12 HACMP ES FOR AIX | Der Abschnitt "Cluster-Konfiguration" enthält ein Beispiel zur Erstellung von | Behältern für ein Zwei-Knoten-System, das wie folgt aktualisiert wurde: | CREATE TABLESPACE TS3 MANAGED BY SYSTEM USING | ('/TS/cont $N%2, '/TS3/cont $N%2+2') | Die folgenden Behälter würden verwendet: | /TS3/cont0 - auf Knoten 0 | /TS3/cont2 - auf Knoten 0 | /TS3/cont1 - auf Knoten 1 | /TS3/cont3 - auf Knoten 1 | Die Änderung wurde zur Herstellung der Konsistenz mit dem Unterverzeichnis | 'TS3' durchgeführt. | 2.13 DB2-REGISTRIERDATENBANKWERTE UND UMGEBUNGSVARIABLEN | Parameter Betriebs- Werte Beschreibung | system | --------------------------------------------------------------------------- | DB2CHGPWD_EEE AIX und Standardwert=NULL DB2-Administratoren können | Windows NT Werte: YES oder NO anderen Benutzern | (auf Sun EEE ermöglichen, Kennwörter zu | nicht ändern. Der Administrator | unterstützt) ist dafür verantwortlich, | sicherzustellen, daß die | Kennwörter für alle | Datenbankpartitionen | (Knoten) entweder über | eine Windows NT-Domänen- | steuereinhheit oder über NIS | auf AIX zentral verwaltet | werden. Bei nicht zentraler | Verwaltung können Kennwörter | datenbankpartitionsübergrei- | fend inkonsistent werden. | Dies könnte dazu führen, daß | ein Kennwort nur in der | Datenbankpartition geändert | wird, zu der der Benutzer | die Verbindung herstellt, um | die Änderung vorzunehmen. | Parameter Betriebs- Werte Beschreibung | system | ---------------------------------------------------------------------------- | DB2_GRP_LOOKUP Windows NT STANDARDWERT=null Gibt an, welcher Windows | Werte: local, domain NT-Sicherheitsmechanismus | verwendet wird, um die | Gruppen aufzulisten, zu | denen ein Benutzer | gehört. | HINWEIS: Für FixPak 7 wurde die Registrierdatenbankvariable "db2_grp_lookup" | erweitert, um das Schlüsselwort "domain" zusätzlich zu dem momentan | unterstützten Schlüsselwort "local" zu unterstützen. | db2set db2_grp_lookup=domain | sollte unter folgenden Bedingungen gesetzt werden: | 1. Ihre Machine ist keine Domänensteuereinheit. | 2. Ihre Maschine ist in einer anderen Domäne als die Domäne, in der | sich die Domänenkonten befinden. Dies tritt bei Verwendung des | Master Account Domain-Modells auf, bei dem Konten (Accounts) in | einer Domäne erstellt werden, die durch die Ressourcendomänen | gesichert sind. | 3. Sie haben Sicherungs-Domänensteuereinheiten für die Kontendomäne. | Dieser Parameter gilt für Client- und Server-Konfigurationen. | Durch Setzen dieses Parameters wird DB2 angewiesen, eine | Domänensteuereinheit in der aktuellen Domäne zu verwenden, um | eine Steuereinheit für die Kontendomäne zu lokalisieren. | GELÖSTES PROBLEM: | Um die Gruppen aufzuzählen (und herauszufinden, ob Sie ein | Administrator sind), verwendet DB2 eine NT-API, um eine | Domänensteuereinheit für die Domäne zu finden, in der das Konto | (Account) definiert ist. DB2 verwendet eine API, die versucht, die | primäre Domänensteuereinheit (PDC - Primary Domain Controller) | zu finden, und wenn dies nicht gelingt, eine | Sicherungs-Domänensteuereinheit. Falls die Maschine, auf der | diese API aktiv ist, ebenfalls eine Domänensteuereinheit ist, | funktioniert dieses Verfahren immer. Ist Ihre Maschine keine | Domänensteuereinheit, schlägt dieses Verfahren fehl, wenn | die PDC nicht aktiv ist. Bei "db2_grp_lookup=domain" findet | DB2 eine Domänensteuereinheit in Ihrer Domäne, mit dem die API | zur Lokalisierung der Domänensteuereinheit für die Kontendomäne | ausgeführt werden kann. Dieses Verfahren funktioniert auch dann, | wenn die PDC nicht aktiv ist. Parameter Betriebs- Werte Beschreibung system --------------------------------------------------------------------------- DB2_HASH_JOIN Alle STANDARDWERT=NO Gibt die Hash-Verknüpfung Werte: YES oder NO als eine mögliche Verknüpfungsmethode beim Kompilieren eines Zugriffsplans an | Parameter Betriebs- Werte Beschreibung | system | ---------------------------------------------------------------------------- | DB2_NEW_CORR_SQ_FF Alle STANDARDWERT=OFF Beeinflußt den vom SQL- | Werte: ON oder OFF Optimierungsprogramm | ermittelten Wert der | Selektivität für bestimmte | Vergleichselemente von | Unterabfragen, wenn auf ON. | Kann zur Erhöhung der | Genauigkeit des Werts | der Selektivität von | Vergleichselementen mit | Gleichheitszeichen in | Unterabfragen verwendet | werden, die mit der | Spaltenfunktion MIN | oder MAX in der SELECT- | Liste der Unterabfrage | arbeiten. Beispiel: | SELECT * FROM T WHERE T.COL = | (SELECT MIN(T.COL) FROM T WHERE ...) | Parameter Betriebs- Werte Beschreibung | system | ---------------------------------------------------------------------------- | DB2MEMDISCLAIM AIX STANDARDWERT=(nicht Je nach aktueller | gesetzt) Auslastung und der | Werte: YES oder NO Konfiguration der | Poolagenten kann eine | Situation eintreten, in der | der für jeden DB2-Agenten | zugeordnete Speicher über | 32 MB bleibt, auch wenn der | Agent im Leerlauf ist. Dies | ist erwünscht und führt in | der Regel zu einer guten | Leistung, da der Speicher | zur raschen Wiederverwendung | reserviert bleibt. Auf einem | System mit begrenzten | Speicherressourcen ist dies | aber vielleicht nachteilig. | Um diese Bedingung zu | vermeiden, geben Sie | folgendes ein: | db2set DB2MEMDISCLAIM=yes | DISCLAIM bedeutet, daß AIX | das Seitenauslagern für | diesen Bereich stoppt, so | daß kein realer Speicher | mehr belegt wird. Durch | Setzen von DB2MEMDISCLAIM | auf YES wird DB2 UDB | angewiesen, je nach dem | Wert von DB2MEMMAXFREE | einen Speicherbereich | oder den gesamten Speicher, | wenn er einmal freigegeben | ist, nicht wieder zu | belegen. Dadurch wird | sichergestellt, daß der | Speicher gleich nach der | Freigabe für andere Prozesse | verfügbar gemacht wird. | Siehe auch DB2MEMMAXFREE. | Parameter Betriebs- Werte Beschreibung | system | --------------------------------------------------------------------------- | DB2MEMMAXFREE AIX STANDARDWERT=(nicht Gibt die Menge an freiem | gesetzt) Speicher an, die von jedem | Werte: 4000000 Agenten zurückbehalten wird. | bis 256000000 Sie können diese Variable | auf einen Wert zwischen 4 | und 256 MB setzen. Es wird | empfohlen, bei Verwendung | dieser Einrichtung einen | Wert von 8 MB anzugeben: | db2set DB2MEMMAXFREE=8000000 | Siehe auch DB2MEMDISCLAIM. | Es gibt eine neue Registrierdatenbankvariable zur Optimierung von | Pufferpools. Sie wird wie folgt verwendet: | 1. Erstellen Sie eine Datei. | 2. Definieren Sie die Datei wie folgt: | db2set DB2BPVARS= | Zum Beispiel hat die Datei "f:\BPVARSFILE" folgenden Inhalt: ----------------------------------------------------------------------------- | # Aktivieren von des gestreuten Lesens (SCATTER-READ) für unformatierte | # (raw) DMS-Einheiten | NT_SCATTER_DMSDEVICE=1 ----------------------------------------------------------------------------- | Mit dieser Datei würden Sie wie folgt verfahren: | db2set DB2BPVARS=f:\BPVARSFILE | Der zur Zeit unterstützte Parameter heißt: | Parameter Betriebs- Werte Beschreibung | system | ---------------------------------------------------------------------------- | NT_SCATTER_DMSDEVICE NT STANDARDWERT=0(OFF) Kann verwendet werden, | Werte=0(OFF) um das gestreute Lesen | oder 1(ON) (Scatter-Read) für DMS-Einheitenbehälter | zu aktivieren. Dieser | Parameter kann nur | aktiviert (ON) werden, | wenn DB2NTNOCACHE in | der Registrierdatenbank | auf ON gesetzt ist. Ist | DB2NTNOCACHE auf OFF | oder nicht gesetzt, | wird eine Warnung in die | Datei db2diag.log | geschrieben und das | gestreute Lesen bleibt | inaktiviert. | Das gestreute Lesen | wird für Systeme mit | hohem Aufkommen an | sequentiellen | Vorablesezugriffen auf | unformatierte Behälter | empfohlen. 2.14 ZUSÄTZLICHE RAH-INFORMATIONEN (RUN ALL HOSTS) (NUR FÜR SOLARIS UND AIX) Folgender Text soll den rah-Informationen in Anhang Q hinzugefügt werden. Zur Leistungsverbesserung wurde rah erweitert, um eine Baumstrukturlogik für große Systeme zu verwenden. Das heißt rah überprüft, wie viele Knoten in der Liste enthalten sind, und wenn diese Anzahl einen Schwellenwert überschreitet, erstellt rah eine Teilmenge von der Liste und sendet einen rekursiven Aufruf von sich selbst an diese Knoten. An diesen Knoten wendet der rekursiv aufgerufene Befehl rah dieselbe Logik an, bis die Liste klein genug ist, daß mit der Standardlogik (nun die "Blattlogik") die Befehle an alle Knoten in der Liste versendet werden können. Der Schwellenwert kann mit der Umgebungsvariable RAHTREETHRESH angegeben werden, oder er nimmt standardmäßig den Wert 15 an. Im Fall eines Systems, bei dem jedem physischen Knoten mehrere logische Knoten zugeordnet sind, sendet db2_all den rekursiven Aufruf bevorzugt an einzigartige physische Knoten, die dann rah an die anderen logischen Knoten auf demselben physischen Knoten senden, so daß auch die Übertragungen zwischen den physischen Knoten reduziert werden. (Dies gilt nur für db2_all, jedoch nicht für rah, da rah immer nur an bestimmte physische Knoten sendet.) Die Syntax und Semantik dieser rah-Version ist fast mit der Vorgängerversion (die im Produkt als rah.sh_old geliefert wurde) identisch, mit Ausnahme einiger geringer Einschränkungen bei den Optionen: o Der Benutzer muß ksh (Korn-Shell) als Shell verwenden. Wenn der Benutzer eine andere Shell verwendet, gibt rah_tree eine Warnung zurück und wendet keine Baumstrukturlogik an. o Das einfache Anführungszeichen ('), das als Präfixzeichen ein Echo des Befehls anfordert, wird nicht erkannt und ignoriert. o Wenn die Optionen < (alle-außer-mir) und > (ersetze <> durch Host-Index) angegeben sind, unterscheidet sich der Host-Index von dem, was mit non-tree rah/db2_all ersetzt worden wäre. HINWEIS: Die Substitutionen () und ## sollten wie die alte Version von rah/db2_all übereinstimmend funktionieren. o Es wird dringend empfohlen, daß die Einrichtung für Benutzer-IDs auf allen Knoten in der Liste identisch ist. Das aktuelle Arbeitsverzeichnis, von dem der Befehl rah_tree oder der Befehl db2_tree abgesetzt wird, sollte auf allen Knoten vorhanden sein. Die ausführbare Datei rah_tree muß sich im aktuellen $PATH auf allen Knoten befinden (die Datei, die beim Absetzen des Befehls rah_tree ausgeführt wird). Die ausführbare Datei rahwaitfor muß sich in diesem Pfad befinden usw. Bestimmte Umgebungsunterschiede zwischen Knoten können toleriert werden, viele jedoch nicht. o Der Befehl, der ausgeführt werden soll, darf nicht mit den Zeichen "-o, -b, -d oder -x" beginnen, da der Befehl rah_tree diese als Optionen interpretiert. o Wenn Sie eine parallele Ausführung angeben, unterscheidet sich wahrscheinlich die Reihenfolge, in der die Hosts ihre Ausgabe zurückgeben, von der Reihenfolge, die ohne rah_tree generiert wird. Diese Ausgabe wird überwiegend in Listenform zurückgegeben. o Immer wenn rah_tree oder db2_tree aufgerufen werden, wird die Anzahl der Zielknoten mit dem Schwellenwert, wie oben beschrieben, verglichen. Der Schwellenwert kann mit einer Umgebungsvariable angegeben werden: export RAHTREETHRESH=nn Hierbei kann nn für eine beliebige positive ganze Zahl stehen. Er kann jedoch auch den Standardwert 15 annehmen. | 2.15 UNTERSTÜTZUNG VON UNICODE/UCS-2 UND UTF-8 IN DB2 UDB | Diese beiden Standards werden an dieser Stelle dokumentiert. | 2.15.1 EINFÜHRUNG | Der Unicode-Standard für die Zeichencodierung ist ein Schema mit festgelegter | Länge zur Codierung von Zeichen, das Zeichen aus annähernd allen lebenden | Sprachen der Welt umfaßt. Unicode-Zeichen werden in der Regel in der Form | "U+xxxx" dargestellt, wobei xxxx der Hexadezimalcode des Zeichens ist. | Jedes Zeichen ist unabhängig von der Sprache 16 Bit (2 Byte) lang. Auch wenn | die sich daraus ergebenden 65.536 Codeelemente zur Codierung der meisten | Zeichen der wichtigeren Sprachen der Welt ausreichen, bietet der | Unicode-Standard außerdem ein Erweiterungsverfahren, das die Codierung | von bis zu einer Million weiterer Zeichen ermöglicht. Diese Erweiterung | reserviert einen Bereich von Codewerten (U+D800 bis U+D8FF, bekannt als | "Surrogates", d. h. Zusatzzeichen) zur Codierung einiger 32-Bit-Zeichen als | zwei aufeinanderfolgende Codeelemente. | Der Standard ISO/IEC 10646 der International Organization for Standardization | (ISO) und der International Electrotechnical Commission (IEC) spezifiziert | den Universal Multiple-Octet Coded Character Set (UCS), der eine | Zwei-Byte-Version (UCS-2) und eine Vier-Byte-Version (UCS-4) umfaßt. Die | Zwei-Byte-Version dieses ISO-Standards UCS-2 ist mit dem Unicode-Standard | ohne Zusatzzeichen (Surrogates) identisch. ISO 10646 definiert ebenfalls eine | Erweiterungstechnik zur Codierung einiger UCS-4-Codes in einer in UCS-2 | codierten Zeichenfolge. Diese Erweiterung mit der Bezeichnung UTF-16 ist mit | dem Unicode-Standard mit Zusatzzeichen identisch. | DB2 UDB unterstützt UCS-2, das heißt, Unicode ohne Zusatzzeichen. | 2.15.1.1 UTF-8 | Bei der UCS-2- bzw. Unicode-Codierung sind ASCII-Zeichen und Steuerzeichen | ebenfalls zwei Byte lang, wobei das führende Byte null ist. Zum Beispiel | entspricht NULL dem Code U+0000 und der Großbuchstabe A dem Code U+0041. Dies | kann zu einem größeren Problem für auf ASCII-Code basierende Anwendungen und | ASCII-Dateisysteme werden, da in den UCS-2-Zeichenfolgen irrelevante Nullen | (NULLs) an unvorhergesehenen Stellen in der Zeichenfolge auftreten können. | Ein Umwandlungsalgorithmus mit der Bezeichnung UTF-8 kann zur Umgehung dieses | Problems für Programme verwendet werden, die davon abhängig sind, daß | der ASCII-Code invariant ist. | UTF-8 (UCS Transformation Format 8) ist eine algorithmische Umwandlung, die | UCS-2- und UCS-4-Zeichen fester Länge in Byte-Zeichenfolgen variabler Länge | umsetzt. In UTF-8 werden ASCII-Zeichen durch ihre normalen Einzelbytecodes | dargestellt, während Nicht-ASCII-Zeichen in UCS-2 zwei oder drei Byte | lang werden. Das heißt mit anderen Worten, daß UTF-8 die UCS-2-Zeichen | in einen codierten Mehrbytezeichensatz umsetzt, bei dem ASCII invariant | ist. Die Anzahl von Byte für jedes UCS-2-Zeichen im UTF-8-Format kann aus | der folgenden Tabelle ermittelt werden: | UCS-2 (hex) UTF-8 (binär) Beschreibung | ------------ -------------------------- ------------------ | 0000 - 007F 0xxxxxxx ASCII | 0080 - 07FF 110xxxxx 10xxxxxx bis U+07FF | 0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx andere UCS-2-Codes | HINWEIS: Der Bereich von D800 bis DFFF muß aus der Behandlung durch die | dritte Zeile dieser Tabelle ausgeschlossen werden. Dies | entspricht dem UCS-4-Bereich von 0000 0800 bis 0000 FFFF. | In den obigen Angaben steht eine Folge von x für die UCS-Bit-Darstellung des | Zeichens. Zum Beispiel wird U+0080 in 11000010 10000000 umgesetzt. | 2.15.2 IMPLEMENTIERUNG VON UCS-2/UTF-8 IN DB2 UDB | 2.15.2.1 NUMMERN VON ZEICHENUMSETZTABELLEN/CCSID-NUMMERN | IBM-intern wurde die UCS-2-Zeichenumsetztabelle als Zeichenumsetztabelle | 1200 registriert. Alle Zeichenumsetztabellen sind mit wachsenden | Zeichensätzen definiert, das heißt, wenn neue Zeichen einer | Zeichenumsetztabelle hinzugefügt werden, ändert sich die Nummer der | Zeichenumsetztabelle nicht. Die Zeichenumsetztabelle 1200 bezieht sich | immer auf die aktuelle Version von Unicode/UCS-2 und wird zur Unterstützung | von UCS-2 in DB2 UDB verwendet. | Ein spezielles Repertoire des UCS-Standards, wie er durch Unicode 2.0 und | ISO/IEC 10646-1 definiert ist, wurde ebenfalls IBM-intern als CCSID 13488 | registriert. Diese CCSID (13488) wird intern von DB2 UDB zum Speichern | grafischer Zeichenfolgedaten in euc-Japan- und euc-Taiwan-Datenbanken | verwendet. Sowohl CCSID 13488 als auch Zeichenumsetztabelle (CP - Code | Page) 1200 beziehen sich auf UCS-2 und werden abgesehen von dem Wert ihres | "Doppelbytebereichs" (DBCS) gleich behandelt: | CP/CCSID Einzelbytebereich (SBCS) Doppelbytebereich (DBCS) | --------- ------------------------- ------------------------- | 1200 N/V U+0020 | 13488 N/V U+3000 | HINWEIS: In einer UCS-2-Datenbank hat U+3000 keine besondere Bedeutung. | Da die Zeichenumsetztabelle 1200 eine Obermenge von CCSID 13488 ist, werden | bei den Umsetztabellen exakt die gleichen Tabellen (der Obermenge) für | beide verwendet. | Von IBM wurde UTF-8 als CCSID 1208 mit wachsendem Zeichensatz (manchmal auch | als Zeichenumsetztabelle 1208 bezeichnet) registriert. Durch das Hinzufügen | neuer Zeichen zu diesem Standard ändert sich auch diese Nummer (1208) nicht. | 1208 wird als Mehrbytezeichenumsetztabelle für die Unterstützung von | UCS-2/UTF-8 durch DB2 verwendet. | DB2 UDB unterstützt UCS-2 als neue Mehrbytezeichenumsetztabelle (MBCS). Die | Nummer der MBCS-Zeichenumsetztabelle ist 1208, welche die Nummer der | Zeichenumsetztabelle der Datenbank und der Zeichenumsetztabelle für | Zeichenfolgedaten innerhalb der Datenbank ist. Die Nummer der | Doppelbytezeichenumsetztabelle (für UCS-2) lautet 1200, welche die | Zeichenumsetztabelle für grafische Zeichenfolgedaten innerhalb der Datenbank | ist. Wenn eine Datenbank in UCS-2/UTF-8 erstellt wird, werden Daten der Typen | CHAR, VARCHAR, LONG VARCHAR und CLOB in UTF-8 und Daten der Typen GRAPHIC, | VARGRAPHIC, LONG VARGRAPHIC und DBCLOB in UCS-2 gespeichert. Eine solche | Datenbank wird hier der Einfachheit halber als UCS-2-Datenbank bezeichnet. | 2.15.2.2 ERSTELLEN EINER UCS-2-DATENBANK | Standardmäßig werden Datenbanken in der Zeichenumsetztabelle der Anwendung | ertellt, die sie erstellt. Wenn Sie also Ihre Datenbank von einem | UTF-8-Client (z. B. mit den länderspezifischen Angaben UNIVERSAL von AIX) aus | erstellen oder wenn die Umgebungsvariable DB2CODEPAGE auf dem Client mit dem | Wert 1208 definiert ist, wird Ihre Datenbank als UCS-2-Datenbank erstellt. | Alternativ können Sie auch "UTF-8" als Namen des codierten Zeichensatzes | (CODESET) explizit angeben und jeden gültigen, von DB2 UDB unterstützten | aus zwei Buchstaben bestehenden Gebietscode (TERRITORY) verwenden. | Im Handbuch "Systemverwaltung" und im Anhang zur Unterstützung in der | Landessprache finden Sie eine vollständige Liste der von DB2 UDB | unterstützten Gebietscods (TERRITORY). | Wenn Sie zum Beispiel eine UCS-2-Datenbank über den Befehlszeilenprozessor | mit dem Gebietscode (TERRITORY) der Vereinigten Staaten erstellen wollen, | geben Sie folgendes ein: | DB2 CREATE DATABASE dbname USING CODESET UTF-8 TERRITORY US | Der Standardwert für die Sortierfolge für eine UCS-2-Datenbank ist IDENTITY, | wodurch die UCS-2-Codepunktreihenfolge hergestellt wird. Daher werden | standardmäßig alle UCS-2/UTF-8-Zeichen nach ihrer UCS-2-Codepunktreihenfolge | sortiert und verglichen. | Alle kulturabhängigen Parameter wie Datums-/Uhrzeitformat, | Dezimaltrennzeichen u. a. werden entsprechend dem aktuellen Gebietscode | (TERRITORY) des Clients bestimmt. | Eine UCS-2-Datenbank ermöglicht Verbindungen von jeder Einzelbyte- und | Mehrbyte-Zeichenumsetztabelle, die von DB2 UDB unterstützt wird. | Zeichenumsetzungen zwischen der Zeichenumsetztabelle des Client und UTF-8 | werden vom Datenbankmanager automatisch durchgeführt. Daten der grafischen | Zeichenfolgetypen sind immer in UCS-2 und werden keiner Umwandlung für | Zeichenumsetztabellen unterzogen. Die CLP-Umgebung (Befehlszeilenprozessor) | bildet eine Ausnahme. Wenn Sie grafische Zeichenfolgedaten (UCS-2-Daten) über | CLP mit SELECT auswählen, werden die zurückgegebenen grafischen | Zeichenfolgedaten (durch CLP) von UCS-2 in die Zeichenumsetztabelle Ihrer | Client-Umgebung konvertiert. | Jeder Client ist durch das Zeichenrepertoire, die Eingabemethoden und die | Schriftarten, die von seiner Umgebung unterstützt werden, beschränkt, während | die UCS-2-Datenbank selbst alle UCS-2-Zeichen akzeptiert und speichert. Daher | arbeitet jeder Client in der Regel mit einer Teilmenge der UCS-2-Zeichen, | wohingegen der Datenbankmanager das gesamte Repertoire an UCS-2-Zeichen | zuläßt. | Wenn Zeichen von einer lokalen Zeichenumsetztabelle in UTF-8 umgesetzt | werden, ist es möglich, daß die Anzahl der Byte erweitert wird. Für | ASCII-Zeichen erfolgt keine Erweiterung, während andere UCS-2-Zeichen um | einen Faktor 2 oder 3 erweitert werden. Die Anzahl der Byte jedes | UCS-2-Zeichens im UTF-8-Format kann aus der Tabelle im Abschnitt über UTF-8 | ermittelt werden. | 2.15.2.3 DATENTYPEN | Alle Datentypen, die von DB2 UDB unterstützt werden, werden auch in einer | UCS-2-Datenbank unterstützt. Insbesondere werden grafische Zeichenfolgedaten | für UCS-2-Datenbanken unterstützt und in UCS-2/Unicode gespeichert. Jeder | Client, einschließlich SBCS-Clients, kann mit den Datentypen für grafische | Zeichenfolgen in UCS-2/Unicode arbeiten, wenn er mit einer UCS-2-Datenbank | verbunden ist. | Eine UCS-2-Datenbank ist wie jede MBCS-Datenbank, in der Zeichenfolgedaten in | der Anzahl von Byte gemessen werden. Bei der Arbeit mit Zeichenfolgedaten in | UTF-8 sollte nicht angenommen werden, daß jedes Zeichen einem Byte | entspricht. Bei der Mehrbytecodierung in UTF-8 entspricht jedes ASCII-Zeichen | einem Byte, während Nicht-ASCII-Zeichen jeweils zwei oder drei Byte groß | sind. Dies sollte bei der Definition von CHAR-Feldern berücksichtigt werden. | Je nach dem Verhältnis von ASCII- zu Nicht-ASCII-Zeichen kann ein CHAR-Feld | der Größe n Byte eine Anzahl zwischen n/3 und n Zeichen enthalten. | Ob die UTF-8-Codierung für Zeichenfolgen oder die UCS-2-Datentypen für | Grafikzeichenfolgen verwendet werden, hat zudem Auswirkungen auf die | Gesamtspeicheranforderungen. Wenn die Mehrheit der Zeichen ASCII-Zeichen mit | einigen wenigen eingestreuten Nicht-ASCII-Zeichen sind, ist das Speichern | von Daten im UTF-8-Format vielleicht die bessere Alternative, weil die | Speicheranforderungen näher bei einem Byte pro Zeichen liegen. Besteht | hingegen die Mehrheit der Zeichen aus Nicht-ASCII-Zeichen, die auf | Drei-Byte-Folgen des UTF-8-Formats erweitert werden (z. B. ideografische | Zeichen), kann das Grafikzeichenfolgeformat von UCS-2 die bessere Alternative | sein, da jedes UCS-2-Zeichen exakt zwei Byte benötigt, und nicht drei Byte | wie das jeweils entsprechende Zeichen im UTF8-Format. | SQL-Skalarfunktionen, die auf Zeichenfolgen operieren, wie z. B. LENGTH, | SUBSTR, POSSTR, MAX, MIN und ähnliche, operieren in MBCS-Umgebungen auf der | Anzahl von "Byte" und nicht auf der Anzahl von "Zeichen". Die Funktionsweise | in einer UCS-2-Datenbank ist die gleiche. Zum Beispiel ist die mit LENGTH | ermittelte Länge eines Zeichenfolgefelds die Länge ausgedrückt in der Anzahl | von Byte und nicht in der Anzahl von Zeichen. Eine Beschreibung der | Arbeitsweise dieser Funktionen finden Sie im Handbuch "DB2 UDB SQL | Reference". | Die SQL-Datentypen CHAR werden vom Datentyp "char" der Sprache C in | Benutzerprogrammen unterstützt. Die SQL-Datentypen GRAPHIC werden vom | Datentyp "sqldbchar" in mit C geschriebenen Benutzerprogrammen unterstützt. | Beachten Sie, daß für eine UCS-2-Datenbank die Daten des Typs "sqldbchar" | immer im Big-Endian-Format (hohes Byte zuerst) vorliegen. Wenn ein | Anwendungsprogramm mit einer UCS-2-Datenbank verbunden wird, werden | Zeichenfolgedaten zwischen der Zeichenumsetztabelle der Anwendung und dem | UTF-8-Format von DB2 UDB umgesetzt, während Grafikzeichenfolgedaten immer im | UCS-2-Format bleiben. | 2.15.2.4 KENNUNGEN | In einer UCS-2-Datenbank sind alle Kennungen im Mehrbyte-UTF-8-Format. Daher | ist es möglich, jedes UCS-2-Zeichen in Kennungen zu verwenden, in denen die | Verwendung eines Zeichens des erweiterten Zeichensatzes (z. B. ein Zeichen | mit Akzent oder ein Mehrbytezeichen) unter DB2 UDB zulässig ist. Einzelheiten | dazu, für welche Bezeichner die Verwendung erweiterter Zeichen zulässig ist, | finden Sie im Anhang "Namenskonventionen" des Handbuchs "Systemverwaltung". | Clients können jedes Zeichen, das von ihrer SBCS/MBCS-Umgebung unterstützt | wird, eingeben, und alle Zeichen in den Kennungen werden vom | Datenbankmanager in das UTF-8-Format umgesetzt. Zwei Punkte sind zu | berücksichtigen, wenn Sonderzeichen von Sprachen in den Kennungen in einer | UCS-2-Datenbank verwendet werden: | 1. Jedes Nicht-ASCII-Zeichen benötigt zwei oder drei Byte. Daher kann eine | n-Byte-Kennung nur eine Anzahl zwischen n/3 und n Zeichen je nach | Verhältnis von ASCII- zu Nicht-ASCII-Zeichen aufnehmen. Wenn Sie nur ein | oder zwei Nicht-ASCII-Zeichen (z. B. mit Akzent) haben, liegt die Anzahl | näher an n Zeichen, während bei einer Kennung, die vollständig aus | Nicht-ASCII-Zeichen besteht (z. B. im Japanischen), nur n/3 Zeichen | verwendet werden können. | 2. Wenn Kennungen von verschiedenen Client-Umgebungen aus eingegeben werden | sollen, sollten sie mit Hilfe einer gemeinsamen Teilmenge von Zeichen | definiert werden, die diesen Clients verfügbar ist. Wenn auf eine | UCS-2-Datenbank von Umgebungen mit Latin-1, Arabic und Japanese | zugegriffen werden soll, sollten alle Bezeichner tatsächlich auf | ASCII-Zeichen beschränkt werden. | 2.15.2.5 UCS-2-LITERALE | UCS-2-Literale können auf zwei Arten angegeben werden: | 1. Als eine Zeichenfolgekonstante des Typs GRAPHIC mit Hilfe des Formats | G'...' oder N'....', wie im Handbuch "SQL Reference", Kapitel | 3, "Language Elements", Abschnitt "Constants", Unterabschnitt "Graphic | String Constants" beschrieben. Jedes auf diese Weise angegebene Literal wird vom | Datenbankmanager von der Zeichenumsetztabelle der Anwendung in das | UCS-2-Format umgesetzt. | 2. Als eine hexadezimale UCS-2-Zeichenfolge mit Hilfe des Formats | UX'....' oder GX'....'. Die zwischen Anführungszeichen nach UX oder GX | angegebene Konstante muß ein Vielfaches von 4 Hexadezimalstellen haben. | Jeweils vier Stellen bilden einen UCS-2-Codepunkt. | Bei der Verwendung des Befehlszeilenprozessors (CLP) ist die erste Methode | einfacher, wenn das UCS-2-Zeichen in der lokalen Zeichenumsetztabelle der | Anwendung vorhanden ist (z. B. zur Eingabe eines Zeichens der | Zeichenumsetztabelle 850 von einem Terminal aus, das die Zeichenumsetztabelle | 850 verwendet). Die zweite Methode sollte für Zeichen verwendet werden, die | sich nicht im Repertoire der Zeichenumsetztabelle der Anwendung befinden | (z. B. zur Angabe japanischer Zeichen von einem Terminal aus, das die | Zeichenumsetztabelle 850 verwendet). | 2.15.2.6 VERWENDEN VON PLATZHALTERZEICHEN IN EINER UCS-2-DATENBANK | Die Verwendung von Platzhalterzeichen ist ein Bereich, in dem die | Funktionsweise vorhandener MBCS-Datenbanken etwas von der Funktionsweise | einer UCS-2-Datenbank abweicht. | Bei MBCS-Datenbanken in DB2 UDB sieht die aktuelle Funktionsweise wie folgt | aus: Wenn der Ausdruck mit den Platzhalterzeichen MBCS-Daten enthält, kann | der Ausdruck sowohl SBCS- als auch MBCS-Zeichen enthalten. Die Sonderzeichen | in diesem Ausdruck werden folgendermaßen interpretiert: | o Ein SBCS-Unterstreichungszeichen steht für ein SBCS-Zeichen. | o Ein DBCS-Unterstreichungszeichen steht für ein MBCS-Zeichen. | o Ein Prozentzeichen (SBCS und DBCS) steht für eine Zeichenfolge von null | oder mehr SBCS- oder MBCS-Zeichen. | Wenn der Platzhalterausdruck Grafikzeichenfolgedaten im DBCS-Format enthält, | enthalten die Ausdrücke nur DBCS-Zeichen. Die Sonderzeichen in diesem | Ausdruck werden folgendermaßen interpretiert: | o Ein DBCS-Unterstreichungszeichen steht für ein DBCS-Zeichen. | o Ein DBCS-Prozentzeichen steht für eine Zeichenfolge von null oder mehr | DBCS-Zeichen. | In einer UCS-2-Datenbank gibt es tatsächlich keine Unterscheidung zwischen | Einzelbyte- und Doppelbytezeichen. Jedes UCS-2-Zeichen belegt zwei Byte. | Obwohl das UTF-8-Format eine Codierung mit wechselnden Bytezahlen von | UCS-2-Zeichen darstellt, gibt es keine wirkliche Unterscheidung zwischen | SBCS- und MBCS-Zeichen in UTF-8. Jedes Zeichen ist ein UCS-2-Zeichen, | ganz unabhängig von seiner Bytezahl im UTF-8-Format. Bei der Angabe einer | Zeichenfolge oder eines Grafikzeichenfolgeausdrucks, steht ein | Unterstreichungszeichen für ein UCS-2-Zeichen und ein Prozentzeichen für eine | Zeichenfolge aus null oder mehr UCS-2-Zeichen. | Auf der Client-Seite sind die Zeichenfolgeausdrücke in der | Zeichenumsetztabelle des Clients und werden durch den Datenbankmanager in das | UTF-8-Format umgesetzt. SBCS-Zeichenumsetztabellen von Clients besitzen kein | DBCS-Prozentzeichen oder DBCS-Unterstreichungszeichen. Aber jede | unterstützte Zeichenumsetztabelle enthält ein Einzelbyteprozentzeichen | (entspricht U+0025) und ein Einzelbyteunterstreichungszeichen (entspricht | U+005F). Die Sonderzeichen für eine UCS-2-Datenbank werden wie folgt | interpretiert: | o Ein SBCS-Unterstreichungszeichen (entspricht U+0025) steht für ein | UCS-2-Zeichen in einem Grafikzeichenfolgeausdruck oder für ein | UTF-8-Zeichen in einem Zeichenfolgeausdruck. | o Ein SBCS-Prozentzeichen (entspricht U+005F) steht für eine Zeichenfolge | aus null oder mehr UCS-2-Zeichen in einem Grafikzeichenfolgeausdruck oder | für null oder mehr UTF-8-Zeichen in einem Zeichenfolgeausdruck. | DBCS-Zeichenumsetztabellen unterstützen zusätzlich ein DBCS-Prozentzeichen | (entspricht U+FF05) und ein DBCS-Unterstreichungszeichen (entspricht U+FF3F). | Diese Sonderzeichen haben für eine UCS-2-Datenbank keine spezielle Bedeutung. | Für den wahlfreien "ESCAPE-Ausdruck", der ein Zeichen angibt, das zur | Änderung der speziellen Bedeutung des Unterstreichungs- und Prozentzeichens | verwendet werden soll, werden nur ASCII-Zeichen bzw. Zeichen, die in eine | zwei Byte lange UTF-8-Folge erweitert werden, unterstützt. Wenn Sie ein | ESCAPE-Zeichen angeben, das in einen drei Byte großen UTF-8-Wert erweitert | wird, erhalten Sie eine Fehlernachricht (Fehler SQL0130N, SQLSTATE 22019). | 2.15.2.7 ÜBERLEGUNGEN ZU IMPORT/EXPORT/LOAD | Die Dateiformate DEL, ASC und PC/IXF werden für eine UCS-2-Datenbank wie in | diesem Abschnitt beschrieben unterstützt. Das WSF-Format wird nicht | unterstützt. Außerdem wird das Autoloader-Programm zum gegenwärtigen | Zeitpunkt für eine UCS-2-Datenbank nicht unterstützt. | Beim Exportieren aus einer UCS-2-Datenbank in eine Datei des DEL-Formats | (Delimited ASCII) werden alle Zeichen in die Zeichenumsetztabelle der | Anwendung umgesetzt. Sowohl Zeichenfolgedaten als auch Folgen aus | Grafikzeichendaten (GRAPHIC) werden in die gleiche SBCS- bzw. | MBCS-Zeichenumsetztabelle des Clients umgewandelt. Dies ist die zur Zeit | gültige Funktionsweise für den Export einer beliebigen Datenbank und läßt | sich nicht ändern, da die DEL-Datei insgesamt nur eine Zeichenumsetztabelle | haben kann. Aus diesem Grund bleiben bei einem Export in eine DEL-Datei nur | die UCS-2-Zeichen erhalten, die in der Zeichenumsetztabelle Ihrer Anwendung | vorhanden sind. Andere Zeichen werden durch das Standardersetzungszeichen für | die Zeichenumsetztabelle der Anwendung ersetzt. Bei UTF-8-Clients | (Zeichenumsetztabelle 1208) entsteht kein Datenverlust, da alle UCS-2-Zeichen | von UTF-8-Clients unterstützt werden. | Beim Importieren aus einer ASCII-Datei (DEL bzw. ASC) in eine | UCS-2-Datenbank, werden Zeichenfolgedaten von der Zeichenumsetztabelle der | Anwendung in das UTF-8-Format umgesetzt und Grafikzeichenfolgedaten (GRAPHIC) | von der Zeichenumsetztabelle der Anwendung in das UCS-2-Format. Es entsteht | kein Datenverlust. Wenn Sie ASCII-Daten importieren wollen, die unter einer | anderen Zeichenumsetztabelle gespeichert wurden, sollten Sie die | Zeichenumsetztabelle der Datendatei wechseln, bevor Sie den Befehl zum | Importieren ausführen. Eine Möglichkeit, dies zu tun, besteht darin, den | Parameter DB2CODEPAGE auf die Zeichenumsetztabelle der ASCII-Datendatei zu | setzen. | Der Bereich gültiger ASCII-Begrenzungszeichen für SBCS- und MBCS-Clients ist | mit dem identisch, der gegenwärtig von DB2 UDB für diese Clients unterstützt | wird. Der Bereich gültiger Begrenzungszeichen für UTF-8-Clients ist 0x01 bis | 0x7F mit den üblichen Einschränkungen. Eine vollständige Liste dieser | Einschränkungen finden Sie im Anhang "IMPORT/EXPORT/LOAD Utility File | Formats" des Handbuchs Command Reference. | Beim Exportieren aus einer UCS-2-Datenbank in eine PC/IXF-Datei werden | Zeichenfolgedaten in die SBCS/MBCS-Zeichenumsetztabelle des Clients umgesetzt. | Grafikzeichenfolgedaten werden nicht umgesetzt und in UCS-2 | (Zeichenumsetztabelle 1200) gespeichert. Es entsteht kein Datenverlust. | Beim Importieren aus einer PC/IXF-Datei in eine UCS-2-Datenbank wird | angenommen, daß Zeichenfolgedaten in der SBCS/MBCS-Zeichenumsetztabelle sind, | die in den PC/IPX-Kopfdaten (Header) gespeichert ist, und daß | Grafikzeichenfolgedaten (GRAPHIC) in der DBCS-Zeichenumsetztabelle sind, die | in den PC/IPX-Kopfdaten gespeichert ist. Zeichenfolgedaten werden vom | Dienstprogramm IMPORT von der in den PC/IPX-Kopfdaten angegebenen | Zeichenumsetztabelle in die Zeichenumsetztabelle des Clients und dann von der | Zeichenumsetztabelle des Clients in das UTF-8-Format (durch die Anweisung | INSERT) umgesetzt. Grafikzeichenfolgedaten werden vom Dienstprogramm IMPORT | von der in den PC/IPX-Kopfdaten angegebenen DBCS-Zeichenumsetztabelle direkt | in das UCS-2-Format (Zeichenumsetztabelle 1200) umgesetzt. | LOAD versetzt die Daten direkt in die Datenbank und nimmt standardmäßig an, | daß die Daten in ASC- oder DEL-Dateien in der Zeichenumsetztabelle der | Datenbank vorliegen. Daher findet standardmäßig für ASCII-Dateien | keine Umsetzung zwischen Zeichenumsetztabellen statt. Wenn die | Zeichenumsetztabelle der Datendatei explizit angegeben wird (mit dem | Befehlsparameter MODIFIED BY codepage=x), verwendet LOAD diese Information, | um die Daten vor dem Laden von der angegebenen Zeichenumsetztabelle x in die | Zeichenumsetztabelle der Datenbank umzusetzen. Bei PC/IXF-Dateien setzt LOAD | die Daten immer von den in den IXF-Kopfdaten angegebenen | Zeichenumsetztabellen in die Zeichenumsetztabelle der Datenbank (1208 für | CHAR, 1200 für GRAPHIC) um. | Die Zeichenumsetztabelle von DBCLOB-Dateien (wie mit dem Befehlsparameter | MODIFIED BY lobsinfile angegeben) ist immer 1200 für UCS-2-Datenbanken. Die | Zeichenumsetztabelle der CLOB-Dateien ist dieselbe wie die | Zeichenumsetztabelle der Datendateien, die importiert, geladen bzw. | exportiert werden. Zum Beispiel wird bei LOAD oder IMPORT mit dem | PC/IXF-Format angenommen, daß die CLOB-Datei in der in den PC/IXF-Kopfdaten | angegebenen Zeichenumsetztabelle vorliegt. Hat die DBCLOB-Datei das ASC- | oder DEL-Format, wird für LOAD angenommen, daß die CLOB-Daten in der | Zeichenumsetztabelle der Datenbank vorliegen (sofern nicht explizit mit dem | Befehlsparameter MODIFIED BY codepage=x anders angegeben), und für IMPORT, | daß sie in der Zeichenumsetztabelle der Client-Anwendung vorliegen. | Die Option NOCHECKLENGTHS ist für eine UCS-2-Datenbank immer auf den Wert | TRUE gesetzt, weil in einer UCS-2-Datenbank jede SBCS-Zeichenumsetztabelle | mit der Datenbank verbunden werden kann, für die es keine | DBCS-Zeichenumsetztabellen gibt. Außerdem haben Zeichenfolgen im UTF-8-Format | in der Regel andere Längen als die entsprechenden Längen in | Zeichenumsetztabellen von Clients. | 2.15.2.8 INKOMPATIBILITÄTEN | Für eine mit einer UCS-2-Datenbank verbundene Anwendung liegen die | Grafikzeichenfolgedaten immer in UCS-2 (Zeichenumsetztabelle 1200) vor. Für | mit Nicht-UCS-2-Datenbanken verbundene Anwendungen liegen die | Grafikzeichenfolgedaten in der DBCS-Zeichenumsetztabelle der Anwendungen vor | bzw. sind nicht zulässig, wenn die Zeichenumsetztabelle der Anwendung eine | SBCS-Zeichenumsetztabelle ist. Wenn zum Beispiel ein Client mit der | Zeichenumsetztabelle 932 mit einer japanischen Nicht-UCS-2-Datenbank | verbunden wird, dann sind die Grafikzeichenfolgedaten in der | Zeichenumsetztabelle 301. Für die Anwendungen des 932-Clients, die mit einer | UCS-2-Datenbank verbunden sind, liegen die Grafikzeichenfolgedaten im | UCS-2-Format vor. | 2.16 VERWENDEN DER VI-ARCHITEKTUR | DB2 UDB unterstützt nun zwei Implementierungen der VI-Architektur | (Virtual Interface): Die Implementierung von GigaNet und von ServerNet. | Diese beiden Implementierungen werden im folgenden Abschnitt beschrieben. | 2.16.1 ÜBERBLICK ÜBER DIE VI-ARCHITEKTUR | Die VI-Architektur ist das alternative knotenübergreifende | Übertragungsprotokoll zu TCP/IP in einer MPP-Umgebung (MPP - Massively | Parallel Processing - Parallelverarbeitung) unter Windows NT. VI ist eine | neue Übertragungsarchitektur, die gemeinsam von Intel, Microsoft und | Compaq für eine bessere Leistung in einem SAN-Netzwerk (System | Area Network, entwickelt wurde. Weitere Informationen zu dieser Architektur | finden Sie unter der folgenden Adresse: | http://www.viarch.org | Es gibt einige Ähnlichkeiten zwischen dem Public Interconnect, das | beispielsweise Ethernet und TCP/IP verwendet, und dem Private | Interconnect, das eine Netzwerkkarte (NIC - Network Interface Card) | und ein Protokoll verwendet. In diesem Beispiel wird eine | GigaNet-Netzwerkkarte und das VI-Protokoll verwendet. | Die VI-Architektur weist eine kurze Latenzzeit und eine hohe Bandbreite | auf. In einer Umgebung, in der viele Übertragungen stattfinden, wird durch | die Verwendung der VI-Architektur die Gesamtleistung des Systems verbessert. | Je mehr Knoten sich im Cluster befinden und je größer die übertragenen | Datenmengen sind, desto mehr Vorteile bietet der Einsatz der VI-Architektur. | DB2 UDB unterstützt Implementierungen der VI-Architektur, die der | Spezifikation für die VI-Architektur Version 1.0 (Virtual Interface | Architecture Specification), dem Handbuch für Entwickler der | VI-Architektur von Intel Version 1.0 (Intel Virtual Interface (VI) | Architecture Developers' Guide) entsprechen und, die der "Virtual | Interface Architecture Conformance Suite" entsprechen. Die Spezifikation | finden Sie unter der folgenden Adresse: | http://www.intel.com/design/servers/vi/the_spec/specification.htm | Das Handbuch für Entwickler (Developer's Guide) und Informationen zur | "Conformance Suite" finden Sie unter der folgenden Adresse: | http://www.intel.com/design/servers/vi/developer/ia_imp_guide.htm | 2.16.2 INSTALLIEREN VON DB2 UNIVERSAL DATABASE VERSION 5.2 (EEE) | Genauere Informationen zur Installation Sie im Handbuch "DB2 Extended | Enterprise Edition für Windows NT Einstieg". | Wenn Sie sich nicht sicher sind, welche Servicestufe Sie von DB2 UDB | installiert haben, können Sie mit Hilfe der Registrierdatenbank | die Servicestufe von UDB folgendermaßen feststellen: | 1. Geben Sie in einer Befehlszeile den Befehl "regedt32" ein, um die | Registrierdatenbank zu editieren. | 2. Wählen Sie "HKEY_LOCAL_MACHINE" aus. | 3. Wählen Sie "SOFTWARE" aus. | 4. Wählen Sie "IBM" aus. | 5. Wählen Sie "DB2" aus. | 6. Wählen Sie die Option für DB2 UDB Extended Enterprise Edition aus. | 7. Wählen Sie die Option für die aktuelle Version (CurrentVersion) aus. | 8. Notieren Sie sich anschließend die Servicestufe. | Wenn Sie sich mit Fragen zu VI an die DB2-Unterstützungsfunktion wenden, | kann anhand der Informationen zur Servicestufe Ihre installierte | DB2-Codestufe sowie die installierten FixPaks festgesetellt werden. | Dieses Produkt muß auf allen Partitionen/Knoten unter Verwendung des | VI-Protokolls (Virtual Interface Protocol) installiert sein. Wählen Sie | während der Installation bei entsprechender Aufforderung für alle | Partitionen/Knoten aus, daß diese Maschine ein Knoten sein soll, der | Exemplareigner ist. | Aktualisieren Sie die Datei "hosts" mit der IP-Adresse und dem Host-Namen | für alle Partitionen/Knoten. Die Datei "hosts" befindet sich im Verzeichnis | "\winnt\system32\drivers\etc\" auf dem Laufwerk, auf dem auch das | Betriebssystem installiert ist. Die Datei "hosts" muß für jeden Knoten | aktualisiert werden. | Erstellen Sie mit Hilfe des Dienstprogramms zum Erstellen von Exemplaren | ein Exemplar einer partitionierten Datenbank (MPP). Wählen Sie eine Maschine | aus, die als koordinierender Knoten fungieren soll. Öffnen Sie auf dieser | Maschine ein DB2-Befehlsfenster, und geben Sie den folgenden Befehl ein: | db2icrt /mpp /u:, | Diese Maschine wird dann als Koordinatorknoten oder als die | Exemplareignermaschine erkannt. Auf dieser Maschine wird automatisch | der Knoten 0 erstellt. | Öffnen Sie auf den anderen Partitionen/Knoten der Datenbank ein | DB2-Befehlsfenster, und geben Sie den folgenden Befehl ein: | db2ncrt /n: /u:, | /i: /o: | Mit Hilfe der Knotennummer (knotennummer) wird der | Datenbankpartitions-Server innerhalb der Datenbankumgebung eindeutig | identifiziert. Für die Knotennummer ist ein Wert zwischen 1 und 999 gültig. | Der Name des Exemplareigners (name-des-exemplareigners) ist der | Computername der Exemplareignermaschine (Koordinatorknoten). | Gehen Sie zum Testen der Installation und zum Erstellen eines Indexes | folgendermaßen vor: | 1. Öffnen Sie ein DB2-Befehlsfenster. | 2. Geben Sie den Befehl "set DB2INSTANCE=" ein. | 3. Stellen Sie sicher, daß der Datenbankmanager auf allen Knoten | Knoten gestartet wird. Geben Sie hierzu den folgenden Befehl ein: | "db2start". | 4. Erstellen Sie durch Eingabe des Befehls "db2sampl" eine Beispieldatenbank. | 5. Stellen Sie die Verbindung zur Beispieldatenbank her, indem Sie den | folgenden Befehl eingeben "db2 connect to sample". | 6. Testen Sie ein paar SELECT-Anweisungen mit der Beispieldatenbank. | Wenn in dieser Umgebung Probleme auftreten, können Sie je nach Problem | die entsprechende Maßnahme ergreifen: | o Die Erstellung des Exemplars ist fehlgeschlagen. | Stellen Sie sicher, daß "c:\profiles" vorhanden und für | jedes "Profil" für Freigaben vorhanden ist. Stellen Sie zudem sicher, | daß alle Partitionen vom Koordinatorknoten mit dem Befehl "ping" | abgefragt werden können. | o Der Befehl DB2START ist fehlgeschlagen. | Sehen Sie sich die Erläuterung für den zurückgegebenen Fehlercode | an. Geben Sie hierzu den Befehl "db2 ? sqlxxxx" ein. Es wird eine | Fehlerbehebungsmaßnahme für diesen Fehler angezeigt, die Sie | ergreifen sollten. | Möglicherweise wird ein Systemfehler zurückgegeben. Geben Sie in | diesem Fall den Befehl "db2stop" ein, und versuchen Sie dann erneut, | den Befehl "db2start" auszuführen. Tritt der Fehler weiterhin auf, | starten Sie alle Partitionen neu, und versuchen Sie anschließend den | Befehl erneut auszuführen. | Stellen Sie sicher, daß für alle Partitionen dasselbe Datum, dieselbe | Uhrzeit und dieselbe Zeitzone eingestellt sind. Die Uhrzeit muß nicht | exakt übereinstimmen, es ist eine Abweichung von einer Stunde möglich. | Prüfen Sie, ob sich alle Partitionen in einer Domäne befinden und ob | der Benutzername und das Kennwort zu den folgenden Gruppen gehören: | - Auf der Domänensteuereinheit: | - Administratoren | - Domänenadministratoren | - Domänenbenutzer | - Benutzer | - Auf anderen Maschinen: | - Administratoren | - Benutzer | Prüfen Sie den Inhalt der Option "Services" in der | Systemsteuerung, um sicherzustellen, daß alle | "DB2: -X"-Services über die richtigen | Informationen für den Benutzereintrag DB2ADMIN verfügen. | o Die Befehlszeilenvariable wurde nicht initialisiert. | Stellen Sie mit Hilfe des Fenstertitels sicher, daß Sie den Befehl in | einem DB2-Befehlsfenster ausführen. | o Der Befehl "rah" kehrt unmittelbar zurück, ohne die angegebenen | Befehle auszuführen. | Führen Sie den Befehl "db2set -g DB2TEMPDIR=C:\TMP" auf allen Maschinen | des Exemplars aus. Stellen Sie sicher, daß DB2 Remote Command | Service gestartet ist und über die richtigen Informationen für den | Benutzereintrag DB2ADMIN verfügt. Stellen Sie anschließend sicher, | daß die Verzeichnisse "c:\temp" und "c:\tmp" vorhanden sind. | 2.16.3 AUSFÜHREN VON DB2 UDB VERSION 5.2 FÜR WINDOWS NT MIT GIGANET | INTERCONNECT | IBM hat angekündigt, daß DB2 UDB EEE Version 5.2 die VI-Architektur | unterstützt. Die Dokumentation enthält jedoch keine Informationen zu den | VI-Produkten, die mit DB2 getestet wurden. Das vorliegende Dokument enthält | nähere Angaben zu GigaNet Interconnect. | Informationen zu weiteren von DB2 UDB EEE unterstützten VI-Produkten | erhalten Sie von der DB2 UDB-Unterstützungsfunktion unter der folgenden | Adresse: http://www.software.ibm.com/data. Sie könnnen jedoch auch unter | der Telefonnummer 0 70 34/15 27 19 anrufen. | Wenn Sie weitere Informationen zu GigaNet-Produkten möchten oder | Kontakt mit der Unterstützungsfunktion von GigaNet aufnehmen möchten, | rufen Sie die folgende URL-Adresse auf: http://www.giganet.com/ | 2.16.3.1 EINRICHTEN VON GIGANET INTERCONNECT | Für die Einrichtung dieser Umgebung sind beispielsweise folgende | Hardware- und Softwareprodukte erforderlich: | o Netzwerkkarte GigaNet GNN1000 | o Schalter GigaNet GNX5000 | o Kupferverbindungskabel GigaNet GNCxx11 | o GigaNet cLAN-Software Version 2.0 | Im folgenden werden die erforderlichen Schritte beschrieben, um | GigaNet Interconnect mit DB2 UDB verwenden zu können. Jeder Schritt | bietet nur einen Überblick, es werden nicht alle für jeden Schritt | erforderlichen Einzelheiten beschrieben. Nähere Informationen und | Anweisungen können Sie der genannten Dokumentation entnehmen. | Jede Netzwerkkarte GigaNet GNN1000 wird mit einer CD-ROM mit der | GigaNet cLAN-Software geliefert. Die CD-ROM enthält die gesamte Software, | die zum Einrichten von GigaNet Interconnect erforderlich ist. | Darüber hinaus enthält die CD-ROM die VI-Architektur SDK und | das Produkt "Adobe Acrobat Reader". Diese beiden zusätzlichen Produkte | werden nur von Entwicklern von VI-fähigen Anwendungen benötigt. | Überblick über die Schritte: | 1. Installieren der Adapterkarten | 2. Installieren der Schalter und Kabel | 3. Installieren der Adaptertreiber | 4. Installieren der cLAN-Verwaltungskonsole | 5. Testen von Interconnect | Schritte: | 1. Installieren Sie die Netzwerkkarte GigaNet GNN1000. Die | Installationsanweisungen hierzu finden Sie im Benutzerhandbuch | für GigaNet GNN1000. | 2. Installieren Sie die Schalter und Kabel GigaNet GNX5000. Die | Installationsanweisungen hierzu finden Sie im Benutzerhandbuch | für GigaNet GNX5000. | 3. Installieren Sie die Software für den Adaptertreiber GigaNet GNN1000 | auf jedem Knoten, der mit dem Schalter GNX5000 verbunden ist. Die | Installationsanweisungen hierzu finden Sie im Benutzerhandbuch | für GigaNet GNN1000. Im folgenden finden Sie einige Einzelheiten | zur Installation der von GigaNet angebotenen Treiber: | a. Entfernen Sie evtl. eine frühere Version des Treibers GNN1000. Nach | dem Entfernen des Treibers muß der Knoten erneut gestartet werden. | b. Installieren Sie den Treiber über | "Start>Einstellungen>Systemsteuerung>Netzwerk>Netzwerkkarte> | Hinzufügen". | c. Klicken Sie "Diskette..." an, und geben Sie das Verzeichnis der | CD-ROM an, in dem sich der Treiber befindet. Wenn Ihr CD-ROM-Laufwerk | z. B. F: ist, geben Sie "F:\Driver" an. | d. Wählen Sie "GNN1000 NDIS Adapter" aus, und klicken Sie dann "OK" an. | e. Konfigurieren Sie die Netzwerkprotokolle, um die Installation | abzuschließen. | Die GigaNet-Adaptertreibersoftware steht auch auf der Web-Site von | GigaNet unter der Adresse http://www.giganet.com zur Verfügung. | Bitte beachten Sie die Anweisungen zum Herunterladen und zur | Installation, die sich auf der Seite mit Informationen zur Unterstützung | auf der Web-Site von GigaNet befinden. | Nach der Installation des Adaptertreibers GNN1000 wird der Knoten | erneut gestartet. | 4. Über die GigaNet cLAN-Verwaltungskonsole (GMC - GigaNet Management | Console) kann die Integrität von GigaNet Interconnect getestet werden. | Die GigaNet cLAN-Verwaltungskonsole besteht aus zwei Komponenten: der | Konsole und dem Agenten. Der Agent muß auf allen Knoten im Cluster | installiert sein. Die Konsole kann auf einem beliebigen Netzwerkknoten | installiert sein, der über Zugriff auf die Knoten im Cluster verfügt. | Es wird empfohlen, sowohl die Konsole als auch den Agenten auf jedem | Knoten im Cluster zu installieren, da diese Installationsart die | meisten Vorteile bietet. | Installieren Sie die GigaNet cLAN-Verwaltungskonsole. Die | Installationsanweisungen hierzu sowie zusätzliche Informationen | zur cLAN-Verwaltungskonsole finden Sie im Benutzerhandbuch für | GigaNet GNN1000. Weitere Informationen zur Installation: | a. Legen Sie die CD-ROM mit der cLAN-Software in das | CD-ROM-Laufwerk ein. | b. Warten Sie, bis das Installationsmenü der CD-ROM angezeigt wird. | c. Klicken Sie die Option zum Installieren der cLAN-Verwaltungskonsole | ("Install cLan Management Console") an. | d. Wiederholen Sie diese Installation für jeden Knoten im Cluster. | Die Software für die GigaNet cLAN-Verwaltungskonsole steht auch auf der | Web-Site von GigaNet unter der Adresse http://www.giganet.com zur | Verfügung. Bitte beachten Sie die Anweisungen zum Herunterladen und zur | Installation, die sich auf der Seite mit Informationen zur Unterstützung | auf der Web-Site von GigaNet befinden. | Nach der Installation der cLAN-Verwaltungskonsole wird der Knoten | möglicherweise erneut gestartet. | 5. Testen Sie, ob die GigaNet-Hardware funktioniert. Sie können hierzu | folgendermaßen vorgehen: | a. Öffnen Sie die GigaNet cLAN-Verwaltungskonsole (GMC) | ("Programme>GigaNet>cLAN Management Console"). | b. In einem Dialogfenster werden alle Maschinen angezeigt, auf die | im LAN zugegriffen werden kann. Drücken Sie die Taste "ESC". | c. Wählen Sie über die Menüleiste "Console>Local" aus. | d. Bestätigen Sie, daß alle Mitglieder im Cluster angezeigt werden | und aktiv sind. | e. Wählen Sie über die Menüleiste "Utilities>VI Throughput"aus. | Hierdurch wird ein Übertragungstest ausgeführt, bei dem geprüft | wird, ob die Daten über die Hardware übertragen werden. | f. Geben Sie die Computernamen der beiden Knoten, die Sie für diesen | Test verwenden möchten, in Großbuchstaben an. Geben Sie den | lokalen Knoten als Quellenknoten an. | g. Klicken Sie "Start Measuring" an. Hierbei sollte angezeigt werden, | daß die Daten mindestens mit einer Geschwindigkeit von 65 MB | pro Sekunde übertragen werden. | h. Klicken Sie "Stop Measuring" an, um den Verbindungstest zu beenden. | i. Wiederholen Sie diesen Test für die anderen Knoten im Cluster, indem | Sie die Übertragung zwischen dem lokalen Knoten (Quelle) und den | anderen Knoten (Empfängern) messen. | Wenn der Verbindungstest nicht ausgeführt werden kann, lesen Sie bitte | die Informationen in den Abschnitten zur Fehlerbehebung in den | Benutzerhandbüchern für GigaNet GNN1000 und GigaNet GNX5000. | 2.16.3.2 IMPLEMENTIEREN VON DB2 FÜR DIE VEWENDUNG VON VI | Setzen Sie die folgenden DB2-Registrierdatenbankvariablen auf jedem | Datenbankpartitions-Server im Exemplar, und führen Sie die folgenden | Aufgaben aus: | o Setzen Sie DB2_VI_ENABLE=ON. | o Setzen Sie DB2_VI_DEVICE=nic0. | o Setzen Sie DB2_VI_VIPL=vipl.dll. | o Geben Sie den Befehl "db2start" für das MPP-Exemplar ein. | o Prüfen Sie die Protokolldatei db2diag.log. Sie muß für jede | Partition eine Angabe enthalten, die zu Beginn die Information | enthält, daß VI aktiviert ist ("VI is enabled"). | 2.16.4 AUSFÜHREN VON DB2 UDB VERSION 5.2 FÜR WINDOWS NT MIT SERVERNET | INTERCONNECT | IBM hat angekündigt, daß DB2 UDB EEE Version 5.2 die VI-Architektur | unterstützt. Die Dokumentation enthält jedoch keine Informationen zu den | VI-Produkten, die mit DB2 getestet wurden. Das vorliegende Dokument enthält | nähere Angaben zu ServerNet Interconnect. | Informationen zu weiteren von DB2 UDB EEE unterstützten VI-Produkten | erhalten Sie von der DB2 UDB-Unterstützungsfunktion unter der folgenden | Adresse: http://www.software.ibm.com/data. Sie könnnen jedoch auch unter | der Telefonnummer O 70 34/15 27 19 anrufen. | Wenn Sie weitere Informationen zu ServerNet-Produkten möchten oder | Kontakt mit der Unterstützungsfunktion von ServerNet aufnehmen möchten, | rufen Sie die folgende URL-Adresse auf: http://www.giganet.com/ | 2.16.4.1 EINRICHTEN VON SERVERNET INTERCONNECT | Für die Einrichtung dieser Umgebung sind beispielsweise folgende | Hardware- und Softwareprodukte erforderlich: | o ServerNet PCI Adapter Driver (SPAD), (Produkt-ID T0089) Version 1.3.5 | oder höher | o ServerNet Switch 1 | o ServerNet Area Network Manager (SANMan), (Produkt-ID T0087) Version | 1.1.3 oder höher | Im folgenden werden die erforderlichen Schritte beschrieben, um | ServerNet Interconnect mit DB2 UDB verwenden zu können. Jeder Schritt | bietet nur einen Überblick, es werden nicht alle für jeden Schritt | erforderlichen Einzelheiten beschrieben. Nähere Informationen und | Anweisungen können Sie der genannten Dokumentation entnehmen. | Die folgenden Schritte setzen voraus, daß Ihr Cluster maximal sechs | Knoten enthält. Wenden Sie sich bitte an ServerNet, wenn Sie mehr als | sechs Knoten verwenden müssen. | Bei der folgenden Installation wurde die US-Version des Produkts verwendet. | Schritte: | 1. Installieren Sie die Netzwerkkarte ServerNet Network Interface | Card. Die Installationsanweisungen hierzu finden Sie in der | Veröffentlichung "ServerNet-I Virtual Interface Software Release | Document" (Produkt-ID N0031). | 2. Installieren Sie den Schalter ServerNet Switch 1. Die | Installationsanweisungen hierzu finden Sie in der Veröffentlichung | "ServerNet-I Virtual Interface Software Release Document" | (Produkt-ID N0031). | 3. Entfernen Sie evtl. die Installation eines frührern | ServerNet-Treibers. (Wenn Sie ServerNet zum ersten Mal installieren, | überspringen Sie diesen Schritt.) | a. Öffnen Sie über die Systemsteuerung das Symbol "Netzwerk". | ("Start>Einstellungen>Systemsteuerung>Netzwerk") | b. Klicken Sie die Registerkarte "Netzwerkkarte" an. | c. Entfernen Sie den Treiber "Tandem ServerNet PCI Adapter Driver". | d. Klicken Sie die Registerkarte "Dienste" an. | e. Entfernen Sie SANMan. | f. Klicken Sie die Registerkarte "Protokolle" an. | g. Entfernen Sie das Protokoll "Tandem ServerNet-I VI Protocol". | 4. Installieren Sie den Treiber "Tandem ServerNet PCI Adapter Driver". | Der nächste Abschnitt enthält einige zusätzliche Informationen für die | Installation von der von ServerNet angebotenen CD-ROM: | a. Öffnen Sie über die Systemsteuerung das Symbol "Netzwerk". | ("Start>Einstellungen>Systemsteuerung>Netzwerk") | b. Klicken Sie die Registerkarte "Netzwerkkarte" an. (Die | Netzwerkkarten werden angezeigt.) | c. Stellen Sie sicher, daß der neue ServerNet-Treiber auf ein | separates Laufwerk und/oder in ein separates Verzeichnis gestellt | wird. Geben Sie dann in der Eingabeaufforderung, die auf das | richtige Laufwerk und/oder Verzeichnis verweist, den Befehl | "ernnn.exe -d" ein, um das sich selbst extrahierende Programm | zu starten. ("ernnn.exe" ist der Name des Engineering Release | gefolgt von einer Nummer, ERnnn.EXE, die die spezifische Version | des zu installierenden ServerNet-Treibers angibt.) | d. Wechseln Sie auf das Laufwerk und/oder in das Verzeichnis, auf bzw. | in dem sich die extrahierten Dateien befinden. Wechseln Sie in das | Unterverzeichnis "Spad n.n.n \ Free". Hierbei ist "n.n.n" die | spezifsche Version des Produkts. (Wenn Sie in einer Fehlerbehebungs- | oder Entwicklungsumgebung arbeiten, wechseln Sie nicht in das | Unterverzeichnis "Spad n.n.n \ Free", sondern in das Unterverzeichnis | "Spad n.n.n \ Checked".) | e. Benennen Sie die Datei "oemsetup.multi_node" in "oemsetup.inf" um. | f. Wählen Sie auf der Registerkarte "Netzwerkkarte" die Option | "Hinzufügen" aus. (Die Anzeige zur Auswahl der | Netzwerkkarten wird angezeigt.) | g. Klicken Sie die Option "Diskette..." an. (Die Anzeige | zum Einlegen eines Datenträgers wird angezeigt.) | h. Geben Sie das Laufwerk und/oder Verzeichnis an, auf bzw. in dem | sich die Datei oemsetup.inf befindet. | i. Stellen Sie sicher, daß im Dialogfenster der Treiber "Tandem | ServerNet PCI Adapter Driver" angezeigt wird, und klicken Sie "OK" | an. Stellen danach sicher, daß der ServerNet-Adapter in der | Adapterliste angezeigt wird. Klicken Sie die Option "Schließen" an. | j. Wählen Sie aus, daß der Computer erneut gestartet werden soll. | Oder geben Sie durch die Auswahl der entsprechenden Option an, daß | der Computer nicht erneut gestartet werden soll, und fahren Sie mit | der Installation von SANMan und dem VI Software Developer's Kit (SDK) | fort. | 5. Installieren Sie SANMan. Der nächste Abschnitt enthält einige zusätzliche | Informationen für die Installation von der von ServerNet angebotenen | Software-CD-ROM: | a. Öffnen Sie über die Systemsteuerung das Symbol "Netzwerk". | ("Start>Einstellungen>Systemsteuerung>Netzwerk") | b. Klicken Sie die Registerkarte "Dienste" an. (Die Dienste werden | angezeigt.) | c. Stellen Sie sicher, daß der neue ServerNet-Treiber auf ein | separates Laufwerk und/oder in ein separates Verzeichnis gestellt | wird. Geben Sie dann in der Eingabeaufforderung, die auf das | richtige Laufwerk und/oder Verzeichnis verweist, den Befehl | "ernnn.exe -d" ein, um das sich selbst extrahierende Programm | zu starten. ("ernnn.exe" ist der Name des Engineering Release | gefolgt von einer Nummer, ERnnn.EXE, die die spezifische Version | des zu installierenden ServerNet-Treibers angibt.) | d. Wählen Sie auf der Registerkarte "Dienste" die Option | "Hinzufügen" aus. (Es wird die Anzeige zur Auswahl der Dienste | angezeigt.) | e. Wechseln Sie auf das Laufwerk und/oder in das Verzeichnis, auf bzw. | in dem sich die extrahierten Dateien befinden. Wechseln Sie in das | Unterverzeichnis "SANMan n.n.n \ Free". Hierbei ist "n.n.n" die | spezifsche Version des Produkts. (Wenn Sie in einer Fehlerbehebungs- | oder Entwicklungsumgebung arbeiten, wechseln Sie nicht in das | Unterverzeichnis "SANMan n.n.n \ Free", sondern in das | Unterverzeichnis "SANMan n.n.n \ Checked".) | f. Prüfen Sie anhand der Anzeigen des Schalters, ob der Schalter | auf "X" oder "Y" gesetzt ist. Eine Anzeige steht für "X", die | andere für "Y". | g. Wählen Sie bei einem X-Schalter X=1 und Y=0. Stellen Sie sicher, | daß alle Kabel an den X-Anschluß der Netzwerkkarten | angeschlossen sind. | h. Wählen Sie bei einem Y-Schalter X=0 und Y=1. Stellen Sie sicher, | daß alle Kabel an den Y-Anschluß der Netzwerkkarten | angeschlossen sind. | i. Geben Sie die Anschlußnummer des Schalters ein, an den die | Netzwerkkarte der aktuellen Maschine angeschlossen ist. | j. Wählen Sie für alle sechs Anschlüsse "PC" aus. | 6. Installieren Sie das VI-Protokoll (Virtual Interface Protocol). Der | nächste Abschnitt enthält einige zusätzliche Informationen für die | Installation von der von ServerNet angebotenen Software-CD-ROM: | a. Öffnen Sie über die Systemsteuerung das Symbol "Netzwerk". | ("Start>Einstellungen>Systemsteuerung>Netzwerk") | b. Klicken Sie die Registerkarte "Protokolle" an. (Die | Netzwerkprotokolle werden angezeigt.) | c. Stellen Sie sicher, daß der neue ServerNet-Treiber auf ein | separates Laufwerk und/oder in ein separates Verzeichnis gestellt | wird. Geben Sie dann in der Eingabeaufforderung, die auf das | richtige Laufwerk und/oder Verzeichnis verweist, den Befehl | "ernnn.exe -d" ein, um das sich selbst extrahierende Programm | zu starten. ("ernnn.exe" ist der Name des Engineering Release | gefolgt von einer Nummer, ERnnn.EXE, die die spezifische Version | des zu installierenden ServerNet-Treibers angibt.) | d. Wählen Sie auf der Registerkarte "Protokolle" die Option | "Hinzufügen" aus. (Die Anzeige zur Auswahl der | Netzwerkprotokolle wird angezeigt.) | e. Klicken Sie die Option "Diskette..." an. (Die Anzeige | zum Einlegen eines Datenträgers wird angezeigt.) | f. Geben Sie das Laufwerk und/oder Verzeichnis an, auf bzw. in dem | sich die extrahierten Dateien befinden. | 7. Testen Sie, ob die ServerNet-Hardware funktioniert. Es stehen hierfür | keine Testprogramme zur Verfügung. Verwenden Sie einfach DB2, um | die ServerNet-Hardware zu testen. | Wenn die Hardware nicht funktioniert, lesen Sie die zusätzlichen | Informationen zur Fehlerbehebung in der Veröffentlichung "ServerNet-I | Virtual Interface Software Release Document" (Produkt-ID N0031). | 2.16.4.2 IMPLEMENTIEREN VON DB2 FÜR DIE VERWENDUNG VON VI | Setzen Sie die folgenden DB2-Registrierdatenbankvariablen auf jedem | Datenbankpartitions-Server im Exemplar, und führen Sie die folgenden | Aufgaben aus: | o Setzen Sie DB2_VI_ENABLE=ON. | o Setzen Sie DB2_VI_DEVICE=nic0. | o Setzen Sie DB2_VI_VIPL=vipl.dll. | o Geben Sie den Befehl "db2start" für das MPP-Exemplar ein. | o Prüfen Sie die Protokolldatei db2diag.log. Sie muß für jede | Partition eine Angabe enthalten, die zu Beginn die Information | enthält, daß VI aktiviert ist ("VI is enabled"). 3.0 API REFERENCE 3.1 SQLECREA - ERSTELLEN EINER DATENBANK Um die Sortierfolge IDENTITY beim Erstellen einer Datenbank anzugeben, geben Sie SQL_CS_NONE (implementiert eine binäre Sortierfolge) in der Struktur des Datenbankbeschreibungsblocks (SQLEDBDESC) an. 3.2 SQLUBKP - SICHERN EINER DATENBANK Bei der Beschreibung des Parameters pMediaTargetList (Wert SQLU_ADSM_MEDIA) soll der Satz "No additional input is required." durch den folgenden ersetzt werden: If an SQLU_MEDIA_ENTRY structure is not being used to specify a path for the backup image, initialize the MEDIA pointer in the SQLU_MEDIA_LIST_TARGETS structure to NULL. 3.3 SQLUGTPI - ABRUFEN VON TABELLENPARTITIONIERUNGSDATEN Der folgende Abschnitt fehlt in der API-Beschreibung: Required Connection Database 3.4 SQLUHGET - ABRUFEN VON DDL-INFORMATIONEN AUS DER PROTOKOLLDATEI (NEUE API) Der Parameter callerac ist in der API sqluhgne nicht verfügbar, mit dem Sie in der Protokolldatei aufgezeichnete DDL-Informationen abrufen können. Damit Sie diese Informationen abrufen können, wurde eine neue API erstellt: SQL_API_RC SQL_API_FN sqluhget( unsigned short Handle, // IN: Von sqluhops zurückgegebene // Kennung unsigned short CallerAction, // IN: Zur Sonderverarbeitung des // Befehlsfelds unsigned long Reserved_1, // Reserviert für zukünftigen Gebrauch struct sqluhinfo * pHistoryInfo, // IN/OUT: Zeiger zu Eingangsdaten struct sqluhadm * pAdminInfo, // IN/OUT: Zeiger zu erweiterten // Verwaltungsdaten void * pReserved, // Reserviert für zukünftigen Gebrauch struct sqlca * pSqlca); // SQL-Kommunikationsbereich Die Parameter dieser API bedeuten dasselbe wie die entsprechenden Parameter der API sqluhgne mit Ausnahme des neuen Parameters CallerAction. Die reservierten Felder dieser API, Reserved_1 und pReserved, müssen mit 0 bzw. NULL initialisiert werden. Die möglichen Werte von CallerAction lauten: SQLUH_GET_NEXT_ENTRY Ruft den nächsten übereinstimmenden Eintrag ab. Dem Aufrufenden werden keine DDL-Informationen zurückgegeben, aber das Längenfeld der Struktur sqluhadm.command wird auf die Länge eines beliebigen DDL-Felds gesetzt, das für diesen Eintrag vorhanden ist. SQLUH_GET_DDL Wenn diese Aktion unmittelbar nach dem Abrufen eines Eintrags an die API übergeben wird, werden die diesem Eintrag zugeordneten DDL-Daten zurückgegeben. Der Aufrufende muß über das Feld sqluhadm.command.length die Anzahl Byte für den Speicherbereich angeben, der für die DDL-Daten reserviert wurde, die über das Feld sqluhadm.command.data zurückgegeben werden sollen. SQLUH_GET_NEXT_ENTRY_DDL Ruft den nächsten übereinstimmenden Eintrag ab. Gibt auch beliebige DDL-Informationen zurück, die für diesen Eintrag aufgezeichnet wurden. Der Aufrufende muß über das Feld sqluhadm.command.length die Anzahl Byte für den Speicherbereich angeben, die für das Feld sqluhadm.command.data reserviert wurden. 3.5 SQLUHGNE - ABRUFEN DES NÄCHSTEN EINTRAGS DER DATEI DES WIEDERHERSTELLUNGSPROTOKOLLS Der zweite Parameter dieser API, "int callerac", wurde jetzt in "struct sqluhadm *pAdminInfo" geändert. Die API-Definition lautet wie folgt: SQL_API_RC SQL_API_FN sqluhgne( unsigned short Handle, struct sqluhadm * pAdminInfo, struct sqluhinfo * pHistoryInfo, struct sqlca * pSqlca); 3.6 SQLUHOPS - ÖFFNEN DER SUCHFUNKTION FÜR DIE DATEI DES WIEDERHERSTELLUNGSPROTOKOLLS Die Beschreibung des Aufrufs SQLUH_LIST_ADM_ALTER_TABLESPACE muß wie folgt geändert werden: Select only the ALTER TABLESPACE records that pass the other filters. The DDL field associated with an entry will not be returned. To retrive the DDL information for an entry, sqluhgne must be called with a caller action of SQLUH_GET_DDL immediately after the entry is fetched. 3.7 SQLULOAD - LADEN Diese API betrifft nur die Partition, mit der eine Anwendung direkt verbunden ist. Das Dienstprogramm LOAD kann nur auf einer einzelnen Datenbankpartition ausgeführt werden. Im Abschnitt "Usage Notes" steht die inkorrekte Aussage, daß Übersichtstabellen, die von gerade geladenen Tabellen abhängen, in den Status der anstehenden Überprüfung versetzt werden. Es soll jedoch ausgesagt werden, daß Übersichtstabellen, die mit REFRESH IMMEDIATE definiert wurden und die von gerade geladenen Tabellen abhängen, in den Status der anstehenden Überprüfung versetzt werden. 3.8 SQLE-CLIENT-INFO (VERBINDUNGSEINSTELLUNGEN) Die gültigen Einträge für das Element SQLE-CLIENT-INFO TYPE müssen wie folgt geändert werden: SQLE_CLIENT_INFO_USERID SQLE_CLIENT_INFO_WRKSTNNAME SQLE_CLIENT_INFO_APPLNAME SQLE_CLIENT_INFO_ACCTSTR 3.9 SQLFUPD Die Tabelle 46, "Updateable Database Manager Configuration Parameters" hat einen zusätzlichen Eintrag für den neuen Parameter catalog_noauth: Parameter Name Token Token Value Data Type -------------- ----- ----------- --------- catalog_noauth SQLF_KTN_CATALOG_NOAUTH 314 Uint16 3.10 SQLUHINFO (SQLUHADM) Die Definition der Struktur SQLUHADM muß wie folgt geändert werden: SQL_STRUCTURE sqluhadm { char end_time[SQLUH_TIMESTAMP_SZ+1]; // OUT: Completion time // stamp of the event char id[SQLUH_ID_SZ+1]; // OUT: Unique identifier // of a dropped table struct sqlca event_sqlca; // OUT: SQLCA associated // with the entry struct sqlchar command; // IN/OUT: DDL command // information }; HINWEISE: 1. Momentan werden Befehlsdaten nur für ALTER TABLESPACE-Ereignisse aufgezeichnet. 2. Der Aufrufende muß das Feld sqluhadm.command.length mit der Anzahl Byte für den Speicher initialisieren, die für dieses Feld reserviert worden ist. 3. Das Makro SQLUHADMSIZE(n), das in sqlutil definiert ist, dient dazu, den Speicher zu bestimmen, der für eine sqluhadm-Struktur mit einem Speicherbereich für n Befehlsdatenzeichen erforderlich ist. 3.11 SQLUVPUT - SCHREIBEN VON DATEN AUF EINE EINHEIT "struct Init_output *," im Abschnitt "C API Syntax" muß in "struct Data *," geändert werden. 4.0 BUILDING APPLICATIONS FOR WINDOWS AND OS/2 ENVIRONMENTS | 4.1 DB2START GIBT UNTER WINDOWS NT KEINE KORREKTE FEHLERNACHRICHT ZURÜCK | Wenn der Befehl "db2start" (oder der Befehl "NET START") ausgeführt wird, | um den Datenbankmanager in einer Windows NT-Umgebung zu starten, gibt der | Befehl keine Warnungen zurück, wenn ein DFV-Subsystem nicht gestartet | werden konnte. Der Benutzer sollte daher immer im Ereignisprotokoll | von NT oder in der Datei "DB2DIAG.LOG" nach Fehlern suchen, die | möglicherweise während der Ausführung von "db2start" aufgetreten sind. | Dieses Problem tritt auf, da der Datenbankmanager unter Windows NT als | NT-Dienst implementiert wird und daher keinen Fehler zurückgibt, wenn | der Dienst erfolgreich gestartet wurde. 4.2 ERSTELLEN VON WINDOWS NT- UND WINDOWS 95-ANWENDUNGEN MIT EINGEBETTETEM SQL (IBM VISUALAGE FÜR COBOL) Es gibt ein Problem mit dem Befehl "cob2 -dll" von VisualAge COBOL für Windows NT Version 2.2. Der ursprüngliche Befehl in "x:\sqllib\samples\cobol\bldvacbs.bat" zum Erstellen einer DLL lautet: cob2 -dll %1.obj db2api.lib Diese Version von VisualAge COBOL gibt die folgende Fehlermeldung zurück: fatal error : Unable to open "E:\sqllib\samples\cobol\db2api.lib". Dieser Fehler wird in dem ersten FixPak von VisualAge COBOL für Windows NT korrigiert. Bis das FixPak verfügbar ist, kann das Problem jedoch dadurch gelöst werden, daß der obige Befehl durch folgenden ersetzt wird: ilib /nol /gi:%1 %1.obj ilink /free /nol /dll db2api.lib %1.exp %1.obj iwzrwin3.obj 4.3. ERSTELLEN VON JAVA-ANWENDUNGEN UND -APPLETS 4.3.1 EINRICHTEN DER WINDOWS-UMGEBUNG FÜR MICROSOFT SDK FÜR JAVA Es gibt eine neue Umgebungsvariable, mit der Sie angeben können, welches Java Development Kit unter Windows für DB2 SQLJ verwendet soll. Die Umgebungsvariable heißt DB2JVIEW und gilt für alle DB2 SQLJ-Befehle (db2profc, db2profp, profdb und profp), außer sqlj. Wenn DB2JVIEW=1 gesetzt ist, wird Microsoft SDK für Java verwendet. Das heißt, wenn Sie "profp" aufrufen, wird es als "jview sqlj.runtime.profile.util.ProfilePrinter" ausgeführt. Wenn DB2JVIEW=0 gesetzt ist oder nicht gesetzt ist, wird Sun JDK verwendet. Das heißt, wenn Sie "profp" aufrufen, wird es als "java sqlj.rutnime.profile.util.ProfilePrinter" ausgeführt. Der Befehl "sqlj" ignoriert diese Variable und wird immer mit Sun JDK ausgeführt. | 4.3.2 NEW CLIENT AND SERVER PROGRAMS AND SQLJ PRECOMPILE SCRIPT | Es gab mehrere Änderungen an den Java-Beispielprogrammen, die in diesem | Kapitel dokumentiert sind. Die gespeicherten Prozeduren und UDF-Programme | wurden in separate Client- und Server-Programme unterteilt. Dadurch können | Benutzer von Client-Maschinen fern auf gespeicherte Prozeduren und UDFs auf | Server-Maschinen zugreifen. Die hiervon betroffenen Dateien sind im | folgenden aufgeführt: | DB2STP ist jetzt ein Server-Programm. Das Client-Programm, mit dem | es aufgerufen wird, ist DB2SPCLI. | DB2UDF ist jetzt ein Server-Programm. Das Client-Programm, mit dem | es aufgerufen wird, ist DB2UDCLI. | STP ist jetzt ein Server-Programm. Das Client-Programm, mit dem | es aufgerufen wird ist STPCLI. | UDF ist jetzt ein Client-Programm. Das Server-Programm, mit dem | es aufgerufen wird, ist UDFSRV. | Die Prozedurdatei "embprep" wurde erstellt, um die SQLJ-Programme | vorzukompilieren und zu binden. Sie wird mit "makefile" aufgerufen und führt | den Befehl "db2profc" für die Beispielprogramme mit in Java eingebettetem | SQL aus. Es können wahlfreie Argumente für die Datenbank, die Benutzer-ID | und das Kennwort eingegeben werden. Dadurch wird ein fernes Binden an | Datenbanken auf DB2-Servern von Client-Maschinen aus ermöglicht. 5.0 BUILDING APPLICATIONS FOR UNIX ENVIRONMENTS 5.1 SCO UNIXWARE 7 | 5.1.1 EXPORTIEREN VON FUNKTIONEN FÜR GESPEICHERTE PROZEDUREN | In SCO UnixWare 7 stehen die in einem Client-Programm definierten | Funktionen, die nicht explizit exportiert werden, einer Bibliothek | mit den gespeicherten Prozeduren, die vom Client-Programm aufgerufen wird, | nicht zur Verfügung. Um die Funktionen extern verfügbar zu machen, kann das | Client-Programm umcodiert werden oder die Kompilierungsoption | "-Wl,-Bexport" verwendet werden, die alle im Client-Programm definierten | Funktionen exportiert. Diese Option wurde den Makefiles für SCO UnixWare 7 | C und C++ hinzugefügt, um das Beispiel-Client-Programm "fillcli" zu | kompilieren, das die Bibliothek mit den gespeicherten Prozeduren | "fillsrv" für diese Sprachen aufruft. Die Makefiles und Beispielprogramme | befinden sich in den Verzeichnissen "sqllib/samples/c" und | "sqllib/samples/cpp". 5.1.2 VERBINDUNGSOPTION FÜR MICRO FOCUS COBOL Im Abschnitt "Micro Focus COBOL" wird die Verbindungsoption "-lthread" in der Prozedurdatei "bldmfcc" nicht mehr benötigt, da die Thread-Bibliothek in die DB2-Bibliothek, die mit der Option "-ldb2" aufgerufen wird, integriert wurde. 5.2 ERSTELLEN VON JAVA-ANWENDUNGEN UND -APPLETS 5.2.1 EINRICHTEN DER UMGEBUNG: HP-UX, SCO UNIXWARE 7 Zum Erstellen und Ausführen von Java-Programmen unter HP-UX ist HP-UX Developer's Kit für Java Release 1.1.3 (oder höher) erforderlich. DB2 does not support Java stored procedures and Java user-defined functions (UDFs) on HP-UX and SCO UnixWare servers. Because of this restriction, the following Java sample programs cannot be run against DB2 databases on HP-UX and SCO UnixWare: DB2 unterstützt auf HP-UX- und SCO UnixWare-Servern keine gespeicherten Java-Prozeduren und benutzerdefinierten Java-Funktionen (UDFs). Unter HP-UX und SCO UnixWare können aufgrund dieser Einschränkung die folgenden Java-Beispielprogramme nicht für DB2-Datenbanken ausgeführt werden: DB2Stp.java DB2Udf.java CatUdf.sqlj DropUdf.sqlj Stp.sqlj Udfsrv.java | 5.2.2 EINSCHRÄNKUNG FÜR DIE METHODE CLOSE() UNTER SILICON GRAPHICS IRIX | Unter Silicon Graphics IRIX ist das Problem bekannt, daß die | Verbindungskontextmethode "close()" einen Trap verursachen kann. | Zum Umgehen dieses Problemsm, lassen Sie den Verbindungskontext | während der Garbage Collection automatisch schließen. 5.2.3 NEW CLIENT AND SERVER PROGRAMS AND SQLJ PRECOMPILE SCRIPT Es gab mehrere Änderungen an den Java-Beispielprogrammen, die in diesem Kapitel dokumentiert sind. Die gespeicherten Prozeduren und UDF-Programme wurden in separate Client- und Server-Programme unterteilt. Dadurch können Benutzer von Client-Maschinen fern auf gespeicherte Prozeduren und UDFs auf Server-Maschinen zugreifen. Die hiervon betroffenen Dateien sind im folgenden aufgeführt: DB2STP ist jetzt ein Server-Programm. Das Client-Programm, mit dem es aufgerufen wird, ist DB2SPCLI. DB2UDF ist jetzt ein Server-Programm. Das Client-Programm, mit dem es aufgerufen wird, ist DB2UDCLI. STP ist jetzt ein Server-Programm. Das Client-Programm, mit dem es aufgerufen wird ist STPCLI. UDF ist jetzt ein Client-Programm. Das Server-Programm, mit dem es aufgerufen wird, ist UDFSRV. Die Prozedurdatei "embprep" wurde erstellt, um die SQLJ-Programme vorzukompilieren und zu binden. Sie wird mit "makefile" aufgerufen und führt den Befehl "db2profc" für die Beispielprogramme mit in Java eingebettetem SQL aus. Es können wahlfreie Argumente für die Datenbank, die Benutzer-ID und das Kennwort eingegeben werden. Dadurch wird ein fernes Binden an Datenbanken auf DB2-Servern von Client-Maschinen aus ermöglicht. 6.0 CLI GUIDE AND REFERENCE 6.1 SQLPREPARE() In der Beschreibung zu SQLPrepare() wird nicht darauf hingewiesen, daß die verzögerte Vorbereitung (Deferred Prepare) nun standardmäßig aktiviert ist. Dadurch werden SQL-Anweisungen, die mit SQLPrepare() an die Datenbank übergeben werden, nicht verarbeitet, wenn die Funktion SQLPrepare() aufgerufen wird. Statt dessen werden sie, wenn SQLExecute() aufgerufen wird, verarbeitet. Beim Aufruf von SQLPrepare() wird von der DB2-CLI eine minimale Fehlerprüfung ausgeführt (d. h. auf gültige Funktionsargumente usw.). Die wahren SQLSTATE-Werte werden von SQLPrepare() erst übergeben, nachdem SQLExecute() aufgerufen wurde. Ihre Anwendung sollte daher SQLSTATE-Werte von SQLPrepare() erwarten, nachdem zuerst SQLExecute() aufgerufen wurde und dann die SQLSTATE-Werte von SQLExecute() aufgerufen wurden. Weitere Informationen zur standardmäßig aktivierten verzögerten Vorbereitung finden Sie in Anhang B im Abschnitt über Änderungen von Version 2.1.1 zu Version 5.0.0. Dort wird beschrieben, wie die verzögerte Vorbereitung für Programme der Version 2 inaktiviert wird. Außerdem enthält der Abschnitt eine weiterführende Beschreibung zum Prozeß der verzögerten Vorbereitung. 6.2 SQLDISCONNECT() In der Beschreibung steht, daß Cursor durch einen Aufruf von SQLDisconnect() geschlossen werden. Dies ist aber bei gespeicherten Prozeduren nicht der Fall. Eine Anwendung sollte SQLDisconnect() zum Schließen von Cursorn nicht verwenden, auch wenn es sich nicht um eine gespeicherte Prozedur handelt. In beiden Fällen muß der Cursor mit SQLCloseCursor() geschlossen und anschließend die Anweisungskennung mit einem Aufruf an SQLFreeHandle() unter Angabe des Kennungstyps (Handletype) SQL_HANDLE_STMT freigegeben werden. 6.3 VERWENDEN VON GESPEICHERTEN PROZEDUREN - PROGRAMMIEREN GESPEICHERTER PROZEDUREN ZUM ZURÜCKGEBEN VON ERGEBNISGRUPPEN Im Handbuch wird darauf hingewiesen, daß die gespeicherten Prozeduren auf einem fernen Server ausgeführt werden müssen. Dies ist nicht mehr der Fall. Gespeicherte Prozeduren, die auf einem lokalen Server ausgeführt werden, können Ergebnisgruppen übergeben. Im Handbuch wird angegeben, daß Sie die gespeicherte Prozedur SQLFreeStmt() mit SQL_DROP oder SQL_CLOSE aufrufen sollten; hier darf aber nur SQL_CLOSE verwendet werden. 6.4 KATALOGTABELLEN MIT GESPEICHERTEN PROZEDUREN Alle gespeicherten Prozeduren müssen mit der Anweisung CREATE PROCEDURE in den neuen Katalogtabellen SYSCAT.PROCEDURES und SYSCAT.PROCPARMS registriert werden. Weitere Informationen zu dieser SQL-Anweisung finden Sie im Handbuch "SQL Reference". Wenn gespeicherte Prozeduren nicht mit der Anweisung CREATE PROCEDURE registriert werden, kann von CLI- oder ODBC-Anwendungen nicht festgestellt werden, daß solche Prozeduren vorhanden sind. Weitere Informationen hierzu finden Sie im Abschnitt "Replacement of Pseudo Catalog Table for Stored Procedures" im Anhang "Migration". | 6.5 SQLFETCHSCROLL(SQL_FETCH_RELATIVE, -1) | Die Dokumentation "Call Level Interface Guide and Reference" für | Version 5.0 ist für SQLFetchScroll() fehlerhaft. Die Tabelle für die | SQL_FETCH_RELATIVE-Regeln sollte durch folgende Tabelle ersetzt werden: | SQL_FETCH_RELATIVE rules: +---------------------------------------------------------------------------+ | | Table 3. SQL_FETCH_RELATIVE Rules: | +-------------------------------------------+-------------------------------+ | | CONDITION | FIRST ROW OF NEW ROWSET | +-------------------------------------------+-------------------------------+ | | (Before start AND FetchOffset > 0) OR | -- (a) | | | (After end AND FetchOffset < 0) | | +-------------------------------------------+-------------------------------+ | | Before start AND FetchOffset <= 0 | Before start | +-------------------------------------------+-------------------------------+ | | CurrRowsetStart = 1 AND FetchOffset < 0 | Before start | +-------------------------------------------+-------------------------------+ | | CurrRowsetStart > 1 AND CurrRowsetStart + | Before start | | | FetchOffset < 1 AND |FetchOffset| > | | | | RowsetSize | | +-------------------------------------------+-------------------------------+ | | CurrRowsetStart > 1 AND CurrRowsetStart + | 1 (b) | | | FetchOffset < 1 AND |FetchOffset| <= | | | | RowsetSize | | +-------------------------------------------+-------------------------------+ | | 1 <= CurrRowsetStart + FetchOffset <= | CurrRowsetStart + FetchOffset | | | LastResultRow | | +-------------------------------------------+-------------------------------+ | | CurrRowsetStart + FetchOffset > | After end | | | LastResultRow | | +-------------------------------------------+-------------------------------+ | | After end AND FetchOffset >= 0 | After end | +-------------------------------------------+-------------------------------+ 7.0 COMMAND REFERENCE 7.1 DB2CMD - ÖFFNEN DES DB2-BEFEHLSFENSTERS Dieser Befehl ist unter Windows NT, Windows 95 und Windows 98 verfügbar. Die folgenden Schalter werden jetzt unterstützt: /c Aufrufen der command.exe mit der Option /c (das heißt, der Befehl wird ausgeführt und anschließend beendet). "db2cmd /c dir" bewirkt zum Beispiel, daß der Befehl "dir" in einem Befehlsfenster aufgerufen wird. Anschließend wird das Befehlsfenster geschlossen. /w Warten bis der Prozeß von cmd.exe beendet ist. "db2cmd /c /w dir" ruft zum Beispiel den Befehl "dir" auf, und db2cmd.exe wird erst beendet, nachdem das Befehlsfenster geschlossen ist. /i Ausführen eines Befehlsfensters, das dieselbe Konsole teilt und Dateikennungen übernimmt. "db2cmd /c /w /i db2 get dbm cfg > ausgabe" ruft cmd.exe auf, den Befehl db2 auszuführen und dessen Beendigung abzuwarten. Eine neue Konsole wird nicht zugeordnet, und die Standardausgabe wird in die Datei "ausgabe" umgeleitet. /t Übernehmen des Titels vom aufrufenden Fenster anstelle des Befehlsfenstertitels "DB2 CLP". Das ist hilfreich, wenn Sie ein Symbol mit einem anderen Titel einrichten möchten, mit dem "db2cmd /t" aufgerufen wird. HINWEIS: Die Schalter müssen vor den auszuführenden Befehlen angegeben werden. Beispiel: db2cmd /t db2 Falls DB21061E ("Die Befehlszeilenumgebung wurde nicht initialisiert.") zurückgegeben wird, wenn Sie ein DB2-Fenster anzeigen, in dem der Befehlszeilenprozessor aktiviert ist, oder Sie Befehle des Befehlszeilenprozessors unter Windows 95 oder Windows 98 ausführen, besitzt das Betriebssystem möglicherweise nicht genügend Umgebungsbereich. Überprüfen Sie den Umgebungskonfigurationsparameter SHELL in der Datei config.sys, und erhöhen Sie dessen Wert entsprechend. Beispiel: SHELL=C:\COMMAND.COM C:\ /P /E:32768 7.2 DB2EVA - EVENT ANALYZER Im Abschnitt "Command Parameters" fehlt die folgende Beschreibung: -evm evmon-name Specifies the name of the event monitor whose traces are to be analyzed. 7.3 DB2EVMON - EREIGNISMONITOR, DAS HILFSPROGRAMM ZUR LEISTUNGSSTEIGERUNG Die Schlüsselwörter "-db" und "-evm" sind abhängig von der Groß-/Kleinschreibung. 7.4 DB2LOOK - DB2-HILFSPROGRAMM ZUM EXTRAHIEREN VON STATISTIKDATEN Die Option "-a" generiert Statistikdaten zur Datenbank für alle Benutzer. Wenn diese Option zusammen mit der Option "-e" verwendet wird, wird die DDL für alle Benutzertabellen in der Datenbank generiert, Statistikdaten werden jedoch nicht generiert. HINWEISE: 1. Einige DDL-Kenndaten werden nicht mit dem Befehl db2look extrahiert. 2. Wenn weder -u noch -a angegeben ist, wird die Umgebungsvariable USER verwendet. Unter UNIX-basierten Systemen muß diese Variable nicht explizit gesetzt werden; unter Windows NT gibt es jedoch keinen Standardwert für die Umgebungsvariable USER: Auf dieser Plattform muß in den SYSTEM-Variablen eine Benutzervariable gesetzt werden oder für die Sitzung der Befehl "set USER=" abgesetzt werden. 7.5 DB2SET - DB2-BEFEHL FÜR DIE PROFILREGISTRIERDATENBANK Der Abschnitt "Command Parameters" wurde wie folgt geändert: variable=value Sets a specified variable to a specified value. To delete a variable, do not specify a value for the specified variable. Changes to settings take effect after the instance has been restarted. -g Accesses the global profile variables. -i instance Specifies the instance profile to use instead of the current, or default. node-number Specifies a number listed in the db2nodes.cfg file. -all Displays all occurrences of the local environment variables as defined in: o The environment, denoted by [e] o The node level registry, denoted by [n] o The instance level registry, denoted by [i] o The global level registry, denoted by [g]. -null Sets the value of the variable at the specified registry level to null. This avoids having to look up the value in the next registry level, as defined by the search order. -r instance Resets the profile registry for the given instance. -n DAS node Specifies the remote DB2 administration server node name. -u user Specifies the user ID to use for the administration server attachment. -p password Specifies the password to use for the administration server attachment. -l Lists all instance profiles. -lr Lists all supported registry variables. -v Specifies verbose mode. -h/-? Displays help information. When this option is specified, all other options are ignored, and only the help information is displayed. 7.6 DB2UPD52 - AKTUALISIEREN DES KATALOGS ZUR UNTERSTÜTZUNG VON VERSION 5.2 Obwohl dieses Dienstprogramm auf dem Server installiert ist, kann es auch auf einem Client ausgeführt werden. Hierzu müssen Sie die ausführbare Datei vom Server auf den Client kopieren. In einer MPP-Umgebung muß das Dienstprogramm vom Katalogknoten der angegebenen Datenbank ausgeführt werden. 7.7 SICHERN DER DATENBANK DB2-Benutzer müssen unter SCO UnixWare 7 für BUFFER den Wert 16 angeben, um Bandeinheiten zu verwenden. Der Standardwert für BUFFER ist 1024 Seiten. Wenn BUFFER auf Null gesetzt wird, muß der Konfigurationsparameter des Datenbankmanagers BACKBUFSZ auf 16 gesetzt sein. 7.8 EXPORT Tabelle 6 ("Valid Delimiters") und alle Verweise darauf müssen entfernt werden. Die Informationen im Hinweis, der sich am Ende der Tabelle befindet, und die Einschränkungen, die diesem Hinweis folgen, sind jedoch zutreffend. HINWEIS: In DBCS-Umgebungen wird das Begrenzerzeichen Pipe (|) nicht unterstützt. Der Abschnitt "DB2 Data Links Manager Considerations" in den Hinweisen zur Verwendung (Usage Notes) muß durch den folgenden Abschnitt ersetzt werden: To ensure that a consistent copy of the table and the corresponding files referenced by the DATALINK columns are copied for export, do the following: 1. To ensure that no update transactions are in progress when the export utility is run, issue the command QUIESCE TABLESPACES FOR TABLE tablename SHARE. 2. Issue the EXPORT command. 3. Run the dlfm_export utility with root authority at each file server. Input to the dlfm_export utility is the control file, server_name, which is generated by the export utility. The dlfm_export utility must be run with root authority in order to successfully archive files to which the DLFM administrator may not have access. 4. To make the table available for updates, issue the command QUIESCE TABLESPACES FOR TABLE tablename RESET. EXPORT is executed as an SQL application. The rows and columns satisfying the SELECT statement conditions are extracted from the database. For the DATALINK columns, the SELECT statement should not specify any scalar function. The export utility uses APIs to extract parts of the DATALINK value, such as link type, file server name, file path name, and comments. Successful execution of EXPORT results in generation of the following files: o An export data file as specified in the EXPORT command. A DATALINK column value in this file is in the format described on page 290. When the DATALINK column value is the SQL NULL value, handling is the same as that for other data types. o Control files server_name, which are generated for each file server (on the Windows operating system and on OS/2, a single control file, ctrlfile.lst, is used by all the file servers). A control file contains the URLs for all the files that are to be exported from that file server. Use the dlfm_export utility to export files from a file server as follows: Usage: dlfm_export [] Description: This is the file name that was generated by running the export utility on the DB2 client. This is the name of the archive file that will be generated (the default is export.tar in the current working directory). A corresponding utility called dlfm_import is provided to retrieve and to restore files from the archive that dlfm_export generates. This utility must be used whether the archived files are being restored on the same or on a different file server. Use the dlfm_import utility to retrieve files from the archive as follows: Usage: dlfm_import [] Description: This is the name of the archive file that will be used to recover the files (the default is export.tar in the current working directory). NOTES: 1. Both dlfm_export and dlfm_import utilities must be run with root authority. In the case of dlfm_export, there may be files to be archived to which the DLFM administrator does not have access. In the case of dlfm_import, root authority is required because the user may want to restore the archived files on a different file server, one that may not have the same directory structure and user IDs as the file server on which the dlfm_export utility was run. 2. The File Manager does not have to be running in order for the dlfm_export and the dlfm_import utilities to run. 3. When running the dlfm_import utility on a file server other than the one on which dlfm_export was run, the files will be restored on the correct paths. The files will be owned by root, in case some of the user IDs do not exist on the new machine. Before inserting the corresponding DATALINK values into the database, it is the administrator's responsibility to ensure that all files have the correct permissions and belong to the correct user IDs. EXPORTING BETWEEN INSTANCES The table below shows how to export DB2 data and the files that are referenced by the instance called SystemA to the instance called SystemB. SystemA uses file servers DLFM1 and DLFM2. SystemB uses file servers DLFMX and DLFMY. The files on DLFM1 will be exported to DLFMX, and the files on DLFM2 will be exported to DLFMY. +------------------------------------------------------------------------------+ | InstanceA with File Servers DLFM1 and DLFM2 | Step | +------------------------------------------------------------------------------+ | DB2 Data | File1 for DLFM1 | File2 for DLFM2 | | | on File | | | | +----------+-----------------+-----------------+-------------------------------+ | | Run the | Run the | 1. Run dlfm_export (as root) | | | dlfm_export | dlfm_export | on both file servers. | | | command | command | This will produce an archive | | | | | on both file servers. | +----------+-----------------+-----------------+-------------------------------+ +------------------------------------------------------------------------------+ | InstanceB with File Servers DLFMX and DLFMY | Step | +------------------------------------------------------------------------------+ | | On DLFMX, | On DLFMY, | 2. Run dlfm_import (as root) | | | restore from an | restore from an | on both file servers. | | | archive | archive | | +----------+-----------------+-----------------+-------------------------------+ | | | | 3. Run the IMPORT command on | | | | | InstanceB, with the parameter | | | | | DL_URL_REPLACE_PREFIX to | | | | | specify the appropriate file | | | | | server for each exported file.| +----------+-----------------+-----------------+-------------------------------+ +------------------------------------------------------------------------------+ | After the import utility is run on InstanceB, InstanceA data and all | | files referenced by DATALINK columns are imported. | +------------------------------------------------------------------------------+ 7.9 GET DATABASE MANAGER CONFIGURATION 7.9.1 NEUER PARAMETER CATALOG_NOAUTH Ein neuer Parameter, catalog_noauth, gibt an, ob Benutzer Datenbanken und Knoten oder DCS- und ODBC-Verzeichnisse ohne die Berechtigung SYSADM katalogisieren und aus dem Katalog entfernen können. Der Standardwert (0) für diesen Parameter zeigt, daß die Berechtigung SYSADM erforderlich ist. Wenn dieser Parameter auf 1 (yes) gesetzt ist, ist die Berechtigung SYSADM nicht erforderlich. | 7.9.2 TRUST_ALLCLNTS AKTUALISIERT | Mit "TRUST_ALLCLNTS" und "TRUST_CLNTAUTH" kann festgestellt werden, wo | die Identifikationsüberprüfung für den Benutzer für die Datenbankumgebung | stattfindet. Wird der Standardwert für "TRUST_ALLCLNTS" akzeptiert, werden | alle Clients als gesicherte Clients behandelt. Das bedeutet, daß auf dem | Client ein Sicherheitsmechanismus zur Verfügung steht und daß die | Identifikation für Benutzer auf dem Client stattfinden kann. Mit anderen | Optionen kann der Server vor bestimmten Clients auf der Grundlage ihrer | Plattform oder ihres Datenbankprotokolls geschützt werden. 7.10 IMPORT In einer MPP-Umgebung ist das gepufferte Einfügen, wenn eine Datenbank mit der Option INSERT BUF gebunden wurde, während jedes Importvorgangs in diese Datenbank inaktiv, wenn INSERT_UPDATE angegeben wurde. NOCHECKLENGTHS wird für die Dateiformate ASC und IXF unterstützt. Diese Option muß nicht mit dem Änderungswert FORCEIN verwendet werden. Wenn NOCHECKLENGTHS angegeben ist, wird versucht, jede Zeile zu importieren, selbst wenn die Spaltendefinitionen der Quellendaten die Größe der Zieltabellenspalte übersteigt. Solche Zeilen können unter Umständen erfolgreich importiert werden, wenn die Umsetzung über die Zeichenumsetztabelle die Quellendaten reduziert; zum Beispiel könnten 4-Byte-EUC-Quellendaten zu 2-Byte-DBCS-Zieldaten reduziert werden und nur die Hälfte des Platzes beanspruchen. Diese Option ist besonders hilfreich, wenn bekannt ist, daß die Quellendaten auf alle Fälle trotz abweichender Spaltendefinitionen passen. Die aktuelle Standardpriorität für Begrenzungszeichen lautet: Datensatzbegrenzungszeichen, Zeichenbegrenzungszeichen, Spaltenbegrenzungszeichen. Zum Schutz vorhandener Kundenanwendungen, die eine ältere Priorität unterstützen, wurde ein neuer Dateitypänderungswert, DELPRIORITYCHAR, für das Dienstprogramm IMPORT erstellt. Dieser Änderungswert verändert die Priorität für Begrenzungszeichen wie folgt: Zeichenbegrenzungszeichen, Datensatzbegrenzungszeichen, Spaltenbegrenzungszeichen. Die Syntax lautet: db2 import ... modified by delprioritychar ... 7.11 LIST DATABASE DIRECTORY Pro Prozeß können maximal acht Datenbankverzeichnissuchen geöffnet sein. Sie umgehen diese Einschränkung für eine Stapeldatei, die in einer DB2-Sitzung mehr als achtmal den Befehl LIST DATABASE DIRECTORY absetzt, indem Sie die Stapeldatei in eine Shell-Prozedur umwandeln. Das Präfix "db2" generiert eine neue DB2-Sitzung für jeden Befehl. 7.12 LOAD Dieser Befehl betrifft nur die Partition, zu der eine direkte Verbindung besteht. Das Dienstprogramm LOAD kann nur auf einer Datenbankpartition ausgeführt werden. Die Option COPY wird nicht für Tabellen mit DATALINK-Spalten unterstützt. Die Option REPLACE wird nicht für Tabellen mit DATALINK-Spalten unterstützt. Die Klausel NONRECOVERABLE darf nicht verwendet werden, wenn in der Tabelle DATALINK-Spalten mit dem Attribut FILE LINK CONTROL vorhanden sind oder diese der Tabelle hinzugefügt werden. Für die Kombinationen von DATALINK-Spalten und der Anzahl von DLFMs gibt es eine Begrenzung. Es können sich höchstens 256 eindeutige Kombinationen aus DLFMs und DATALINK-Spalten in einer Tabelle befinden. Die Tabelle kann zum Beispiel höchstens 128 DATALINK-Spalten haben, falls die Anzahl der konfigurierten DLFMs zwei beträgt. Auf DB2-Servern unter SCO UnixWare 7 wird das Laden von Kopien auf Bandeinheiten nicht unterstützt. Im Abschnitt "Usage Notes" steht die inkorrekte Aussage, daß Übersichtstabellen, die von gerade geladenen Tabellen abhängen, in den Status der anstehenden Überprüfung versetzt werden. Es soll jedoch folgendes ausgesagt werden: daß Übersichtstabellen, die mit REFRESH IMMEDIATE definiert wurden und die von gerade geladenen Tabellen abhängen, in den Status der anstehenden Überprüfung versetzt werden. NOCHECKLENGTHS wird für die Dateiformate ASC und IXF unterstützt. Diese Option muß nicht mit dem Änderungswert FORCEIN verwendet werden. Wenn NOCHECKLENGTHS angegeben ist, wird versucht, jede Zeile zu laden, selbst wenn die Spaltendefinition der Quellendaten die Größe der Zieltabellenspalte übersteigt. Solche Zeilen können unter Umständen erfolgreich geladen werden, wenn die Umsetzung über die Zeichenumsetztabelle die Quellendaten reduziert; zum Beispiel könnten 4-Byte-EUC-Quellendaten zu 2-Byte-DBCS-Zieldaten reduziert werden und nur die Hälfte des Platzes beanspruchen. Diese Option ist besonders hilfreich, wenn bekannt ist, daß die Quellendaten auf alle Fälle trotz abweichender Spaltendefinitionen passen. Die aktuelle Standardpriorität für Begrenzungszeichen lautet: Datensatzbegrenzungszeichen, Zeichenbegrenzungszeichen, Spaltenbegrenzungszeichen. Zum Schutz vorhandener Kundenanwendungen, die eine ältere Priorität unterstützen, wurde ein neuer Dateitypänderungswert, DELPRIORITYCHAR, für das Dienstprogramm IMPORT erstellt. Dieser Änderungswert verändert die Priorität für Begrenzungszeichen wie folgt: Zeichenbegrenzungszeichen, Datensatzbegrenzungszeichen, Spaltenbegrenzungszeichen. Die Syntax lautet: db2 import ... modified by delprioritychar ... Die neue Option wird in MPP-Umgebungen nicht unterstützt. Auch AutoLoader unterstützt sie nicht. Wenn diese Option angegeben ist, wird die SMP-Nutzung inaktiviert (für CPU_PARALLELISM wird der Wert 1 erzwungen). Die neue Option und die Funktion "DUMPFILE" schließen sich gegenseitig aus; die Option wird nur für das Dateiformat DEL unterstützt. 7.13 ABSTIMMUNG MIT RECONCILE Die Beschreibung von "DLREPORT filename" ist fehlerhaft. Es gibt keinen Standardwert für diesen Parameter. Der Dateiname muß ein vollständig qualifizierter Dateiname sein. Beispiel: /home/user/report.out 7.14 WIEDERHERSTELLEN DER DATENBANK Wenn die Option WITHOUT DATALINK nicht angegeben ist und DB2 File Manager, der die DATALINK-Daten enthält, nicht verfügbar ist, schlägt die Wiederherstellungsoperation fehl. Wenn diese Option angegeben ist und DB2 File Manager, der die DATALINK-Daten enthält, nicht verfügbar ist, werden alle Tabellenbereiche, die Tabellen mit DATALINK-Werten auf dem nicht verfügbaren Server enthalten, in den Status WIEDERHERSTELLUNG ANSTEHEND versetzt. DB2-Benutzer müssen unter SCO UnixWare 7 für BUFFER den Wert 16 angeben, um Bandeinheiten zu verwenden. Der Standardwert für BUFFER ist 1024 Seiten. Wenn BUFFER auf Null gesetzt wird, muß der Konfigurationsparameter des Datenbankmanagers BACKBUFSZ auf 16 gesetzt sein. | 7.15 STARTEN DES DATENBANKMANAGERS | Wenn der Befehl "db2start" (oder der Befehl "NET START") ausgeführt wird, | um den Datenbankmanager in einer Windows NT-Umgebung zu starten, gibt der | Befehl keine Warnungen zurück, wenn ein DFV-Subsystem nicht gestartet | werden konnte. Der Benutzer sollte daher immer im Ereignisprotokoll | von NT oder in der Datei "DB2DIAG.LOG" nach Fehlern suchen, die | möglicherweise während der Ausführung von "db2start" aufgetreten sind. | Dieses Problem tritt auf, da der Datenbankmanager unter Windows NT als | NT-Dienst implementiert wird und daher keinen Fehler zurückgibt, wenn | der Dienst erfolgreich gestartet wurde. 8.0 EMBEDDED SQL PROGRAMING GUIDE 8.1 ERSTELLEN VON BENUTZERDEFINIERTEN FUNKTIONEN (SCHNITTSTELLE ZWISCHEN DB2 UND EINER UDF/VON DB2 AN UDFs ÜBERGEBENE ARGUMENTE) An der numerierten Liste unter dem Argument "dbinfo" wurden zwei Änderungen vorgenommen: o Fügen Sie der Liste einen neuen Punkt 17 hinzu. Der neue Punkt 17 lautet wie folgt: 17. Unique application identifier (appl_id) This field is a pointer to a C null-terminated string which uniquely identifies the application's connection to DB2. It is regenerated at each database connect. The string has a maximum length of 32 characters, and its exact format depends on the type of connection established between the client and DB2. Generally it takes the form .. where the and vary by connection type, but the is a 12 character time stamp of the form YYMMDDHHMMSS, which is potentially adjusted by DB2 to ensure uniqueness. Example: *LOCAL.db2inst.980707130144 o Ändern Sie den vorhandenen Punkt 17 in Punkt 18, und ändern Sie innerhalb dieses Punkts "24 characters" in "20 characters": 17. Reserved field (resd2) This field is for future use. It is defined as 20 characters long. 8.2 PROGRAMMIEREN IN C UND C++ (ÜBERLEGUNGEN FÜR DAS PROGRAMMIEREN/HOST-VARIABLEN) 8.2.1 DEKLARIEREN VON HOST-VARIABLEN Sie können BIGINTs auf drei verschiedene Arten deklarieren: o long long o __int64 // (Ein doppeltes Unterstreichungszeichen wird "int64" vorangestellt.) Diese Deklaration ist spezifisch für den Microsoft-Compiler. o sqlint64 Diese Art ist für das Erstellen von plattformunabhängigen Anwendungen hilfreich. Die DB2 UDB-Kopfdatei sqlsystm.h weist sqlint64 auf der Windows NT-Plattform die Typendefinition "__int64" zu, wenn der Microsoft-Compiler verwendet wird; andernfalls wird sqlint64 die Typendefinition "long long" zugewiesen. 8.2.2 BEARBEITEN VON HOST-VARIABLEN FÜR GRAFIK (WINDOWS) Wenn Sie die Option WCHARTYPE CONVERT auf einer Windows-Plattform angeben, müssen Sie beachten, daß wchar_t auf Windows-Plattformen dem Zeichensatz Unicode angehört. Wenn also wchar_t Ihres C/C++-Compilers nicht dem Zeichensatz Unicode angehört, schlägt möglicherweise der Funktionsaufruf wcstombs() mit SQLCODE -1421 (SQLSTATE=22504) fehl. Wenn dies geschieht, können Sie die Option WCHARTYPE NOCONVERT angeben und explizit die Funktionen wcstombs() und mbstowcs() von Ihrem Programm aus aufrufen. | 8.3 PROGRAMMIEREN IN COBOL (UNTERSTÜTZUNG DER HOST-STRUKTUR) | Der COBOL-Precompiler unterstützt Deklarationen von Gruppendatenelementen | im Abschnitt mit der Deklaration der Host-Variablen. Unter anderem wird | hierdurch ein Kurzbefehl zum Verweis auf eine Gruppe von | Datenelementen in einer SQL-Anweisung zur Verfügung gestellt. Das folgende | Gruppendatenelement kann zum Zugriff auf einige Spalten in der Tabelle | STAFF der Beispieldatenbank SAMPLE verwendet werden: | 01 staff-record. | 05 staff-id pic s9(4) comp-5. | 05 staff-name. | 49 l pic s9(4) comp-5. | 49 d pic x(9). | 05 staff-info. | 10 staff-dept pic s9(4) comp-5. | 10 staff-job pic x(5). | Gruppendatenelemente im Deklarationsabschnitt können beliebige gültige | der oben beschriebenen Host-Variablentypen als untergeordnete Datenelemente | haben. Hierzu gehören alle numerischen und Zeichentypen sowie | LOB-Typen. DIE EINSCHRÄNKUNG, DASS NUR EINE STUFE VON GRUPPENDATENELEMENTEN | ZULÄSSIG IST, WURDE AUFGEHOBEN. NUN KÖNNEN BIS ZU 10 STUFEN VON | GRUPPENDATENELEMENTEN VERSCHACHTELT WERDEN. Bitte beachten Sie, daß Sie | VARCHAR-Zeichentypen mit den untergordneten Elementen auf Stufe 49 | deklarieren müssen, wie im Beispiel oben gezeigt. Wenn sie nicht auf Stufe | 49 deklariert sind, wird der VARCHAR-Typ als Gruppendatenelement mit zwei | untergordneten Datenelementen behandelt und unterliegt den Regeln zur | Deklaration und Verwendung von Gruppendatenelementen. Im obigen Beispiel ist | "staff-info" ein Gruppendatenelement, und "staff-name" ist ist ein | VARCHAR-Typ. Das selbe Prinzip gilt auch für die Typen LONG VARCHAR, | VARGRAPHIC und LONG VARGRAPHIC. Sie können Gruppendatenelemente auf | jeder Stufe zwischen 02 und 49 deklarieren. | Sie können Gruppendatenelemente und ihre untergeordneten Datenelemente auf | vier Arten verwenden: | 1. METHODE | Auf die gesamte Gruppe kann in einer SQL-Anweisung wie auf eine einzelne | Host-Variable verwiesen werden: | EXEC SQL SELECT id, name, dept, job | INTO :staff-record | FROM staff WHERE id = 10 END-EXEC. | Der Precompiler setzt den Verweis auf "staff-record" in eine durch Kommas | getrennte Liste aller untergeordneten Elemente um, die in "staff-record" | deklariert werden. Jedes Datenelement wird durch die Gruppennamen aller | Stufen qualifiziert, damit keine Namenskonflikte mit anderen Elementen | entstehen können. Diese Methode entspricht der folgenden Methode. | 2. METHODE | Die zweite Möglichkeit, Gruppendatenelmente zu verwenden, sieht | folgendermaßen aus: | EXEC SQL SELECT id, name, dept, job | INTO | :staff-record.staff-id, | :staff-record.staff-name, | :staff-record.staff-info.staff-dept, | :staff-record.staff-info.staff-job | FROM staff WHERE id = 10 END-EXEC. | HINWEIS: Der Verweis auf "staff-id" wird mit dem entsprechenden | Gruppennamen unter Verwendung des Präfixes "staff-record." | qualifiziert und nicht mit dem Präfix "staff-id" von | "staff-record" wie bei der reinen COBOL-Programmierung. | Wenn keine anderen Host-Variablen mit denselben Namen wie die | untergeordneten Elemente von "staff-reccord" vorhanden sind, | könnte die obige Anweisung auch wie in der 3. Methode beschrieben | codiert werden, bei der Gruppe nicht explizit qualifiziert wird. | 3. METHODE | Bei dieser Methode wird in einer für COBOL typischen Art auf | untergeordnete Elemente verwiesen, ohne daß diese für ihr bestimmtes | Gruppenelement qualifiziert werden: | EXEC SQL SELECT id, name, dept, job | INTO | :staff-id, | :staff-name, | :staff-dept, | :staff-job | FROM staff WHERE id = 10 END-EXEC. | Wie bei der reinen COBOL-Programmierung wird diese Methode vom Precompiler | akzeptiert, sofern ein bestimmtes untergeordnetes Element eindeutig | identifiziert werden kann. Wenn beispielsweise "staff-job" in mehreren | Gruppen vorkommt, gibt der Precompiler einen Fehler aus, der den | mehrdeutigen Verweis anzeigt: | SQL0088N Host-Variable "staff-job" ist mehrdeutig. | 4. METHODE | Zum Auflösen des mehrdeutigen Verweises kann auch eine Teilqualifikation | des untergeordneten Elements verwendet werden. | EXEC SQL SELECT id, name, dept, job | INTO | :staff-id, | :staff-name, | :staff-info.staff-dept, | :staff-info.staff-job | FROM staff WHERE id = 10 END-EXEC. | Da ein Verweis auf ein Gruppenelement allein, wie in der 1. Methode, | einer durch Kommas getrennten Liste seiner untergeordneten Elemente | entspricht, gibt es Fälle, in denen diese Verweisart einen Fehler | verursacht. Beispiel: | EXEC SQL CONNECT TO :staff-record END-EXEC. | Hier erwartet die Anweisung CONNECT eine einzige zeichenorientierte | Host-Variable. Wenn jedoch das Gruppendatenelement "staff-record" | angegeben wird, führt die Host-Variable zu dem folgenden Fehler | bei der Vorkompilierung: | SQL0087N Host-Variable "staff-record" ist eine Struktur an einer | Stelle, an der Strukturverweise nicht zulässig sind. | Andere Verwendungen von Gruppenelementen, die einen Fehler SQL0087N | verursachen sind beispielsweise PREPARE, EXECUTE IMMEDIATE, CALL, | Bezugswertvariablen und Verweise auf SQL-Deskriptorbereiche. Gruppen mit | einem einzigen untergeordneten Element sowie Verweise auf bestimmte | untergeordnete Elemente, wie in der 2., 3. und 4. Methode oben, sind | in diesen Fällen zulässig. | BEZUGSWERTTABELLEN | Der COBOL-Precompiler unterstützt die Deklaration von Tabellen mit | Bezugswertvariablen, die auf einfache Art mit Gruppendatenelementen | verwendet werden können. Sie werden folgendermaßen deklariert: | 01 . | 05 pic s9(4) comp-5 | occurs times. | Beispiel: | 01 staff-indicator-table. | 05 staff-indicator pic s9(4) comp-5 | occurs 7 times. | Diese Bezugswerttabelle kann effektiv mit dem ersten Format des Verweises | auf das Gruppenelement oben verwendet werden: | EXEC SQL SELECT id, name, dept, job | INTO :staff-record :staff-indicator | FROM staff WHERE id = 10 END-EXEC. | Hierbei stellt der Precompiler fest, daß "staff-indicator" als eine | Bezugswerttabelle deklariert wurde und erweitert "staff-indicator" | bei der Verarbeitung der SQL-Anweisung zu einzelnen Bezugswertverweisen. | "staff-indicator"(1) wird "staff-id" von "staff-record" zugeordnet, | "staff-indicator"(2) wird "staff-name" von "staff-record" zugeordnet usw. | HINWEIS: Wenn die Bezugswerttabelle "k" Bezugswerteinträge mehr enthält als | das Datenelement untergeordnete Elemente (wenn z. B. | "staff-indicator" 10 Einträge enthält, was "k"=6 entspricht), | werden die zusätzlichen "k" Einträge am Ende der Bezugswerttabelle | ignoriert. Ähnlich werden auch den letzten "k" untergeordneten | Elementen im Gruppenelement keine Bezugswerte zugeordnet, wenn | "k" Bezugswerteinträge weniger als untergeordnete Elemente | vorhanden sind. BITTE BEACHTEN SIE, DASS SIE IN EINER | BEZUGSWERTTABELLE IN EINER SQL-ANWEISUNG AUF EINZELNE ELEMENTE | VERWEISEN KÖNNEN. 8.4 PROGRAMMIEREN IN JAVA (ERSTELLEN VON GESPEICHERTEN JAVA-PROZEDUREN UND UDFs/KLASSEN VON GESPEICHERTEN JAVA-PROZEDUREN UND UDFs) In Abschnitt "COM.ibm.db2.app.UDF" gibt es eine Liste mit Funktionen, die spezifische DBINFO-Felder zurückgeben. Dieser Liste wurde folgendes hinzugefügt: public String getDBapplid() throws Exception 8.5 EIN JDK-PROBLEM, DAS JDBC-PROGRAMME BETRIFFT, DIE MIT EINER DBCS-ZEICHENUMSETZTABELLE UNTER AIX AUSGEFÜHRT WERDEN Wenn Sie JDBC-Programme mit JDK 1.1.4 ausführen, die unter AIX 4.3.1 mit einer DBCS-Zeichenumsetztabelle verwendet werden, können die DBCS-Daten nicht ordnungsgemäß angezeigt werden. Dies ist ein für diese JDK-Version bekanntes Problem, und eine Berichtigung dafür (IX78932) ist verfügbar. 8.6 EINSCHRÄNKUNGEN FÜR JDBC-BEISPIELANWENDUNGEN UNTER SCO UNIXWARE 7 Da eine systemeigene Methode die Thread-Bibliothek (libthread.so von UnixWare 7; siehe die Release-Informationen fürUnixWare) nicht verwenden kann, können DB2 JDBC-Beispielanwendungen (DB2Appl, DB2Udf und DB2Stp) weder von einem Client der Version 5.2 unter UnixWare 7, der mit einem Server unter UDB Version 5 verbunden ist, noch von einem Client der Version 5, der mit einem Server unter UDB mit installiertem FixPak 3 verbunden ist, ausgeführt werden. | 8.7 JDBC 2.0 | JDBC 2.0 ist die aktuellste Version von JDBC von Sun. Diese Version von | JDBC umfaßt zwei definierte Komponenten: API-KERNDEFINITIONEN und die | STANDARDERWEITERUNGS-API. | Die API-Kerndefinitionen wurden nun freigegeben. Informationen zu ihrer | Spezifikation finden Sie unter der folgenden Adresse: | http://www.software.ibm.com/data/db2/java | Die Standarderweiterungs-API wird derzeit noch geprüft. Informationen | zur Prüfversion ihrer Spezifikation können Sie ebenfalls von der oben | aufgeführten Web-Seite abrufen. | FUNKTIONEN | Der in diesem FixPak gelieferte Treiber für JDBC 2.0 unterstützt | die Kerndefinitionen-API von JDBC 2.0. Da einige Funktionen der | DB2-Steuerkomponente nicht zur Verfügung stehen, werden nicht alle in | der Spezifikation definierten Funktionen unterstützt. Die folgende Liste | enthält die wichtigsten unterstützten Funktionen: | o Schreibgeschützte Ergebnismenge mit Blätterfunktion | o Aktualisierung im Stapelbetrieb (Stapelverarbeitungsanweisungen und vorbereitete Stapelverarbeitungsanweisungen) | o LOB-Unterstützung | Die in der folgenden Liste aufgeführten Funktionen werden NICHT unterstützt: | o Aktualisierbare Ergebnismenge mit Blätterfunktion | o Neue SQL-Typen (Array, Ref, Distinct, Java Object) | o Angepaßte SQL-Typzuordnung | VORAUSSETZUNGEN | JDK 1.2 | PLATTFORM | Der Treiber für JDBC 2.0 steht derzeit nur für die Betriebssysteme | Windows 95, Windows 98,und Windows NT zur Verfügung. | KOMPATIBILITÄT | Diese Version der Spezifikation ist mit der früheren Version (1.22) | abwärts kompatibel. Der DB2-Treiber für JDBC 1.22 unterstützt jedoch | LOB-Typen als Erweiterung der JDBC 1.22-Spezifikation, und diese Erweiterung | ist kein Bestandteil der Abwärtskompatibilität der neuen Spezifikation. | Das bedeutet, daß vorhandene JDBC-Anwendungen, die auf der LOB-Unterstützung | des Treibers für JDBC 1.22 basieren, nicht mit dem neuen Treiber verwendet | werden können. Zur Behebung des Problems wird empfohlen, daß Sie die | Anwendung so ändern, daß sie der neuen Spezifikation entspricht. Diese | Lösung ist möglicherweise jedoch nicht für jede Situation geeignet. | Als Umgehung stellen wir das Schlüsselwort "JDBCVERSION" bereit, das Sie | auf den Wert "122" setzen können, damit der Treiber für JDBC Version 1.22 | für die DB2-LOB-Unterstützung aktiviert wird. Der Standardwert ist "200" | und aktiviert Version 2.0. Sie können dieses Schlüsselwort in der Datei | "db2cli.ini" setzen oder es als ein Verbindungsattribut im Merkmalargument | "getConnection" übergeben. | INSTALLATION | In diesem FixPak wird als Standardtreiber weiterhin der Treiber für JDBC | 1.22 verwendet. Der Treiber für JDBC 2.0 befindet sich im Verzeichnis | "sqllib\java12". Wenn Sie den Treiber für JDBC 2.0 verwenden möchten, | führen Sie die Stapeldatei "usejdbc2" aus. Hierdurch wird das Verzeichnis | "sqllib\java11" für die Treiberdateien für JDBC 1.22 erstellt. Zudem | werden die Treiberdateien für JDBC 1.22 in diesem Verzeichnis gesichert | und die Treiberdateien für JDBC 2.0 vom Verzeichnis "sqllib\java12" in die | entsprechenden Verzeichnisse kopiert. Wenn Sie wieder den Treiber für | JDBC 1.22 aktivieren möchten, führen Sie die Stapeldatei "usejdbc1" aus. | 8.8 ZUGRIFF AUF DB2 UDB-DATENBANKEN ÜBER PERL | Nun steht das Release 0.70 des DB2 UDB-Treibers (DBD::DB2) für die | Perl-DBI (Perl Database Interface) zur Verfügung. | Die Perl-DBI ist eine API (Application Programming Interface - | Anwendungsprogrammierschnittstelle), die den Zugriff auf die Datenbank | über die Sprache Perl ermöglicht. Sie definiert eine Gruppe von Funktionen, | Variablen und Konventionen, die eine konsistente und von der jeweils | verwendeten Datenbank unabhängige Datenbankschnittstelle bereitstellt. | Der Treiber DBD::DB2 wird zusammen mit der DBI zum Zugriff auf DB2 UDB | verwendet. | Weitere Informationen hierzu finden Sie auf der folgenden Web-Seite: | http://www.software.ibm.com/data/db2/perl/ 8.9 DATALINK-DATENTYP Eingebettetes SQL, das den DATALINK-Datentyp verwendet, wird nicht unterstützt. 8.10 MULTI-THREAD-UNIX-ANWENDUNGEN KÖNNEN MIT ZEICHENUMSETZTABELLE UND LANDESCODE AUSGEFÜHRT WERDEN Unter AIX, Solaris, HP-UX, SCO UnixWare 7 und Silicon Graphics IRIX wurden Funktionen geändert, die der Laufzeitabfrage von Zeichenumsetztabelle und Landescode dienen, die für die Verbindung zur Datenbank verwendet werden sollen. Sie sind jetzt thread-sicher, können aber einige Zugriffskonflikte (und eine daraus resultierende Leistungseinbuße) in einer Multi-Thread-Anwendung bewirken, die viele gleichzeitig geöffnete Datenbankverbindungen verwendet. Eine neue Umgebungsvariable (DB2_FORCE_NLS_CACHE) wurde erstellt, um mögliche Zugriffskonflikte in Multi-Thread-Anwendungen zu verhindern. Wenn DB2_FORCE_NLS_CACHE auf TRUE gesetzt ist, werden die Zeichenumsetztabellen- und Landescodeinformationen beim ersten Thread-Zugriff gespeichert. Anschließend werden diese zwischengespeicherten Informationen für jeden Thread verwendet, der die Informationen anfordert. Indem diese Informationen gespeichert werden, werden Zugriffskonflikte verhindert und in bestimmten Situationen wird eine Leistungsverbesserung erzielt. DB2_FORCE_NLS_CACHE darf nicht auf TRUE gesetzt werden, wenn die Anwendung die Einstellungen für die länderspezifischen Angaben zwischen den Verbindungen ändert. Wenn dies der Fall ist, werden die ursprünglichen länderspezifischen Angaben zurückgegeben, auch wenn die länderspezifischen Einstellungen geändert wurden. Im allgemeinen ändern Multi-Thread-Anwendungen die länderspezifischen Angaben nicht. Dadurch wird sichergestellt, daß die Anwendung thread-sicher bleibt. 8.11 FEHLERVERARBEITUNG FÜR AUFRUFARTEN AN DIE UDF 8.11.1 Argumente von Aufrufarten für SCRATCHPAD und FINAL CALL für EXTERNAL TABLE Mit den Änderungen wurden die folgende Ziele verfolgt: (a) Explizite Steuerung der Dauer des Arbeitspuffers durch den Benutzer; (b) Vermeidung von Inkonsistenzen während der Dauer der Arbeitspuffer für Tabellenfunktionen in folgenden Sprachen: o C/C++ - Bisher blieben Arbeitspuffer immer nach CLOSE/OPEN-Aufrufen an die UDF im Speicher. o OLE/Java - Bisher wurde bei einem OPEN-Aufruf immer ein neuer Arbeitspuffer zugeordnet. Aufgrund dieses Unterschieds erhalten Sie möglicherweise inkonsistente Ergebnisse, zum Beispiel wenn Sie eine Verknüpfung erstellen. Die folgenden Änderungen gelten für benutzerdefinierte Funktionen (UDFs), die Tabellenfunktionen darstellen: 1. FINAL CALL ist nun für die Anweisung CREATE FUNCTION für Tabellenfunktionen genauso wahlfrei wie für Skalarfunktionen. NO FINAL CALL (Standardeinstellung) muß also möglicherweise für Tabellenfunktionen angegeben werden. 2. Wenn Sie eine Tabellenfunktion mit Arbeitspuffer erstellen, können Sie den Arbeitspuffer für jeden OPEN-Aufruf der Funktion initialisieren, indem Sie NO FINAL CALL angeben. In diesem Fall wird die Tabellenfunktion nach jedem CLOSE-Aufruf Ressourcen freigeben. Sie können jedoch auch den Inhalt des Arbeitspuffers über mehrere OPEN-Aufrufe hinweg erhalten, indem Sie FINAL CALL angeben. Wenn Sie sich für diese Möglichkeit entscheiden, müssen Sie bei der Verarbeitung des CLOSE-Aufrufs keine Ressourcen freigeben, da ein FINAL-Aufruf an die Tabellenfunktion am Anweisungsende erfolgt. Diese Art von FINAL CALL und der entsprechende FIRST-Aufruf, der vor dem ersten OPEN-Aufruf erfolgt, sind neu. Diese beiden neuen Aufrufarten kommen nur für Tabellenfunktionen vor, in denen FINAL CALL angegeben ist. 3. Im Zusammenhang mit Java-Tabellenfunktionen bedarf das Ausführungsmodell einer näheren Erläuterung. In der folgenden Tabelle wird verdeutlicht, was an den einzelnen relevanten Punkten bei der Verarbeitung der Tabellenfunktion für eine bestimmte Anweisung stattfindet (im unteren Teil der einzelnen Tabellenzeilen wird vorgeschlagen, welcher Code für eine typische Tabellenfunktion geschrieben werden kann, um Informationen aus dem WWW abzurufen). Der Fall mit NO FINAL CALL und der Fall mit FINAL CALL wird abgedeckt. In beiden Fällen wird angenommen, daß SCRATCHPAD eingestellt ist. Daher erklären sich auch die oben beschriebenen neuen Regeln. | | Zeitpunkt | | NO FINAL CALL | FINAL CALL während | | für Arbeitspuffer | für Arbeitspuffer der | | (Sprache: Java) | (Sprache: Java) Suchzeit V | | ------------+------------------------------+------------------------------ Vor dem | Keine Aufrufe | Aufruf des ersten OPEN | | Klassenerstellers für die | | (neuer Arbeitspuffer) Tabellen- | | Aufruf der UDF-Methode funktion | | mit "FIRST"-Aufruf | |- - - - - - - - - - - - | | Klassenersteller | | initialisiert Klassen- | | und Arbeitspuffer- | | variablen. | | Methode stellt | | Verbindung mit dem | | WWW-Server her. | | ------------+------------------------------+------------------------------ Bei jedem | Aufruf des Klassenerstellers | UDF-Methode wird mit OPEN der | (neuer Arbeitspuffer) | "OPEN" aufgerufen. Tabellen- | Aufruf der UDF-Methode mit | funktion | "OPEN"-Aufruf | |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - | Ersteller initialisiert | Methode öffnet die | Klassen- und Arbeitspuffer- | Suche nach den | variablen. | gewünschten WWW-Daten. | Methode stellt Verbindung mit| (Verhindert evtl. | dem WWW-Server her und | erneutes Öffnen nach | öffnet die Suche nach den | einem CLOSE, je nach | WWW-Daten. | im Arbeitspuffer | | gespeicherten Daten.) ------------+------------------------------+------------------------------ Bei jedem | UDF-Methode wird mit | UDF-Methode wird mit FETCH einer | "FETCH" aufgerufen. | "FETCH" aufgerufen. neuen Zeile |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - von Daten | Methode ruft nächste | Methode ruft nächste der Tabel- | Datenzeile ab, oder gibt sie| Datenzeile ab, oder lenfunktion | zurück; oder EOT. | gibt sie zurück; oder | | EOT ------------+------------------------------+------------------------------ Bei jedem | UDF-Methode wird mit | UDF-Methode wird mit CLOSE der | "CLOSE" aufgerufen. | "CLOSE" aufgerufen. Tabellen- | Aufruf der "close"-Methode, | funktion | falls für Klasse vorhanden. | |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - | Methode schließt WWW-Suche | Methode positioniert | u. trennt Verbindung | evtl. erneut zum | vom WWW-Server. | Anfang der Suche oder | "close" führt keine Operation| schließt die Suche. | aus. | Sie kann jeden Status | | im Arbeitspuffer | | speichern. ------------+------------------------------+------------------------------ Nach dem | Keine Aufrufe | UDF-Methode wird mit letzten | | "FINAL" aufgerufen. CLOSE der | | Aufruf der "close"- Tabellen- | | Methode, falls für die funktion | | Klasse vorhanden | |- - - - - - - - - - - - | | Methode trennt | | Verbindung vom | | WWW-Server. | | "close" führt keine | | Operation aus. | | ------------+------------------------------+------------------------------ Anmerkungen zu dieser Tabelle: a. Mit "UDF-Methode" ist die Java-Klassenmethode gemeint, mit der die UDF implementiert wird; die Methode ist in der Klausel EXTERNAL NAME der Anweisung CREATE FUNCTION angegeben. b. Für Tabellenfunktionen mit der Angabe NO SCRATCHPAD gelten die Aufrufe an die UDF-Methode, die in dieser Tabelle angegeben sind. Da jedoch der Benutzer keine Kontinuität über einen Arbeitspuffer erwartet, wird von DB2 vor jedem Aufruf ein neues Objekt erstellt, indem der Klassenersteller aufgerufen wird. Es ist unklar, ob Tabellenfunktionen ohne Arbeitspuffer (NO SCRATCHPAD, folglich ohne Kontinuität) sinnvoll sein können, sie werden jedoch unterstützt. c. Diese Ausführungsmodelle implizieren das Vorhandensein einer neuen Klassenmethode, die die Aufrufart bestimmt. DB2 bietet diese Methode sowie zahlreiche andere Methoden in der Klasse COM.ibm.db2.app.UDF. Sie wird wie folgt definiert: public int getCallType () throws Exception d. Diese Modelle sind VOLLSTÄNDIG KOMPATIBEL zu den Entwicklungen in anderen UDF-Sprachen: C, C++ und OLE. Der Datei sqludf.h (UDF-Kopfdatei) werden Definitionen für neue Aufrufarten hinzugefügt. UDB-Kunden, die über Tabellenfunktionen verfügen, wird empfohlen, die oben genannten Optionen zu prüfen und die entsprechenden Änderungen durchzuführen: 1. Wenn Sie sich auf die neuen Regeln für Arbeitspuffer verlassen müssen, die mit FINAL CALL implementiert sind, müssen Sie möglicherweise die UDF wie folgt ändern: Fügen Sie neue Aufrufarten hinzu, denn mit der Angabe FINAL CALL werden die neuen Aufrufe an die UDF übermittelt. Außerdem sollten alle zugeordneten Ressourcen freigegeben werden, wenn der FINAL-Aufruf von der Tabellenfunktion verarbeitet wird. 2. Wenn Sie die von NO FINAL CALL implizierten Regeln verwenden möchten, sollten Sie die Anweisung CREATE FUNCTION ändern und mit NO FINAL CALL statt mit FINAL CALL ausführen, so daß die UDF keine neuen Aufrufe empfängt. (Je nachdem, wie die UDF das Argument für die Aufrufart prüft, können nach dem Empfang unerwarteter Aufrufe möglicherweise fehlerhafte Ergebnisse auftreten.) 3. Wenn Sie über eine Java-Tabellenfunktion verfügen, müssen Sie diese Funktion so ändern, daß sie den neuen Ausführungsmodellen in der obigen Tabelle entspricht. Sie werden bemerken, daß für beide Ausführungsmodelle je nachdem, ob Sie FINAL CALL oder NO FINAL CALL verwenden, zusätzliche Aufrufe an die UDF-Methode gesendet werden. Dies gibt dem UDF-Programmierer zusätzliche Möglichkeiten, bedeutet jedoch, daß er die Aufrufe auseinanderhalten muß. Die neue Methode getCallType in der Elternklasse, die zu DB2 gehört, verfügt über diese Fähigkeit. Weitere Einzelheiten zu Dokumentationsänderungen erscheinen nach der nächsten Aktualisierung der Handbücher "SQL Reference" und "Embedded SQL Programming Guide" (ESPG). Bis dahin wird eine "Technote" (technischer Hinweis) zur Verfügung gestellt werden, in der diese Änderungen genauer beschrieben werden. Dieser wird im WWW in der "DB2 Technical Library" verfügbar sein. Verwenden Sie das Suchargument "FINAL CALL". In den folgenden Abschnitten werden im Detail die Änderungen im Handbuch "Embedded SQL Programming Reference" beschrieben. Im Kapitel 6 des Handbuchs "Embedded SQL Programming Guide" unter der Überschrift "User-Defined Functions (UDF)", im Beispiel "Table Function Returning Document IDs", muß statt "FINAL CALL" jetzt "NO FINAL CALL" stehen. Beachten Sie auch, daß im darauffolgenden Absatz FINAL CALL nicht für jede Tabellenfunktion angegeben werden muß. Im Kapitel 7 des Handbuchs "Embedded SQL Programming Guide", unter der Überschrift "Interface between DB2 and a UDF", Abschnitt "The Arguments Passed from DB2 to a UDF", in der Beschreibung des Arguments "scratchpad" muß der Text, der mit "The actual..." beginnt wie folgt geändert werden: For table functions, the scratchpad is initialized as above only for the very first call to the UDF if FINAL CALL is specified on the CREATE FUNCTION. This "very first call" has type FIRST. After this call, the scratchpad content is totally under control of the table function. If NO FINAL CALL was specified or defaulted, then the scratchpad is initialized as above for each OPEN call, and the scratchpad content is completely under control of the table function between OPEN calls. (This can be very important for a table function used in a join or subquery. If it is necessary to maintain the content of the scratchpad across OPEN calls, then FINAL CALL must be specified in your CREATE FUNCTION statement. With FINAL CALL specified, in addition to the normal OPEN, FETCH and CLOSE calls, the table function will also receive FIRST and FINAL calls, for the purpose of scratchpad maintenance and resource release.) Außerdem muß im zweiten Satz die Beschreibung des Arguments "call-type" durch den folgenden Satz ersetzt werden: For external scalar functions this argument is only present if FINAL CALL is specified in the CREATE FUNCTION statement, but for external table functions it is ALWAYS present. Fügen Sie an den ersten Absatz den folgenden neuen Absatz an: Note that even though all the current possible values are listed below, your UDF should contain a switch or case statement which explicitly tests for all the expected values, rather than containing "if A do AA, else if B do BB, else it must be C so do CC" type logic. This is because it is possible that additional call types may be added in the future, and if you don't explicitly test for condition C you will have trouble when new possibilities are added. Ändern Sie im selben Abschnitt an der Stelle, an der die Werte für das Argument "call-type" für die Tabellenfunktionen erläutert werden, den Text wie folgt: o -2 This is the FIRST call, which only occurs if the FINAL CALL keyword was specified for the UDF. The scratchpad is set to binary zeros before this call. Argument values are passed to the table function, and it may choose to acquire memory or perform other one-time only resource initialization. Note that this is not an OPEN call, that call follows this one. On a FIRST call the table function should not return any data to DB2, but it can set SQL-state and diagnostic-message argument return values. o -1 This is the OPEN call. The scratchpad will be initialized if NO FINAL CALL is specified, but not necessarily otherwise. (The rest of the text is unchanged). o 0 (unchanged) o 1 (The first paragraph is unchanged, but the following text should be added) During CLOSE, the UDF should release resources acquired, if NO FINAL CALL was defined for the UDF. If FINAL CALL was defined, a special call (FINAL) is provided for resource release. On a CLOSE call a table function should not return a row to DB2, and in fact any SQL-result and SQL-result-ind values returned are ignored by DB2 upon return. However, the table function may set SQL-state and diagnostic-message argument values, which are handled as usual by DB2. o 2 This is the FINAL call, which balances the FIRST call, and it only occurs if FINAL CALL was defined for the external table function. All system resources should be freed. This call only occurs once per statement. As usual, SQL-state and diagnostic-message argument values may be returned, and they are handled as usual by DB2. Fügen Sie unter der Überschrift "Summary of Argument Use" für das Argument "scratchpad and call-type" den Text ", and optionally FIRST and FINAL" in beiden Fällen hinzu. Im Kapitel 7 des Handbuchs "Embedded SQL Programming Guide" befinden sich unter der Überschrift "Table Function Considerations", erster Listenpunkt, jetzt fünf Aufrufarten statt drei: Vervollständigen Sie die Liste mit FIRST und FINAL. Fügen Sie außerdem in diesem Abschnitt den folgenden neuen Listenpunkt hinzu: The error processing model for table function calls is as follows: 1. If FIRST call fails, no further calls are made. 2. If FIRST call succeeds, FINAL call is made. 3. If OPEN call fails, no FETCH or CLOSE call is made. 4. If OPEN call succeeds, then FETCH and CLOSE calls are made. Im Beispiel "Weather Table Function" in Kapitel 7 muß in der UDF-Definition NO FINAL CALL angegeben werden. Beachten Sie, daß FINAL CALL für eine Tabellenfunktion nicht mehr obligatorisch ist. (Ignorieren Sie also die Aussage, daß sie obligatorisch sei.) In Kapitel 15 des Handbuchs "Embedded SQL Programming Guide", unter "Programming in Java", unter der Überschrift "Creating Java UDFs and Stored Procedures", muß im zweiten Absatz der zweite Satz wie folgt geändert werden: Once you create and register these UDFs and stored procedures, and place the Java classes in the correct file location, described in "Where to Put Java Classes" on page 514, you can then (for UDFS) reference them in your SQL, or (for stored procedures) call them from you application written in any supported language. Auch der Satz, der auf diesen folgt, muß entfernt werden. Im Kapitel 15 des Handbuchs "Embedded SQL Programming Guide" muß unter der Überschrift "Creating and Using Java User-Defined Functions" im ersten Absatz der vierte Satz wie folgt geändert werden: You can then refer to it in the SQL of your application. Unter "Changing How a Java UDF Runs" unter derselben Überschrift müssen die ersten drei Absätze durch die folgenden fünf Absätze ersetzt werden: Typically, DB2 calls a UDF many times, once for each row of an input or result set in a query. If SCRATCHPAD is specified in the CREATE FUNCTION statement of the UDF, DB2 recognizes that some "continuity" is needed between successive invocations of the UDF, and therefore the implementing Java class is not instantiated for each call, but generally speaking once per UDF reference per statement. Generally it is instantiated before the first call and used thereafter, but may for table functions be instantiated more often-- see the NO FINAL CALL execution model in the subsection which follows this one. If, however, NO SCRATCHPAD is specified for a UDF, either a scalar or table function, then a clean instance is instantiated for each call to the UDF, by means of calling the class constructor. A scratchpad may be useful for saving information across calls to a UDF. Whereas for C, C++ and OLE UDFs the scratchpad is maintained by DB2, in Java the UDF can simply use instance variables. For table functions using a scratchpad, you can control when you get a new instance by use of the FINAL CALL / NO FINAL CALL option on the CREATE FUNCTION statement, as indicated by the execution models in the subsection which follows this one. For scalar functions, you use the same instance for the entire statement. Another choice you have is to use the DB2 provided Java methods getScratchpad() and setScratchpad(), in which case you will be using the DB2-managed scratchpad. The ability to achieve continuity between calls to a UDF by means of a scratchpad, is controlled by the SCRATCHPAD / NO SCRATCHPAD option of CREATE FUNCTION, regardless of whether the DB2 scratchpad or instance variables are used. Please note that every reference to a Java UDF in a query is treated independently, even if the same UDF is referenced multiple times. This is the same as what happens for OLE, C and C++ UDFs as well. At the end of a query, if you specify the FINAL CALL option for a scalar function then the object's close() method is called. For table functions the close() method will always be invoked as indicated in the subsection which follows this one. If you do not define a close() method for your UDF class, then a stub function takes over and the event is ignored. Und im nächsten Absatz, der mit "If you specify the ALLOW PARALLEL ..." beginnt, muß der letzte Satz entfernt werden. Fügen Sie nach dem Unterabschnitt "Changing How a Java UDF Runs" einen neuen Unterabschnitt derselben Stufe mit dem Titel "Table Function Execution Model for Java" an, der wie folgt lautet: For table functions written in Java, it is important to understand what happens at each point in DB2's processing of a given statement which is significant to the table function. The table which follows details this information. The bottom part of each box hints what the code might be written to do for a typical table function which pulls some information in from the Web). Covered are both the NO FINAL CALL and the FINAL CALL cases, assuming SCRATCHPAD in both cases. | | Point | | NO FINAL CALL | FINAL CALL in | | LANGUAGE JAVA | LANGUAGE JAVA scan | | SCRATCHPAD | SCRATCHPAD time V | | ------------+------------------------------+------------------------------ Before the | No calls. | Class constructor is called first OPEN | | (means new scratchpad). for the | | UDF Method is called with table func. | | "FIRST" call. | |- - - - - - - - - - - - - - - | | Constructor initializes | | class and scratchpad | | variables. | | Method connects to the Web | | Server. | | ------------+------------------------------+------------------------------ At each | Class constructor is called | UDF Method is called with OPEN of the | (means new scratchpad). | "OPEN" call. table func. | UDF Method is called with | | "OPEN" call. | |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - | Constructor initializes | Method opens the scan for | class and scratchpad | whatever Web data it wants. | variables. | (Might be able to avoid | Method connects to the Web | reopen after a CLOSE repo- | Server, and opens the scan | sition, depending on what | for Web data. | is saved in scratchpad!) | | ------------+------------------------------+------------------------------ At each | UDF method is called with | UDF Method is called with FETCH for | "FETCH" call. | "FETCH" call. new row of |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - table func | Method fetches and returns | Method fetches and returns data. | next row of data, or EOT. | next row of data, or EOT. | | ------------+------------------------------+------------------------------ At each | UDF method is called with | UDF Method is called with CLOSE of the| "CLOSE" call. | "CLOSE" call. table func. | "close" method is called if | | it exists for class. | |- - - - - - - - - - - - - - - |- - - - - - - - - - - - - - - | Method closes its Web scan | Method might reposition to | and disconnects from the | the top of the scan, or | Web Server. | close the scan. It can | "close" does not need to do | save any state in the | anything. | scratchpad, which will | | persist. | | ------------+------------------------------+------------------------------ After the | No calls. | UDF Method is called with last CLOSE | | "FINAL" call. of the table| | "close" method is called if func. | | it exists for class. | |- - - - - - - - - - - - - - - | | Method disconnects from the | | Web Server. | | "close" does not need to do | | anything. | | ------------+------------------------------+------------------------------ Some notes on this table: 1. By "UDF Method" we mean the Java class method which implements the UDF- the method identified in the EXTERNAL NAME clause of the CREATE FUNCTION statement. 2. For table functions with NO SCRATCHPAD specified, the calls to the UDF method are as indicated in this table, but because the user is not asking for any continuity via a scratchpad, DB2 will cause a new object to be instantiated before each call, by calling the class constructor. It is not clear that table functions with NO SCRATCHPAD (and thus no continuity) can do very useful things, but they are supported. 3. These execution models imply the existence of a new class method which which enables the UDF to identify the call type. This method is provided with DB2 in the COM.ibm.db2.app.UDF class, and will be defined as: public int getCallType () throws Exception 4. These models are TOTALLY COMPATIBLE with what happens with the other UDF languages: C and C++ and OLE. Im Kapitel 15 des Handbuchs "Embedded SQL Programming Guide", unter der Überschrift "Classes for Java Stored Procedures and UDFs" und unter der Unterüberschrift "COM.ibm.db2.app.UDF" muß der Absatz mit der Beschreibung der Methode "public void close()" wie folgt geändert werden: This method is called by the database for scalar functions at the end of a statement evaluation, if the UDF was created with the FINAL CALL option, and is analogous to the final call for a C function. For table functions, it is called after the CLOSE call to the UDF method (if NO FINAL CALL is coded or defaulted), or after the FINAL call (if FINAL CALL is coded). If a Java UDF class does not implement this function, a no-op stub function will handle and effectively ignore this event. Fügen Sie direkt im Anschluß an die Beschreibung der Methode "public void close()" den folgenden Text über die neue Methode "public int getCallType() throws Exception" hinzu: This function is used by table function UDF methods to find out the call type for a particular call. It returns a value as follows (symbolic defines are provided for these values in the Com.ibm.db2.app.UDF class definition): o -2 FIRST call o -1 OPEN call o 0 FETCH call o 1 CLOSE call o 2 FINAL call | 8.11.2 FEHLERVERARBEITUNGSMODELL FÜR EXTERNE UDFS FÜR SKALARFUNKTIONEN | In Kapitel 7 sollte im Abschnitt mit der Überschrift "Other Coding | Considerations" in der Liste im Unterabschnitt "Hints and Tips" ein neuer | Punkt 15 wie folgt hinzugefügt werden: | The error processing model for scalar UDFs which are defined with the FINAL | CALL specification is as follows: | 1. If FIRST call fails, no further calls are made. | 2. If NORMAL call fails, no further NORMAL calls are made, but the FINAL | call is made. | This means that if an error is returned on a FIRST call, the UDF must clean | up before returning, because no FINAL call will be made. | If FINAL CALL is not specified for the scalar UDF, then only NORMAL calls are | made, and they cease if an error is returned. | Zudem sollte an dieser Stelle ein Listenpunkt 16 hinzugefügt werden: | The error processing model for table functions is defined in the "Table | Functions Considerations" section of this chapter. | 8.12 KEINE UNTERSTÜTZUNG FÜR GANZHEITLICHES COMPOUND-SQL | DB2 Connect unterstützt keine SELECT-Anweisungen, die LOB-Spalten in einem | Compound-SQL-Block auswählen. 8.13 ANDERE ÄNDERUNGEN AN DEM BUCH Die folgenden Änderungen am Handbuch "Embedded SQL Programming Guide" wurden in den Release-Informationen für FixPaks dokumentiert, die vor diesem Release veröffentlicht wurden. 8.13.1 ÄNDERUNGEN AN KAPITEL 1 In Kapitel 1 des Handbuchs "Embedded SQL Programming Guide" steht im ersten Absatz unter der Überschrift "DB2 Bind File Dump Tool-db2bfd" ein Verweis auf "Version 3". Dieser muß in "Version 5" geändert werden. 8.13.2 ÄNDERUNGEN AN KAPITEL 4 In Kapitel 4 weist der Abschnitt "Join Strategies in a Partitioned Database" mehrere Unterabschnitte auf, die Beispiele mit unterschiedlichen Verknüpfungsstrategien enthalten. Im gesamten Bildmaterial muß der Begriff "LINEITEMS" in "LINEITEM" geändert werden. Außerdem befindet sich im Unterabschnitt "Broadcast Inner-Table Joins" im gezeigten Beispiel falscher Text. Der Text muß richtig lauten: The LINEITEM table is sent to all database partitions that have the ORDERS table. Table queue q3 is broadcast to all database partitions of the outer table. 8.13.3 ÄNDERUNGEN AN KAPITEL 7 Die folgenden Änderungen betreffen Kapitel 7: o Abschnitt "OLE Automation UDFs in C++", am Ende des Abschnitts im folgenden Code: short indicator1, // input indicator short indicator2, // output indicator Änderung: short *indicator1, // input indicator short *indicator2, // output indicator o Im Abschnitt "Hints and Tips", Punkt 4, muß "reason code 21" in "reason code 34" geändert werden. o Die folgenden Änderungen betreffen den Abschnitt "The Arguments Passed from DB2 to a UDF": - Das SQL-Statusargument, der SQLSTATE-Wert 02001, muß wie folgt lauten: 02001 Only valid for the FETCH call to table functions, it means there are no more rows in the table. - Ersetzen Sie beim Argument dbinfo Listenpunkt "16. Table function column list (tfcolumn)" den ersten Absatz durch folgendes: If this is a table function, this field is a pointer to an array of short integers which is dynamically allocated by DB2. If this is a scalar function, this pointer is null. o Die folgenden Änderungen betreffen den Abschnitt "Using LOB Locators as Parameters or Results": - Zu der Abbildung, die die API-Deklaration enthält (Funktionskopf) und die den Titel "DB2 Lob Locator APIs defined in sqludf.h" trägt, wurden die Beschreibungen für die API-Parameter verbessert. Weitere Informationen finden Sie in der Datei "sqludf.h". - In diesem Abschnitt werden fünf APIs beschrieben. Unter der Beschreibung der Rückkehrcodes dieser APIs wird "other" als eine mögliche Angabe für jede API angegeben. Für jede API muß die Beschreibung "other" wie folgt geändert werden: other Invalid locator or other error (for example, memory error). The value that is returned for these cases is the SQLCODE corresponding to the error condition. For example, -423 means invalid locator. Please note that before returning to the UDF with one of these "other" codes, DB2 makes a judgement as to the severity of the error. For severe errors, DB2 remembers that the error occurred, and when the UDF returns to DB2, regardless of whether the UDF returns an error SQLSTATE to DB2, DB2 takes action appropriate for the error condition. For non-severe errors, DB2 forgets that the error has occurred, and leaves it up to the UDF to decide whether it can take corrective action, or return an error SQLSTATE to DB2. - Drei der fünf APIs enthalten den möglichen Rückkehrcode -1, der bedeutet, daß der an den Aufruf übergebene Querverweis bereits freigegeben wurde. Diese APIs übergeben den Rückkehrcode -1 nicht an die benutzerdefinierten Funktionen. Diese Bedingung wird als sonstiger ("other") Rückkehrcode mit SQLCODE -423 (ungültiger Querverweis) bearbeitet. - Unter Punkt 1, sqludf_length(), wurde der folgende zusätzliche Wert für Rückkehrcodes definiert: -3 Bad input value is provided to the API. This includes: - udfloc_p (address of locator) is zero - return_len_p (address of where to put length) is zero - Unter Punkt 2, sqludf_substr(), wurde der folgende zusätzliche Wert für Rückkehrcodes definiert: -3 Bad input value is provided to the API. This includes: - udfloc_p (address of locator) is zero - start is less than 1 - length is negative - buffer_p (buffer address) is zero - return_len_p (address of where to put length) is zero - Unter Punkt 3, sqludf_append(), wurde der folgende zusätzliche Wert für Rückkehrcodes definiert: -3 Bad input value is provided to the API. This includes: - udfloc_p (address of locator) is zero - length is negative - buffer_p (buffer address) is zero - Unter Punkt 4, sqludf_create_locator(), wurde der folgende zusätzliche Wert für Rückkehrcodes definiert: -3 Bad input value is provided to the API. This includes: - udfloc_p (address of locator) is zero - loc_type is not one of the three valid values - loc_p (address of where to put locator) is zero. - Unter Punkt 5, sqludf_free_locator(), wurde der folgende zusätzliche Wert für Rückkehrcodes definiert: -3 Bad input value is provided to the API. This includes: - udfloc_p (address of locator) is zero - Unter Punkt 3, sqludf_append(), müssen die folgenden Absätze vor der Beschreibung von Rückkehrcodes eingefügt werden: This API can be used to build very large LOB values in a piecemeal manner. In cases where a large number of appends is used to build a result, the performance of this task can be improved by: - allocating a large application control heap (APP_CTL_HEAP_SZ is the database manager configuration parameter) - doing fewer appends of larger buffers; for example, instead of doing 20 appends of 50 bytes each, doing a single 1000 byte append. SQL applications which build many large LOB values via the sqludf_append() API may encounter errors caused by limitations on the amount of disk space available. The chance of these errors happening can be reduced by: - using larger buffers for the individual appends - doing frequent COMMITs between statements - in cases where each row of a SELECT statement is building a LOB value via this API, using a CURSOR WITH HOLD and doing COMMITs between rows. - Unter Punkt 5, sqludf_free_locator(), ist der mit "Typically..." beginnende Absatz falsch. Ersetzen Sie ihn wie folgt: Use this API to free any locators that were created with the sqludf_create_locator() API, and which were used only for internal manipulation. It is NOT NECESSARY to free locators passed into the UDF. It is NOT NECESSARY to free any locator created by the UDF via sqludf_create_locator() if that locator is passed out of the UDF as an output. - Fügen Sie nach der Aufzählung der einzelnen APIs den folgenden Text ein: 1. A UDF which is defined to return a LOB locator has several possibilities available to it. It can return: a. an input locator passed to it b. an input locator passed to it which has been appended to via sqludf_append() c. a locator created to via sqludf_create_locator(), and appended to via sqludf_append(). 2. A table function can be defined as returning one or more LOB locators. Each of them can be any of the possibilities discussed in the preceding item. It is also valid for such a table function to return the same locator as an output for several table function columns. 3. A LOB locator passed to a table function as an input argument remains alive for the entire duration of the row generation process. In fact, the table function can append to a LOB using such a LOB locator while generating one row, and see the appended bytes on a subsequent row. 4. The internal control mechanisms used to represent a LOB which originated in DB2 as a LOB locator output from a UDF (table or scalar function), take 1950 bytes. For this reason, and because there are limitations on the size of a row which is input to a sort, a query which attempts to sort multiple such LOBs which originated as UDF LOB locators will be limited to (at most) two such values per row, depending on the sizes of the other columns involved. The same limitation applies to rows being inserted into a table. 8.13.4 ÄNDERUNGEN IN KAPITEL 9 In Kapitel 9 im Abschnitt "Accessing DRDA Servers" muß der zweite Absatz unter Punkt 1 wie folgt lauten: For IBM products, consult the IBM SQL Reference, Version 5.2 (S10J-8165), before you start coding. 8.13.5 ÄNDERUNGEN IN KAPITEL 15 Die folgenden Änderungen betreffen Kapitel 15: o Im Buch steht, daß in Java-Klassen der Benutzer die angebotenen Schnittstellen implementiert werden sollen. Da die im Verzeichnis "sqllib/java/db2java.zip" enthaltene Java-Bibliothek aber Klassen enthält, müssen die Benutzerklassen um Java-Klassen des gleichen Namens erweitert werden. Folgende Stellen müssen geändert werden: class ... implements COM.ibm.db2.app.UDF { ... } Änderung: class ... extends COM.ibm.db2.app.UDF { ... } Dasselbe gilt für "COM.ibm.db2.app.StoredProc". o Im Buch steht, daß neue LOB-Werte von UDFs und gespeicherten Prozeduren erzeugt werden können, indem die folgenden Klassen/Routinen eingesetzt werden: COM.ibm.db2.app.Blob public static Blob new() throws Exception; COM.ibm.db2.app.Clob public static Clob new() throws Exception; Diese werden umbenannt und als folgende Funktionen in die neue Klasse COM.ibm.db2.app.Lob versetzt: COM.ibm.db2.app.Lob public static Blob newBlob() throws Exception; COM.ibm.db2.app.Lob public static Clob newClob() throws Exception; o Die Tabelle zur Abgleichung der Java-Typen enthält die folgenden Zuordnungen: SQL Type Java Type (UDF) Java Type (Stored Procedure) LONG VARCHAR Clob Clob LONG VARGRAPHIC Clob Clob Änderung: LONG VARCHAR String String LONG VARGRAPHIC String String Die folgenden Informationen müssen im Abschnitt "Java UDFs and Stored Procedures" nach dem zweiten Absatz eingefügt werden: When creating a stored procedure in the Java language, you must use the CREATE PROCEDURE statement to register the procedure to the system catalog table SYSCAT.PROCEDURES. For more information, refer to the section on the CREATE PROCEDURE statement in the SQL Reference. Für die Java-Unterstützung von benutzerdefinierten Funktionen/gespeicherten Prozeduren bestehen folgende Einschränkungen: Auf einem Datenbank-Server mit gemischten Zeichenumsetztabellen können benutzerdefinierte Java-Funktionen und gespeicherte Java-Funktionen Argumente des Typs CLOB nicht verwenden, da der wahlfreie Zugriff für große Zeichenfolgen gemischter Zeichenumsetztabellen noch nicht implementiert wurde. Die vollständige Unterstützung für alle LOB-Typen ist für SBCS-Datenbanken vorgesehen. Für gemischte Datenbanken ist die Unterstützung für die Typen BLOB und DBCLOB vorgesehen. Als Umgehung müssen Anwendungen, die auf einem gemischten Datenbanksystem ausgeführt werden, die Argumente CLOB in die Typen DBCLOB, LONG VARGRAPH oder LONG VARCHAR umsetzen. Bei benutzerdefinierten Funktionen kann dies mit dem Operator CAST erfolgen. In Anhang B müssen die Verweise auf die Beispielprogramme (in Tabelle 24) zu loblocud, db2uext2 und autoloader entfernt werden. Weitere Informationen finden Sie unter "Änderungen an Beispielprogrammen" sowie unter 8.13.6 "Weitere Dateiänderungen". Im Index wurde java_heap_sz fälschlicherweise als java_heap_size aufgeführt. 8.13.6 ÄNDERUNGEN AN BEISPIELPROGRAMMEN Für verschiedene Sprachen wurden auf den folgenden Plattformen Änderungen an Beispielprogrammen vorgenommen: AIX, HP-UX, OS/2, Solaris, Windows NT und Windows 95. Die Änderungen sollen einige Codefehler beheben, damit API-Aufrufe aus Programmen heraus besser eingesetzt werden. Einige Programme wurden als generische Programme für alle Plattformen geschrieben: Bisher waren diese nur auf spezifischen Plattformen verfügbar (zum Beispiel 'makeapi.sqc'). Außerdem wurde die Schnittstelle für einige Programme verbessert, damit diese den Benutzer besser durch die Programmeingaben führen und eine informativere Ausgabe erzeugen. In vielen redundanten Dateien wurde Inhalt gelöscht und durch den Kommentar "This file is not needed" ersetzt. In Fällen, in denen eine neue Datei die Funktionalität der redundanten Datei bietet, wurde ebenfalls ein Verweis darauf eingefügt. Im folgenden finden Sie eine Liste der aktualisierten Dateien. Jeder Eintrag enthält den Namen der Datei, deren Sprache und die Plattformen, für die sie geändert wurde. In Fällen, in denen dieselbe Datei für mehrere Sprachen geändert wurde, wird ein Dateiname mit mehreren Erweiterungen angegeben, zum Beispiel "dbconf.c/.cbl/.f/.for". "COBOL" bezieht sich auf IBM und auf Micro Focus COBOL, es sei denn, es ist anders angegeben. "All platforms" bezieht sich nur auf die folgenden Plattformen: AIX, HP-UX, OS/2, Solaris, Windows NT und Windows 95. In einigen Situationen ist eine Datei möglicherweise auf einer bestimmten Plattform nicht verfügbar; sollten Sie sich nicht sicher sein, sehen Sie in der Informationsdatei (README) nach, die sich im entsprechenden Verzeichnis für die Beispiele befindet. Der Dateieintrag enthält außerdem einen Kommentar, der die Art der Änderung beschreibt. Die Änderungen lauten wie folgt: adhoc.sqc C for all platforms Fixed memory leak and improved user interface. blobfile.cmd REXX on AIX, OS/2, and Windows NT The correct file version is now available for OS/2. dbconf.c/.cbl/.f/.for C, COBOL, FORTRAN for all platforms. Fixed 'version' parameter error in API call. Improved the user interface. Recoded Micro Focus COBOL version to make it generic for all platforms. d_dbconf.cbl Micro Focus COBOL for all platforms. Recoded to make generic for all platforms. d_dbmcon.cbl Micro Focus COBOL for all platforms. Recoded to make generic for all platforms. da_manip.h/.sqc C for all platforms Redundant files: contents deleted. dbcat.f/.for FORTRAN for all platforms Fixed 'version' parameter error in API call. dbmconf.cbl/.cmd Micro Focus COBOL for all platforms and REXX on AIX, Windows NT, and OS/2 Recoded Micro Focus COBOL version to make it generic for all platforms. The correct REXX version is now available for OS/2. dbinst.for FORTRAN for OS/2 Improved user interface. dbsnap.cbl IBM COBOL for all platforms Fixed 'version' parameter error in API call. dbstat.sqb Micro Focus COBOL for all platforms Fixed 'version' parameter error in API call. db_udcs.for FORTRAN for OS/2 This program is now available for OS/2 FORTRAN. ebcdicdb.for FORTRAN for OS/2 This program is now available for OS/2 FORTRAN. fillcli.sqc C for all platforms This is a client program; the server program is fillsrv.sqc. These programs have been extensively rewritten, combining the functionality of the supporting programs da_manip, system, and tabinfo (which are now redundant). The use of APIs, demonstration of SQLDA structures, and user interface have all been improved. fillsrv.sqc C for all platforms This is a server program; the client program is fillcli.sqc (see that entry for more information). inpsrv.def Micro Focus on OS/2 Redundant file: contents deleted, as compiler does not need definition file for stored procedures. inpcli.old C for all platforms Redundant file: contents deleted. inpsrv.old C for all platforms Redundant file: contents deleted. largevol.sqc C for all platforms This program is AIX-specific: file contents were deleted on the HP-UX, OS/2, Solaris, Windows NT, and Windows 95 platforms. lobeval.cmd REXX on AIX, Windows NT and OS/2 The correct version is now available for OS/2. makeapi.sqc C for all platforms This replaces the specific program files for AIX and OS/2 with a generic program file that is now available for all platforms. monreset.f/.for FORTRAN program for all platforms Fixed 'version' parameter error in API call. monsz.cbl IBM COBOL for all platforms Fixed 'version' parameter error in API call. outsrv.def Micro Focus COBOL on OS/2. Redundant file: contents deleted, as compiler does not need definition file for stored procedures. inpcli.old C for all platforms Redundant file: contents deleted. inpsrv.old C for all platforms Redundant file: contents deleted. qload.sqb/.sqf/.sqc COBOL, FORTRAN, and C for all platforms Improved interface provides more information and eliminates extraneous 'load file' error. rechist.c/.sqc C for all platforms The non-embedded SQL program rechist.c has been replaced by the embedded SQL program rechist.sqc. The new file corrects a database connect error that occurred with rechist.c. sws.cbl IBM COBOL for all platforms Fixed 'version' parameter error in API call. system.c/.h C for all platforms Redundant files: contents deleted. tabinfo.c/.h C for all platforms Redundant files: contents deleted. tabspace.sqb/.sqf COBOL and FORTRAN for all platforms Improves use of APIs to now demonstrate multiple table spaces. tblsrv.c C for all platforms Corrected error in API call to shared library. 8.13.7 WEITERE DATEIÄNDERUNGEN Die Makefiles wurden, wenn nötig, aktualisiert, so daß sie die im vorherigen Abschnitt beschriebenen Änderungen widerspiegeln. Beispielsweise erstellt die C-Makefile die Objektdateien da_manip.obj, system.obj und tabinfo.obj für die gespeicherte Prozedur fillsrv nicht mehr und stellt auch keine Verbindungen zu diesen Dateien mehr her. Die OS/2-Befehlsdateien für IBM COBOL und FORTRAN und deren entsprechende Makefiles verwenden nun eine Stapelspeichergröße von 64000: Die Bindeoption für Stapelspeicher von COBOL lautet nun "/ST:64000" und für FORTRAN "stack=64000". Es stellte sich heraus, daß für einige der gespeicherten Prozeduren ein größerer Stapelspeicher erforderlich war, damit diese korrekt ausgeführt werden. Die Befehls- bzw. Stapeldatei wurde wie folgt geändert: BLDF32.CMD FORTRAN für OS/2 Redundante Datei: Inhalt gelöscht. EMBPREP.BAT COBOL für Windows NT und Windows 95 Die richtige Version dieser Datei steht nun zur Verfügung. 9.0 INSTALLIEREN, EINRICHTEN UND BETREIBEN VON DB2-CLIENTS 9.1 KONFIGURIEREN DER DATENFERNVERARBEITUNG ZWISCHEN DEM CLIENT UND DEM SERVER MIT "CLIENT-KONFIGURATION - UNTERSTÜTZUNG" Falls sich der Client in einem anderen Token-Ring befindet als der Server, wird ein fernes System möglicherweise nicht erkannt. Damit die Discovery-Funktion funktioniert, müssen das ferne System und das System, das die Discovery-Anforderung einleitet, sich in demselben Token-Ring befinden. Der TCP/IP-Host-Name, der von der Discovery-Funktion (SEARCH) an einen Client zurückgegeben wird, entspricht dem Host-Namen, der vom DB2-Server-System zurückgegeben wird, wenn der TCP/IP-Befehl hostname abgesetzt wird. Auf dem Client wird die IP-Adresse, der dieser Host-Name zugeordnet ist, entweder vom TCP/IP-Domänennamens-Server (DNS) auf der Client-Maschine oder anhand eines Eintrags in der Datei "hosts" des Clients bestimmt (falls DNS nicht konfiguriert ist). Wenn auf dem DB2-Server-System mehrere Adapterkarten konfiguriert sind, muß TCP/IP auf dem Server so konfiguriert sein, daß nach dem Absetzen des Befehls hostname der richtige Host-Name zurückgegeben wird und daß die Datei "hosts" des DNS oder des lokalen Clients auf dem Client die Zuordnung des Host-Namens zur gewünschten IP-Adresse herstellt. 10.0 FEHLERNACHRICHTEN 10.1 FEHLER IN DER BESCHREIBUNG VON DBI1768W Im Abschnitt "Massnahme" muß "sqllib/profile" durch "sqllib/db2profile" ersetzt werden. 10.2 GEÄNDERTE/ZUSÄTZLICHE URSACHENCODES FÜR SQL0270N Der folgende Ursachencode für die Nachricht SQL0270N wurde geändert: Unter "Ursache": 23 REPLICATED kann nur für eine Übersichtstabelle angegeben werden. Unter "Massnahme": 23 Entweder Sie entfernen die Angabe REPLICATED, oder Sie stellen sicher, daß CREATE TABLE in einer Definition einer Übersichtstabelle angegeben ist. Der Nachricht SQL0270N wurden die folgenden Ursachencodes hinzugefügt: Unter "Ursache": 30 Typisierte Tabellen und Sichten können in der Anweisung CREATE SCHEMA nicht definiert werden. 31 Ein Partitionierungsschlüssel kann höchstens mit 500 Spalten definiert werden. Unter "Massnahme": 30 Setzen Sie die Anweisung CREATE für die typisierte Sicht oder Tabelle außerhalb der Anweisung CREATE SCHEMA ab. 31 Reduzieren Sie die Anzahl der Spalten im Partitionierungsschlüssel. 10.3 NEUE BESCHREIBUNG FÜR SQL0351N Nachricht: LOB- oder DATALINK-Daten in der Position "" der SELECT-Liste können nicht über das Protokoll DRDA gesendet werden. Ursache: LOB- oder DATALINK-Daten oder einzigartige Datentypen, die auf LOB- oder DATALINK-Daten basieren, können nicht mit dem Protokoll DRDA übertragen werden. "" steht für die Position des Elements mit einem LOB- oder DATALINK-Datentyp in der SELECT-Liste. Die Anweisung kann nicht verarbeitet werden. Massnahme: Stellen Sie sicher, daß LOB- oder DATALINK-Daten nicht geladen werden, wenn DRDA verwendet wird. Dazu müssen Sie die Daten aus der SELECT-Liste ausschließen. Versuchen Sie, für LOB-Daten kleinere Teile des Werts auszuwählen, indem Sie die Funktion CHAR(SUBSTR(CLOB)) verwenden. Versuchen Sie, für DATALINK-Daten eine Funktion wie DURLCOMPLETE zu verwenden. sqlcode: -351 sqlstate: 56084 10.4 NEUE BESCHREIBUNG FÜR SQL0352N Nachricht: LOB- oder DATALINK-Daten in der Position "" der Eingabeliste können nicht über das Protokoll DRDA gesendet werden. Ursache: LOB- oder DATALINK-Daten können nicht mit dem Protokoll DRDA übertragen werden. "" steht für die Position des Elements mit einem DATALINK- Datentyp in der Eingabeliste. Die Anweisung kann nicht verarbeitet werden. Massnahme: Stellen Sie sicher, daß LOB- oder DATALINK-Daten nicht gesendet werden, wenn DRDA verwendet wird. Dazu müssen Sie die Daten aus der Eingabeliste ausschließen. Oder Sie können versuchen, indirekt einen Wert zu erzeugen, indem Sie die Funktion DLVALUE verwenden. sqlcode: -352 sqlstate: 56084 10.5 NEUE BESCHREIBUNG FÜR SQL0357N Nachricht: DB2 File Manager "" ist momentan nicht verfügbar. Ursachencode = "". Ursache: Ein Verweis auf einen DATALINK-Wert macht den Zugriff auf DB2 File Manager "" erforderlich. DB2 File Manager ist, wie durch den Ursachencode angezeigt, momentan nicht verfügbar. 01 DB2 File Manager in einem DATALINK-Wert ist nicht verfügbar. 02 Der Datenbank-Server, das Exemplar oder die Datenbank, von dem bzw. von der aus die Operation versucht wurde, ist nicht mit DB2 File Manager in einem DATALINK-Wert registriert. 03 Ein Wiederanlauf der Wiederherstellung steht an oder wird gerade für DB2 File Manager ausgeführt. 04 DB2 File Manager in einem DATALINK-Wert ist zwar für die Datenbank registriert, ist jedoch ein unbekannter Server. 05 Während des Datenaustauschs mit DB2 File Manager trat in einem DATALINK-Wert ein Fehler auf. Die Anweisung kann nicht verarbeitet werden. Massnahme: Die Maßnahme hängt, wie im folgenden aufgeführt, vom jeweiligen Ursachencode ab. 01 DB2 File Manager oder eine Datenverbindung ist möglicherweise nicht aktiv. Warten Sie eine gewisse Zeit, und starten Sie einen neuen Versuch, oder klären Sie mit einem Systemadministrator für DB2 File Manager den Fehler ab. Wenn der Fehler weiterhin besteht, trennen Sie die Anwendung von der Datenbank, und versuchen Sie es nach der Wiederherstellung der Verbindung erneut. 02 Registrieren Sie den Datenbank-Server, das Exemplar oder die Datenbank mit DB2 File Manager. 03 Warten Sie bis der Wiederanlauf der Wiederherstellung für DB2 File Manager abgeschlossen ist. Wenn der Fehler weiterhin besteht, prüfen Sie, ob die oben für Ursachencode 02 erwähnte Registrierung ausgeführt worden ist. Möglicherweise verursacht die fehlende Registrierung das Fehlschlagen des Wiederanlaufens der Wiederherstellung. 04 Prüfen Sie, ob der für die Datenbank konfigurierte DB2 File Manager im Netzwerk verfügbar ist. 05 Prüfen Sie, ob DB2 File Manager und die Datenaustauschverbindung funktionieren. Wenn der Fehler weiterhin besteht, trennen Sie die Anwendung von der Datenbank, und versuchen Sie es nach der Wiederherstellung der Verbindung erneut. sqlcode: -357 sqlstate: 57050 10.6 NEUE BESCHREIBUNG FÜR SQL0432N Die Beschreibung für SQL0432N wurde geändert. Sie enthält denselben Fehler für Verweisarten: Nachricht: Eine Parametermarke kann nicht den benutzerdefinierten Datentypnamen oder den Verweiszieldatentypnamen "" haben. Ursache: Eine Parametermarke in der Anweisung wurde als benutzerdefinierter Datentyp "" oder, je nach Kontext, in dem sie verwendet wird, als Verweisart mit der Zielart "" festgelegt. Eine Parametermarke darf als Datentyp keinen benutzerdefinierten Datentyp und keine Verweisart aufweisen, es sei denn, sie ist Bestandteil einer Zuordnung (Klausel VALUES der Anweisung INSERT oder Klausel SET der Anweisung UPDATE), oder sie wird mit der Spezifikation CAST explizit in einen einzigartigen, benutzerdefinierten Datentyp oder in eine Verweisart umgesetzt. Die Anweisung kann nicht verarbeitet werden. Massnahme: Setzen Sie den Datentyp explizit in den einzigartigen, benutzerdefinierten Datentyp oder eine Verweisart für die Parametermarke um. Als Alternative können Sie die Spalten mit einzigartigen, benutzerdefinierten Datentypen in ihre entsprechenden Quelldatentypen umsetzen oder Spalten mit Verweisarten in ihren entsprechenden Darstellungsdatentyp umsetzen. sqlcode: -432 sqlstate: 42841 Der Text für SQLSTATE 42841 wurde wie folgt geändert: 42841 Eine Parametermarke kann kein benutzerdefinierter Datentyp und keine Verweisart sein. 10.7 NEUE BESCHREIBUNG FÜR SQL0680N Geänderte Ursache: Die Höchstzahl der pro Tabelle zulässigen Spalten basiert auf der Seitengröße des Tabellenbereichs. Für Tabellen gelten folgende Beschränkungen: o 4-KB-Seitengröße für 500 Spalten o 8-KB-Seitengröße für 1012 Spalten Die Anzahl von Spalten überschreitet möglicherweise die zulässige Anzahl in einer temporären Tabelle, wobei alle temporären Tabellenbereiche zur Verarbeitung der Anweisung verfügbar sind. Neue Maßnahme: Wenn der Fehler während der Verarbeitung einer Abfrage auftritt, erstellen Sie einen temporären Tabellenbereich mit der größten unterstützten Seitengröße, falls ein solcher nicht bereits vorhanden ist. Sollte jedoch bereits ein Tabellenbereich vorhanden sein, entfernen Sie eine oder mehrere Spalten aus der temporären Tabelle. 10.8 ZUSÄTZLICHER URSACHENCODE FÜR SQL0903N Der Ursachencode 3 für die Nachricht SQL0903N wurde wie folgt geändert: 3. Einer der DB2 File Manager, die an der Arbeitseinheit teilgenommen haben, konnte die Festschreibung nicht vorbereiten. 10.9 ZUSÄTZLICHER URSACHENCODE FÜR SQL0911N Die Nachricht SQL0911N erhält einen neuen Ursachencode: 72. Die Transaktion wurde aufgrund eines Fehlers rückgängig gemacht, der einen an der Transaktion beteiligten DB2 File Manager betrifft. 10.10 NEUE BESCHREIBUNG FÜR SQL1339N Dem Abschnitt "Ursache" wurden die folgenden Informationen hinzugefügt: Für CLI/ODBC-Anwendungen werden Fehler-Tokens nicht zurückgegeben. CLI/ODBC-Anwendungen können die APIs SQLGetDiagRec, SQLGetDiagField, oder SQLError verwenden, um weitere Informationen zu den einzelnen Fehlern zu erhalten. 10.11 SQL5048N ODER SQL0901N BEI VERWENDUNG DER UNTERSTÜTZUNG ZUR KENNWORTÄNDERUNG Wenn die Nachricht SQL5048N oder SQL0901N ausgegeben wird und die Unterstützung der Kennwortänderung für DB2 Version 5.2 verwendet wird, ist die folgende Fehlerursache am wahrscheinlichsten: Der Release-Stand des Datenbank-Clients wird vom Release-Stand des Datenbank-Servers nicht unterstützt. Diese Nachrichten können von den Anforderungen CONNECT oder ATTACH zurückgegeben werden, für die ein neues Kennwort angegeben wurde und AUTHENTICATION=CLIENT verwendet wird. Wenn dies zutrifft, überprüfen Sie, ob der Katalogeintrag der lokalen Datenbank für den benannten Aliasnamen der Datenbank nicht AUTHENTICATION=SERVER lautet. Wenn die genannten Fehler von einer Anforderung CONNECT oder ATTACH mit einem neuen Kennwort für eine DB2-Server-Plattform der Version 2 oder DDCS Version 2 Mehrbenutzer-Gateway zurückgegeben werden, muß der Katalogeintrag für den Aliasnamen der lokalen Datenbank AUTHENTICATION=CLIENT lauten. | 10.12 NEUE NACHRICHT SQL5156N: WERT DES KONFIGURATIONSPARAMETERS DES | DATENBANKMANAGERS TRUST_ALLCLNTS | SQL5156N Für den Konfigurationsparameter "trust_allclnts" des | Datenbankmanagers sind nur die Werte NO, YES oder DRDAONLY zulässig. | Ursache: Für den Konfigurationsparameter "trust_allclnts" sind folgende | Werte zulässig: | 1. NO = 0 | 2. YES = 1 | 3. DRDAONLY = 2 | Die angeforderte Änderung wurde nicht vorgenommen. | Action: Wiederholen Sie den Befehl mit einem gültigen Wert für | "trust_allclnts". 10.13 ZUSÄTZLICHER URSACHENCODE FÜR SQL20053N Der Nachricht SQL20053N wurde der folgende Ursachencode hinzugefügt: Unter "Ursache": 6. Innerhalb einer Hierarchie mit typisierten Sichten muß die Tabelle oder Sicht in der Klausel FROM jeder untergeordneten Sicht OUTER verwenden, wenn eine der untergeordneten Sichten OUTER verwendet. Unter "Massnahme": 6. Wenn dies die erste untergeordnete Sicht mit OUTER ist, ändern Sie die Klausel FROM so, daß OUTER nicht verwendet wird. Wenn die übergeordnete Sicht OUTER verwendet, fügen Sie in die Klausel FROM der untergeordneten Sicht OUTER ein. 10.14 NEUER NACHRICHTENTEXT FÜR SQL20056N Der aktualisierte Nachrichtentext für SQL20056N lautet wie folgt: Die Verarbeitung auf DB2 File Manager "" stellte einen Fehler fest: Ursachencode = ""; zusätzliche Diagnose- informationen "". HINWEIS: Zur Zeit wird "" immer auf "UNKNOWN" gesetzt. 10.15 ZUSÄTZLICHER URSACHENCODE FÜR SQL30083N Für den Fall einer ungültigen Eingabe eines Benutzernamens oder Kennworts wurde der Nachricht SQL30083N der folgende Ursachencode für die Unterstützung der Kennwortänderung hinzugefügt: Unter "Ursache": 24. Der Benutzername und/oder das Kennwort ist ungültig. Dies wird zurückgegeben, wenn wegen Fehlern aufgrund des Benutzernamens oder ursprünglichen Kennworts eine Kennwortänderung fehlschlägt. 11.0 EINSTIEG/QUICK BEGINNINGS 11.1 INSTALLIEREN VON DB2 AUF NEC PC98 UNTER WINDOWS 95 Wenn Sie DB2 mit der Dokumentation auf einem NEC PC98 auf dem Betriebssystem Windows 95 installieren, stoppt das Installationsprogramm bei 96%. Sie schließen die Installation wie folgt ab: 1. Beenden Sie den Prozeß IMQCRINS.EXE. Drücken Sie dazu die Tastenkombination , damit der Task-Manager geöffnet wird. Wählen Sie den Prozeß IMQCRINS aus, und klicken Sie den Druckknopf "Task beenden" an. 2. Nachdem die Installation abgeschlossen ist, starten Sie das System neu. 11.2 ENTFERNEN DER INSTALLATION VON DB2 AUF NEC PC98 UNTER WINDOWS 95 Wenn DB2 mit der Dokumentation auf einem NEC PC98 auf dem Betriebssystem Windows 95 installiert ist, stoppt das Entfernen der Installation vor dem Abschluß. Sie schließen das Entfernen der Installation wie folgt ab: 1. Beenden Sie den Prozeß UNINSTNQ.EXE. Drücken Sie dazu die Tastenkombination , damit der Task-Manager geöffnet wird. Wählen Sie den Prozeß UNINSTNQ aus, und klicken Sie den Druckknopf "Task beenden" an. 2. Löschen Sie das Verzeichnis imnnq_95 auf dem Laufwerk, auf dem DB2 installiert wurde. 11.3 PLANUNG DER INSTALLATION 11.3.1 SOFTWAREANFORDERUNGEN/SERVER-PRODUKTANFORDERUNGEN Da HP keine Unterstützung für NETWARE-Produkte bietet, wird IPX/SPX unter HP-UX Version 11.0 nicht unterstützt. 11.3.2 CIENT-PRODUKTANFORDERUNGEN/SOFTWAREANFORDERUNGEN FÜR OS/2-CLIENTS PTF (Program Temporary Fix - vorläufige Programmkorrektur) 3 für ADSTAR Distributed Storage Manager (ADSM) Version 3 ist für DB2 auf einem OS/2-Client erforderlich. 11.3.3 DB2 FOR AS/400-SNA-VERBINDUNGEN ZU DB2 UNIVERSAL DATABASE FÜR AIX, OS/2 UND WINDOWS NT) Die zweiphasige Festschreibung mit SNA wird für die Verbindung von DB2 for AS/400 zu DB2 Universal Database Version 5.2 für AIX nicht unterstützt. Sie wird jedoch für die Verbindung von DB2 for AS/400 zu DB2 Universal Database Version 5.2 für OS/2 und Windows NT unterstützt. | 11.3.4 TP-NAME MUSS FÜR DB2-EXEMPLARE AUF DERSELBEN MASCHINE EINDEUTIG SEIN | Der TP-Name muß zwischen DB2-Exemplaren, die sich auf derselben Maschine | befinden, eindeutig sein. Ist dies nicht der Fall, und mehrere DB2-Exemplare | haben denselben TP-Namen, ordnen sowohl APPC als auch TCP/IP die erste | Verbindung dem richtigen DB2-Exemplar und die zweite Verbindung dem | falschen DB2-Exemplar zu. 11.3.5 SOFTWAREVORAUSSETZUNGEN/DB2 FOR OS/390, EMPFOHLENE BERICHTIGUNGEN Wenn Sie auf einen DB2 Universal Database-Server von einem DB2 for OS/390-Host zugreifen wollen, sind die folgenden PTFs für DB2 for OS/390 erforderlich: o PTF UQ06843 für APAR PQ05771 o PTF UQ09146 für APAR PQ07537 11.4 ERSTE SCHRITTE MIT DB2 UNIVERSAL DATABASE (KENNWORTÄNDERUNG) Die Änderung eines Kennworts auf einem DB2-Server von einem DB2-Client aus ist auf die folgenden DB2-Server beschränkt: o DB2 for OS/390 Version 5 oder eine höhere Version o DB2 Universal Database für AIX Version 5.2 o DB2 Universal Database für OS/2 Version 5.2 o DB2 Universal Database für Windows NT Version 5.2 11.5 ERSTE SCHRITTE MIT DB2 UNIVERSAL DATABASE (ZÄHLEN GLEICHZEITIG ANGEMELDETER BENUTZER UNTER AIX) In Kapitel 15 des Handbuchs "Einstieg für UNIX" wird das Nodelock-Verwaltungsprogramm (Nodelock Administration Tool - NAT) behandelt. Dieses ist ein Bestandteil von License Use Management Administration Runtime Kit (LUM ARK). Zur Zählung gleichzeitig angemeldeter Benutzer unter AIX muß LUM ARK zusammen mit NAT auf dem System installiert sein. In einigen Versionen von LUM ARK ist NAT eine wahlfreie Dateigruppe. Weitere Informationen finden Sie in der Dokumentation zu LUM. Sie können auch die folgende WWW-Site für IBM License Use Management Web besuchen: http://www.software.ibm.com/is/lum Von dort können Sie die aktuellsten Versionen von LUM ARK und zugehörige Veröffentlichungen herunterladen. LUM ARK befindet sich auch auf der CD mit DB2 im Verzeichnis /cdrom/LUM. 11.6 ARBEITEN MIT EXEMPLAREN (HINZUFÜGEN EINES DATENBANKPARTITIONS-SERVERS ZU EINEM EXEMPLAR, VERWENDEN VON DB2 EXTENDED ENTERPRISE EDITION FÜR WINDOWS NT/ERFORDERLICHE DOMÄNENBENUTZER-ID FÜR DEN EINSATZ EINER UNFORMATIERTEN EINHEIT) Im Handbuch "Quick Beginnings for DB2 Extended Enterprise Edition for Windows NT" steht, daß der Domänenbenutzername erforderlich ist, um einen Datenbankpartititions-Server einzurichten, und daß dieser zur Anmeldung benutzt wird, wenn DB2 als Windows NT-Dienst gestartet wird. Hinweis: Wenn unformatierte Einheiten verwendet werden, muß dem Domänenbenutzernamen auch die lokale Administratorberechtigung zugeordnet sein. Andernfalls kann der Benutzer nicht auf die unformatierte Einheit zugreifen. | 11.7 DB2START GIBT UNTER WINDOWS NT KEINE KORREKTE FEHLERNACHRICHT ZURÜCK | Wenn der Befehl "db2start" (oder der Befehl "NET START") ausgeführt wird, | um den Datenbankmanager in einer Windows NT-Umgebung zu starten, gibt der | Befehl keine Warnungen zurück, wenn ein DFV-Subsystem nicht gestartet | werden konnte. Der Benutzer sollte daher immer im Ereignisprotokoll | von NT oder in der Datei "DB2DIAG.LOG" nach Fehlern suchen, die | möglicherweise während der Ausführung von "db2start" aufgetreten sind. | Dieses Problem tritt auf, da der Datenbankmanager unter Windows NT als | NT-Dienst implementiert wird und daher keinen Fehler zurückgibt, wenn | der Dienst erfolgreich gestartet wurde. 11.8 UMSTELLEN VON VORGÄNGERVERSIONEN UND -RELEASES Infolge von Optimierungen kann sich der Plan für eine beliebige Abfrage ändern, wenn sie erneut gebunden wird. Obwohl alle Vorkehrungen getroffen wurden, daß der geänderte Plan mindestens so gut ist wie der von der Vorgängerversion ausgewählte Plan, übernimmt IBM dafür keine Gewähr, denn bestimmte Änderungen können zur Auswahl eines anderen Plans führen. Es ist nicht möglich die unendliche Anzahl von Szenarios zu testen, die von einem Benutzer erzeugt werden können. Für den Fall, daß kritische Abfragen erneut an einen neuen Plan gebunden werden, sollten Sie für alle diese Abfragen EXPLAIN ausführen, bevor Sie Versionen umstellen. Nachdem dies erfolgt ist, sind der Plan und die Konfigurationsparameter, auf denen er (unter dem alten Release) basiert, bekannt. Dadurch kann der Benutzer wiederum die Ursache aller Unterschiede unter der neuen Version leichter feststellen und die Bedingungen für den alten Plan gegebenenfalls wiederherstellen. | 11.9 ERWEITERN VON DB2 RELEASE 5.0 AUF RELEASE 5.2 | Die folgenden Informationen zu dem Befehl "db2upd52" müssen den folgenden | Handbüchern Einstieg/Quick Beginnings, die für DB2 Version 5.2 nicht | aktualisiert wurden, hinzugefügt werden: | DB2 Extended Enterprise Edition for UNIX Quick Beginnings | DB2 Personal Edition Einstieg | DB2 für OS/2 Einstieg | DB2 für Windows NT Einstieg | AKTUALISIERUNG DER TABELLENDATEN +------------+--------------------------------------------------------------+ | | | Sie müssen nur den Befehl DB2UPD52 ausführen, wenn Sie von | | | | DB2 Version 5 auf Version 5.2 aktualisieren. Wenn Sie von | | | | DB2 Version 2 auf Version 5.2 aktualisieren, werden bei der | | | | Datenbankmigration die Datentypen und das Schema SYSFUN | | | | aktualisiert. | +------------+--------------------------------------------------------------+ | Bei DB2 Version 5.2 enthält die Katalogtabelle SYSIBM.SYSDATATYPES den neuen | Datentyp "BIGINT" sowie weitere zugehörige Funktionen im Schema SYSFUN. Damit | diese neuen Funktionen unterstützt werden, empfehlen wir, daß der Befehl | DB2UPD52 für jede Datenbank ausgeführt wird, deren Eigner ein DB2-Exemplar | ist, das auf Version 5.2 erweitert wird. Der Befehl fügt die neuen | SYSFUN-Funktionskennungen hinzu, die den Datentyp "BIGINT" folgendermaßen | unterstützen: | o "SYSIBM.BIGINT" wird zur Katalogtabelle SYSIBM.SYSDATATYPES hinzugefügt. | o Die folgenden Funktionskennungen werden der Tabelle SYSIBM.SYSFUNCTIONS | hinzugefügt: | create function sysfun.abs(bigint) returns bigint ... | create function sysfun.absval(bigint) returns bigint ... | create function sysfun.ceil(bigint) returns bigint ... | create function sysfun.ceiling(bigint) returns bigint ... | create function sysfun.floor(bigint) returns bigint ... | create function sysfun.mod(bigint,bigint) returns bigint ... | create function sysfun.power(bigint,bigint) returns bigint ... | create function sysfun.round(bigint,integer) returns bigint ... | create function sysfun.sign(bigint) returns bigint ... | create function sysfun.trunc(bigint,integer) returns bigint ... | create function sysfun.truncate(bigint,integer) returns bigint ... | Der Befehl DB2UPD52 fügt zudem der Katalogtabelle SYSIBM.SYSDATATYPES den | Datentyp "REAL" hinzu und der Tabelle SYSIBM.SYSFUNCTIONS die | Funktionskennung UCASE (SYSFUN.UCASE) hinzu, falls noch nicht vorhanden. | Informationen zur Syntax des Befehls DB2UPD52 finden Sie im Handbuch | "Command Reference". | Weitere Informationen zum Befehl "db2upd52" finden Sie im Handbuch | "DB2 Universal Database für UNIX Einstieg", Version 5.2 im Kapitel | 6, "Erweitern von DB2 Release 5.0 auf Release 5.2". | 11.10 DB2-TREIBERPROBLEM UNTER LOTUS DOMINO GO WEBSERVER | Wenn Sie das Produkt Lotus Domino Go Webserver verwenden, und die folgende | Fehlernachricht angezeigt wird: | java.sql.SQLException: DB2 Driver error allocating environment handle, rc=-1 | Starten Sie den Web-Server erneut, und geben Sie den Namen des DB2-Exemplars | (db2instance) folgendermaßen an: | startsrc -e "DB2INSTANCE=name-ihres-exemplars" -s httpd | Stellen Sie zudem sicher, daß CLASSPATH und LD_LIBRARY_PATH in der | Datei "httpd.conf" korrekt gesetzt sind. Verwenden Sie hierzu die | Anweisung "JavaClassPath" bzw. "JavaLibPath"). Stellen Sie sicher, | daß sie auf die entsprechenden Dateien von UDB Version 5.2 zeigen. 10.11 AUSFÜHREN EIGENER ANWENDUNGEN (AUSFÜHREN VON JAVA-PROGRAMMEN) Von DB2 werden keine gespeicherten Java-Prozeduren und keine benutzerdefinierten Java-Funktionen (UDFs) für den Zugriff auf DB2-Datenbanken auf HP-UX- und SCO UnixWare-Servern unterstützt. 11.12 INHALT DER DB2-PRODUKTE (LÄNDERSPEZIFISCHE ANGABEN) Die länderspezifische Angabe für brasilianisches Portugiesisch für DB2 für Solaris und DB2 für SCO UnixWare 7 wurden von "pt" in "pt_BR" geändert. 12.0 DB2 FILE MANAGER QUICK BEGINNINGS | 12.1 PROFILE ZUM IMPORTIEREN UND EXPORTIEREN DER CLIENT-KONFIGURATION | Profile zum Exportieren der Client-Konfiguration, die auf Clients mit | FixPak 7 erstellt werden, können nur auf Clients installiert werden, | auf denen ebenfalls FixPak 7 installiert ist. | 12.2 DB2 DATA LINKS MANAGER KANN AUF EINEM SYSTEM MIT DB2 EXTENDED | ENTERPRISE EDITION NICHT INSTALLIERT WERDEN | DB2 Data Links Manager (früher auch "DB2 File Manager" genannt) kann | ausschließlich mit DB2 Enterprise Edition für AIX verwendet werden. | DB2 Data Links Manager kann mit Datenbanken unter anderen Betriebssystemen als | AIX und mit DB2 Extended Enterprise Edition (EEE) für AIX nicht verwendet | werden. DATALINK-Werte können nicht auf ein DB2 EEE-System zeigen. Außerdem | kann der DATALINK-Datentyp nicht auf EEE-Systemen verwendet werden, um auf | Dateien in DB2 Data Links Manager zu verweisen. 12.3 BENUTZER-ID FÜR DIE DLFM-VERWALTUNG In diesem Release muß die Benutzer-ID für die DLFM-Verwaltung "dlfm" lauten. 12.4 ZUGREIFEN AUF EIN FERNES DLFS-DATEISYSTEM MIT NFS SQL SELECT für eine DATALINK-Spalte, die mit der Option "READ PERMISSION DATABASE" definiert wurde, gibt den URL oder Dateinamen mit einem Zugriff-Token zurück, der in den Namen eingebettet ist. Dieses Zugriff-Token hat eine Verfallszeit, die durch den Datenbankkonfigurationsparameter DL_EXPINT definiert ist. Wenn Sie zum Zugriff auf solche Dateien einen NFS-Client einsetzen, stellen Sie möglicherweise fest, daß das Zugriff-Token nicht korrekt verfällt. Dies kann an der Zwischenspeicherung durch den NFS-Client liegen. Es wurde beobachtet, daß die Verwendung langer Dateinamen (länger als 12 Zeichen) die Fehlerhäufigkeit vermindert. Wenn ein DLFS-Dateisystem über NFS fern eingebunden werden soll, können Sie für den Befehl die Option "noac" verwenden. Beispiel: mount -o noac birdcage:/dlink /dlink 12.5 EINSCHRÄNKUNGEN FÜR DATALINK-CLIENTS Für DATALINK-Clients gilt folgendes: o Sie können nicht auf dem Betriebssystem Windows 3.1 ausgeführt werden. o Sie dürfen nicht unter einer früheren Version als DB2 Version 5.2 ausgeführt werden. Ausnahme: Client für AIX, der mit FixPak U453782 (oder einer höheren Version) auch die Version 5.0 sein kann. 12.6 GEÄNDERTE KONFIGURATIONSOPTION FÜR DLFM Der Befehl für die Konfiguration von DLFM wurde so geändert, daß eine dlfm_db-Konfigurationsdatei übergeben werden kann. Wenn die Konfigurationsdatei die Konfigurationsoptionen enthält, werden statt der Standardwerte die Konfigurationsoptionen der Datei verwendet. Die Datei ist wahlfrei. Wenn sie nicht angegeben ist, werden die Standardwerte verwendet. Die Befehlssyntax lautet wie folgt: dlfm setup [] Unten sehen Sie eine Beispielkonfigurationsdatei mit dem Namen dlfm_db.cfg: # Sample dlfm_db.cfg file for DLFM setup # Please note: the equal sign is needed between the option name and the value. # Any of the updateable DB2 database configuration parameters can be included in this file. # There are also three special DLFM-specific options which the user can specify: # DLFM_DB_DIR : directory where the dlfm_db database is to be created # DLFM_DB_CATTBL_DIR : directory where the catalog table space is to be located # DLFM_DB_TMPTBL_DIR : directory where the temporary table space is to be located # If there are no values for these options, or the options are not present, # default values are used. #################### DLFM_DB_DIR= DLFM_DB_CATTBL_DIR= DLFM_DB_TEMPTBL_DIR= LOCKTIMEOUT=60 # Default and recommended value for dlfm_db is 60 LOGFILSIZ=2001 # Default and recommended value for dlfm_db is 2001 LOGPRIMARY=6 # Default and recommended value for dlfm_db is 6 MAXAPPLS=128 # Default and recommended value for dlfm_db is 128 MAXLOCKS=100 # Default and recommended value for dlfm_db is 100 12.7 WIEDERHERSTELLEN DER DATEN NACH EINEM FESTPLATTENDEFEKT AUF DEM FILE MANAGER-SERVER In diesem Abschnitt wird beschrieben, wie Sie die Daten nach einem Festplattendefekt auf dem File Manager-Server wiederherstellen können. Außerdem werden Sicherungsstrategien beschrieben, die der Administrator einrichten muß, damit die Wiederherstellung möglich ist. HINWEIS: Wenn eine Maschine unter DB2 File Manager abstürzt, hängen sich DB2-Anwendungen, die mit DB2 File Manager interagieren, möglicherweise auf. Mit dem Befehl FORCE APPLICATION können Sie solche Anwendungen im System beenden. Falls eine Maschine unter einem DB2-Server abstürzt, sollten die betreffenden DB2 File Manager ebenfalls heruntergefahren werden. Dazu verwenden Sie den Befehl "dlfm shutdown". Sie können sie anschließend erneut starten. Wenn eine Festplatte mit Benutzerdaten defekt ist, werden alle Benutzerdateien und die gesamte Struktur des Dateisystems zerstört. Damit der Administrator in einem solchen Szenario die Daten wiederherstellen kann, muß er in Intervallen Sicherungen des Dateisystems erstellen, in denen die Benutzerdaten und die Verzeichnisstruktur enthalten ist. Im wiederhergestellten Dateisystem müssen die Eigentümer der Verzeichnisse und Dateien sowie die Zeitmarken erhalten bleiben. Nach der Wiederherstellung des Dateisystems muß die Verzeichnisstruktur auf den Stand zum Zeitpunkt des Defekts gebracht werden, indem die Verzeichnisänderungen ausgeführt werden, die nach der Sicherung des Dateisystems stattgefunden haben. Nach diesem Schritt muß der Befehl RECONCILE für alle Tabellen auf der beschädigten Festplatte ausgeführt werden. Das Dienstprogramm "db2_reconcile_aid" (im Verzeichnis sqllib\misc) vereinfacht diese Arbeit. Dieses Programm wird weiter unten beschrieben. HINWEISE: 1. Dateien, die eine Verknüpfung haben und für die die Option RECOVERY NO eingestellt ist, werden wie folgt behandelt: o Wenn die Datei im Dateisystem nicht gefunden wird, wird der DATALINK-Wert auf NULL gesetzt. o Wenn die Datei gefunden wird und die Attribute READ und WRITE PERMISSION FS besitzt, werden keine zusätzlichen Überprüfungen mehr ausgeführt, um die Richtigkeit der Datei zu bestätigen. o Wenn die Datei gefunden wird und das Attribut WRITE PERMISSION BLOCKED aufweist, werden die Änderungszeit und die Dateigröße überprüft. Wenn die Werte nicht übereinstimmen, wird der DATALINK-Wert auf NULL gesetzt. 2. Dateien, für die eine Verknüpfung hergestellt wurde und die Option RECOVERY YES gesetzt ist, werden wie folgt behandelt: o Wenn die Datei nicht gefunden wird oder wenn der Zeitpunkt der Dateiänderung vor dem Zeitpunkt der Dateiänderung bei der Verknüpfung liegt, wird die korrekte Version der Datei vom Archivierungs-Server wiederhergestellt. o Wenn der Zeitpunkt der Dateiänderung nach dem Zeitpunkt der Dateiänderung bei der Verknüpfung liegt, wird der DATALINK-Wert auf NULL gesetzt. 3. Dateien, deren Verbindungen auf dem Datei-Server aufgehoben sind, werden nicht wiederhergestellt oder auf Richtigkeit geprüft. SICHERN UND WIEDERHERSTELLEN DES DATEISYSTEMS Die folgenden Anweisungen betreffen speziell AIX Version 4.1.5 und können nicht auf andere Betriebssysteme angewendet werden. Die Benutzer müssen als root angemeldet sein, damit sie Sicherungs- und Wiederherstellungsoperationen ausführen können. SICHERUNG Die Sicherung sollte im Dateiindexformat von Version 3 erfolgen: 1. Hängen Sie das zu sichernde Dateisystem ab. System Storage Management --> File Systems --> Unmount a File System 2. Sichern Sie das Dateisystem. System Storage Management --> File Systems --> Backup a File System Zur Verringerung der Wiederherstellungszeit können Teilsicherungen erstellt werden. Die Stufe 0 bedeutet eine Gesamtsicherung und die Stufen 1 bis 9 bedeuten Teilsicherungen. Mit einer Sicherung der Stufe n werden nur solche Dateien gesichert, die sich seit einer Sicherung der Stufe (n-1) geändert haben. Nach einer Sicherung der Stufe n ist die nächste Sicherung eine Sicherung der Stufe (n+1). Eine Sicherung kann auch von der Befehlszeile aus ausgeführt werden: % backup - -uf Beispiele: Gesamtsicherung: % backup -0 -u -f/dev/rmt0 /dlfs1 Nächste Teilsicherung: % backup -1 -u -f/dev/rmt1 /dlfs1 Nächstfolgende Teilsicherung: % backup -2 -u -f/dev/rmt2 /dlfs1 3. Hängen Sie das Dateisystem an, das gerade gesichert wurde. System Storage Management --> File Systems --> Mount a File System WIEDERHERSTELLUNG Eine Wiederherstellung muß mit einer der Sicherungen ausgeführt werden, die zuvor archiviert worden sind: 1. Hängen Sie die Einheit an der Stelle an, an der das Dateisystem wiederhergestellt werden soll. System Storage Management --> File Systems --> Mount a File System 2. Stellen Sie das Dateisystem wieder her. Der Befehl zur Wiederherstellung erkennt automatisch das Format der Sicherung. System Storage Management --> File Systems --> Restore a File System Eine Wiederherstellung kann auch von der Befehlszeile aus aufgerufen werden. Setzen Sie vom Verzeichnis aus, in dem die Wiederherstellung erfolgen soll (d. h. vom Mount-Punkt der Dateisystemeinheit aus), den folgenden Befehl ab: % restore -r -f Wenn Teilsicherungen erstellt werden, stellen Sie die Sicherung der letzten Stufe 0 wieder her. Stellen Sie die Sicherung der Stufe n wieder her, die nach der Sicherung der Stufe (n-1) erstellt wurde. Stellen Sie sicher, daß die Datei "restoresymtable" im Hauptverzeichnis des Dateisystems zwischen der Wiederherstellung der Teilsicherungen unbeschädigt bleibt. ACHTUNG: Verwenden Sie zur Wiederherstellung nicht die Option "-M". Mit der Option "-M" wird die Zeitmarke der Dateien in die Wiederherstellungszeit des Dateisystems geändert. Wenn die Sicherung oder Wiederherstellung mit ADSM erfolgt, muß danach eine Gesamtsicherung nach Dateiindex ausgeführt werden, damit alle vorherigen Sicherungen überschrieben werden. Zur Sicherung sollten eigens dafür vorgesehene Datenträger verwendet werden. AUSSCHLIESSLICHES WIEDERHERSTELLEN DER VERZEICHNISSE Mit der Option "-i" des Befehls restore kann der Benutzer Dateien interaktiv wiederherstellen: % restore -i -f Dadurch erhält der Benutzer eine Liste mit Verzeichnissen oder Dateien, die in der Sicherung enthalten sind, und kann eine interaktive Shell verwenden. Mit der Option "-h" können spezifische Verzeichnisse wiederhergestellt werden. AKTUALISIEREN DER VERZEICHNISSTRUKTUR DES DATEISYSTEMS Die Verzeichnisänderungen werden in der Datei (err_log)/fsysadm.log aufgezeichnet, wobei (err_log) für das in der Datei /etc/sylog.conf angegebene Fehlerprotokollverzeichnis steht. Aus dieser Datei werden keine Daten entfernt, sondern es werden Einträge angehängt. Für jedes Ereignis gibt es einen Eintrag. Das Setzen von Dateiattributen wird ebenfalls protokolliert. Der Eintrag hat folgendes Format: Time = EUID = UID = GID = Mode = Action = Object type = Path = Erläuterung: Time ist die Zeit des Vorgangs in der Ortszeit. EUID ist die aktuelle Benutzer-ID des Benutzers, der die Aktion ausführt. Die Abkürzungen UID und GID stellen die Benutzer-ID- und Gruppen-ID-Attribute der Datei/des Verzeichnisses dar, die/das erstellt worden ist oder dessen Attribute geändert worden sind. Mode ist die Oktaldarstellung des Modus der Datei/des Verzeichnisses. Es gibt die Aktionen CREATE (Datei-/Verzeichniserstellung), REMOVE (Datei-/Verzeichnislöschung) oder SETATTR (Änderung des Modus der Datei/des Verzeichnisses durch den Benutzer). Der Objekttyp (Object type) kann DIR (Verzeichnis) oder FILE (Datei) lauten. Auf Path folgt der vollständig qualifizierte Pfad der Datei/des Verzeichnisses. AUSFÜHREN VON RECONCILE NACH DER WIEDERHERSTELLUNG EINES DATEISYSTEMS Das Dienstprogramm db2_reconcile_aid bietet einen Mechanismus zur Überprüfung und Ausführung von RECONCILE auf Tabellen. Diese sind möglicherweise inkonsistent, wenn die DATALINK-Datei auf dem Datei-Server aufgrund eines Defekts der Festplatte auf diesem Server beschädigt ist. Die Syntax lautet wie folgt: db2_reconcile_aid -check -db [-server-name ] [-reportdir ] Hier gilt folgendes: -check: Listet die Tabellen auf, für die möglicherweise eine Anpassung erforderlich ist. Es wird keine Anpassungsoperation ausgeführt. db-name: Name der Datenbank, für die eine Anpassung ausgeführt werden muß. datei-server-name: Name des DLFM-Servers, für den die Anpassung ausgeführt werden soll. Wenn kein Name angegeben wird, werden alle Datei-Server angepaßt. berichtsverzeichnis: Verzeichnis, das einen Bericht für die einzelnen Anpassungsoperationen (RECONCILE) enthält. Für jede Tabelle für die die Anpassung ausgeführt worden ist, werden Dateien mit dem folgenden Format erstellt: ... Hier steht für das Schema der Tabelle, für den Taballennamen und für .ulk oder .exp. Die .ulk-Datei enthält eine Liste von Dateien, für die auf dem Datei-Server die Verbindung aufgehoben wurde, und die .exp-Datei enthält eine Liste von Dateien, die sich auf dem Datei-Server im Ausnahmestatus befanden. Weitere Informationen finden Sie im Handbuch "Command Reference" in der Beschreibung des Befehls RECONCILE. | 12.8 ANZAHL DATALINK-SICHERUNGEN (DL_NUM_BACKUP) | KONFIGURATIONSART Datenbank | PARAMETERART Konfigurierbar | STANDARDWERT [BEREICH] 3 [ 1 - 31 ] | Dieser Parameter gibt die Anzahl der zuletzt ausgeführten DB2-Sicherungen | (sowohl Datenbank- als auch Tabellenbereichssicherungen) an, | für die ein File Manager Sicherungsinformationen aufbewahrt. | Für Dateien, deren Verbindung zur Datenbank aufgehoben wird, erfolgt die | "Garbage Collection" auf der Basis dieses Werts. Der Wert Eins (1) | bedeutet, daß die Garbage Collection der nichtverbundenen Dateien bei | Beendigung der nächsten DB2-Sicherung erfolgt. | Der Standardwert für diesen Parameter ist eine (1) Sicherung. | Dieser Parameter gilt für die DATALINK-Spalten, in denen "Recovery=Yes" | angeben ist. 12.9 DB2 FILE MANAGER-WIEDERHERSTELLUNGSSZENARIOS Wie bei jedem System können Fehler auftreten, die eine bestimmte Wiederherstellungsstufe erforderlich machen. Mit File Manager von DB2 wird für einige Wiederherstellungsszenarios eine neue Komplexitätsstufe eingeführt. In diesem Abschnitt werden mehrere mögliche Ausfallszenarios und die Schritte aufgeführt, die zur Wiederherstellung erforderlich sind. DEFINITIONEN DLFS-Dateisystem - Registriertes Präfix (/dlink) DLFM-Sicherungsverzeichnis - Verzeichnis zur Dateisicherung (/home/dlfm/dlfm_backup) DLFM-Benutzerverzeichnis - Benutzerverzeichnis der DLFM-Benutzer-ID (/home/dlfm) DLFM-DB2-Datenbank - DB2-Datenbank, die alle Metadaten enthält (DLFM_DB) DB2-Datenbank - Registrierte Datenbank, die den DATALINK-Datentyp enthält (CROWN) EMPFOHLENE MASSNAHMEN VOR EINEM SYSTEMABSTURZ Plazieren Sie die DLFM-Datenbank (DLFM_DB), die DLFS-Dateisysteme, das DLFM-Sicherungsverzeichnis und das DLFM-Benutzerverzeichnis in unterschiedliche Dateisysteme. Stellen Sie sicher, daß von ihnen keine Platte gemeinsam genutzt wird. Sichern Sie das DLFS-Dateisystem und das DLFM-Sicherungsverzeichnis mit einem Speicherverwaltungsprogramm wie ADSM von IBM. Dies bietet zusätzlichen Schutz im Fall eines Plattenausfalls. Eine Datenbank sollte mindestens einem DB2 File Manager zugeordnet sein. Sie sollten vermeiden, zwei Datenbanken nur einem DB2 File Manager zuzuordnen; da in diesem Fall die Wiederherstellungsszenarios komplexer als nötig werden. Führen Sie in regelmäßigen Zeitabständen Gesamtsicherungen der DB2-Datenbanken (und ebenso der DLFM_DB-Datenbank auf dem DB2 File Manager) aus. AUSFALLMÖGLICHKEITEN Im folgenden sind vier mögliche Komponenten aufgeführt, die ausfallen können und für die eine Wiederherstellung erforderlich ist: o DB2-Datenbank, die eine Tabelle mit einer DATALINK-Spalte enthält o Datenbank von DB2 File Manager (DLFM_DB) o DLFS-Dateisystem von DB2 File Manager o Sicherungsverzeichnis von DB2 File Manager Im folgenden werden zu jeder dieser Komponenten Wiederherstellungsszenarios mit DB2 File Manager behandelt. In den folgenden Wiederherstellungsszenarios sind möglicherweise Operationen erforderlich, die sowohl am DB2-Knoten als auch am Knoten von DB2 File Manager ausgeführt werden müssen. Vor jedem Schritt ist "DB2:" oder "DLFM:" angegeben, um den Knoten anzuzeigen, auf dem die Operation erfolgen muß. In allen Beispielen wird auf die DB2-Datenbank als "crown" und auf die DB2-Tabellen mit der DATALINK-Spalte als "datalinktable" Bezug genommen. SZENARIO Nr. 1A: AUSFALL: DB2-Datenbank ist defekt oder wurde gelöscht; DB2-Sicherungs- und Protokolldateien sind verfügbar. SCHRITTE ZUR WIEDERHERSTELLLUNG: KNOTEN OPERATION DB2: db2 "restore database crown" DB2: db2 "rollforward database crown to end of logs" ("End of logs" sollte stets der Zeitangabe vorgezogen werden.) DB2: db2 "reconcile table datalinktable" SZENARIO Nr. 1B: AUSFALL: DB2-Datenbank wurde explizit gelöscht; DB2-Sicherungs- und Protokolldateien sind verfügbar. SCHRITTE ZUR WIEDERHERSTELLLUNG: Stellen Sie sicher, daß das Löschen der Datenbank vollständig ausgeführt wurde und für alle Dateien, die der Datenbank zugeordnet sind, die Verknüpfungen aufgehoben wurden. KNOTEN OPERATION DLFM: db2 "connect to dlfm_db" DLFM: db2 "select dbid, dbname, dbinst, hostname from dfm_dbid" DLFM: db2 "update dfm_dbid set action=5 where dbid=x'35B3D7BE0006BF7B'" (Setzen Sie dbid auf den Wert im vorherigen Schritt.) DB2: db2 "restore database crown" DB2: db2 "rollforward database crown to end of logs" ("End of logs" sollte stets der Zeitangabe vorgezogen werden.) DB2: db2 "reconcile table datalinktable" (obligatorisch) SZENARIO Nr. 2: AUSFALL: DLFM_DB ist defekt; Sicherungen und alle Protokolldateien der DLFM_DB-Datenbank sind verfügbar. SCHRITTE ZUR WIEDERHERSTELLUNG: KNOTEN OPERATION DLFM: db2 "restore database dlfm_db" DLFM: db2 "rollforward database dlfm_db to end of logs" SZENARIO Nr. 3: AUSFALL: DLFM_DB ist defekt; Sicherung der DLFM_DB-Datenbank ist verfügbar, jedoch nicht aller Protokolldateien. SCHRITTE ZUR WIEDERHERSTELLUNG: KNOTEN OPERATION DLFM: db2 "restore database dlfm_db" DB2: db2 "reconcile table datalinktable" SZENARIO Nr. 4: AUSFALL: DLFS-Dateisystem ist defekt. SCHRITTE ZUR WIEDERHERSTELLUNG: KNOTEN OPERATION DLFM: Stellen Sie das DLFS-Dateisystem mit Ihrem Speicherverwaltungsprogramm wieder her. DB2: db2_recon_aid crown SZENARIO Nr. 5: AUSFALL: DLFM-Sicherungsverzeichnis ist defekt. SCHRITTE ZUR WIEDERHERSTELLUNG: KNOTEN OPERATION DLFM: Stellen Sie das DLFM-Sicherungsverzeichnis mit Ihrem Speicherverwaltungsprogramm wieder her. SZENARIO Nr. 6: AUSFALL: DLFS-Dateisystem ist defekt; DLFM-Sicherungsverzeichnis ist defekt. SCHRITTE ZUR WIEDERHERSTELLUNG: KNOTEN OPERATION DLFM: Stellen Sie das DLFM-Sicherungverzeichnis mit Ihrem Speicherverwaltungsprogramm wieder her. DLFM: Stellen Sie das DLFS-Dateisystem mit Ihrem Speicherverwaltungsprogramm wieder her. DB2: db2_recon_aid crown SZENARIO Nr. 7: AUSFALL: DLFM_DB ist defekt; Sicherung und alle Protokolldateien für die DLFM_DB-Datenbank sind verfügbar. DLFS-Dateisystem ist defekt; DLFM-Sicherungsverzeichnis ist defekt. SCHRITTE ZUR WIEDERHERSTELLUNG: KNOTEN OPERATION DLFM: db2 "restore database dlfm_db" DLFM: db2 "rollforward database dlfm_db to end of logs" DLFM: Stellen Sie das DLFM-Sicherungverzeichnis mit Ihrem Speicherverwaltungsprogramm wieder her. DLFM: Stellen Sie das DLFS-Dateisystem mit Ihrem Speicherverwaltungsprogramm wieder her. (Sie benötigen die Verzeichnisstruktur.) DB2: db2_recon_aid crown SZENARIO Nr. 8: AUSFALL: DLFM_DB ist defekt; Sicherung der DLFM_DB-Datenbank, jedoch nicht aller Protokolldateien, ist verfügbar. DLFS-Dateisystem ist defekt; DLFM-Sicherungsverzeichnis ist defekt. SCHRITTE ZUR WIEDERHERSTELLUNG: KNOTEN OPERATION DLFM: db2 "restore database dlfm_db" DLFM: Stellen Sie das DLFM-Sicherungverzeichnis mit Ihrem Speicherverwaltungsprogramm wieder her. DLFM: Stellen Sie das DLFS-Dateisystem mit Ihrem Speicherverwaltungsprogramm wieder her. (Sie benötigen die Verzeichnisstruktur.) DB2: db2_recon_aid crown SZENARIO Nr. 9: AUSFALL: DB2-Datenbank ist defekt; DLFM_DB ist defekt; Sicherung und alle Protokolldateien für die DLFM_DB-Datenbank sind verfügbar. DLFS-Dateisystem ist defekt; DLFM-Sicherungsverzeichnis ist defekt. SCHRITTE ZUR WIEDERHERSTELLUNG: KNOTEN OPERATION DLFM: db2 "restore database dlfm_db" DLFM: db2 "rollforward database dlfm_db to end of logs" DLFM: Stellen Sie das DLFM-Sicherungverzeichnis mit Ihrem Speicherverwaltungsprogramm wieder her. DLFM: Stellen Sie das DLFS-Dateisystem mit Ihrem Speicherverwaltungsprogramm wieder her. DB2: db2 "restore database crown" DB2: db2 "rollforward database crown to end of logs" ("End of logs" sollte stets der Zeitangabe vorgezogen werden.) DB2: db2 "reconcile table datalinktable" HINWEIS: Die aktualisierende Wiederherstellung bis zu einem bestimmten Zeitpunkt (PIT - point-in-time) versetzt möglicherweise Tabellen, für die alle DATALINK-Spalten mit "recovery = no" definiert sind, nicht in den Status DataLink_Reconcile_Pending (DRP). Fügen Sie nach der aktualisierenden Wiederherstellung bis zu einem bestimmten Zeitpunkt für solche Tabellen eine Zeile mit dem DATALINK-Wert ein, versetzen Sie die Tabelle mit der Anweisung SET CONSTRAINTS in den Status DRP und führen Sie anschließend das Dienstprogramm RECONCILE aus. 12.10 DATALINKS-KONFIGURATIONSDATEI KANN NICHT ÜBER DEN BEFEHLSZEILENPROZESSOR ERSTELLT ODER GEÄNDERT WERDEN Verweise auf den Befehl db2 add file manager sollten durch Verweise auf das neue Dienstprogramm db2dlcfg ersetzt werden. Dieses Dienstprogramms hat folgende Syntax: db2dlcfg -d -a [-s ] [-p ] -h Hierbei gilt folgendes: db-name steht für den Namen der Datenbank (wahlfrei). aktion steht für die Aktion, die ausgeführt werden soll (wahlfrei): LIST - listet alle DB2 File Manager auf, die für diese Datenbank definiert sind. ADD - fügt einen einzelnen DB2 File Manager hinzu, auf den diese Datenbank zugreift. server-host-name steht für den vollständig qualifizierten Host-Namen von DLFM File Manager. anschlußnr steht für die Anschlußnummer von DLFM File Manager. -h zeigt die Hilfe an. Wenn diese Option angegeben ist, werden alle anderen Optionen ignoriert, und es wird nur die Hilfe angezeigt. Beispiel: db2dlcfg -d SAMPLE -a LIST db2dlcfg -d SAMPLE -a ADD -s meinhost.meinedomäne.meinefirma.com -p 10001 Gehen Sie wie folgt vor, wenn sie von einer früheren Version von DB2 File Manager umstellen: 1. Setzen Sie den Befehl db2stop ab. 2. Entfernen Sie alle Kopien der Datei datalink.cfg (Sie sollten eine Sicherungskopie aufbewahren). 3. Erstellen Sie die Datei datalink.cfg erneut, indem Sie mit dem Dienstprogramm db2dlcfg Datei-Server hinzufügen. Fügen Sie die Datei-Server in genau derselben Reihenfolge hinzu. Beispiel: cat datalink.cfg 1 meinds1.meinedomäne.meinefirma.com 10001 2 meinds2.meinedomäne.meinefirma.com 10001 4 meinds2.meinedomäne.meinefirma.com 10001 (Beachten Sie bitte, daß der dritte Eintrag fehlt.) mv datalink.cfg datalink.old db2dlcfg -d SAMPLE -a ADD -s meinds1.meinedomäne.meinefirma.com -p 10001 db2dlcfg -d SAMPLE -a ADD -s meinds2.meinedomäne.meinefirma.com -p 10001 db2dlcfg -d SAMPLE -a ADD -s nullds.meinedomäne.meinefirma.com -p 10001 db2dlcfg -d SAMPLE -a ADD -s meinds4.meinedomäne.meinefirma.com -p 10001 (Beachten Sie bitte, daß der dritte Eintrag gleich Null ist.) 13.0 VOR VERSION 5.2 DOKUMENTIERTE ÄNDERUNGEN AN DEN EINSTIEGSHANDBÜCHERN Die Zusatzinformationen in diesem Abschnitt gelten für die folgenden Einstiegshandbücher zu DB2 Version 5.0: o DB2 UDB Personal Edition Einstieg Version 5.0 o DB2 UDB Enterprise Edition Einstieg Version 5.0 o DB2 UDB Enterprise Edition - Extended for UNIX Version 5.0 13.1 DB2-PRODUKTE In den DB2-Handbüchern wird auf DB2 Application Developer's Kit verwiesen. Dieses Produkt ist nun in zwei Varianten verfügbar, die "IBM DB2 Personal Developer's Edition Version 5" und "IBM DB2 Universal Developer's Edition Version 5" genannt werden. Beide Varianten sind nur für OS/2, Windows NT, Windows 95 und Windows 98 verfügbar. 13.2 PLANEN DER INSTALLATION Die Aktualisierungen in diesem Abschnitt betreffen vorausgesetzte Software und Berichtigungen. 13.2.1 OS/2-SOFTWAREVORAUSSETZUNGEN Im Abschnitt "Voraussetzungen für Server-Produkte" müssen die folgenden Informationen zum Betriebssystem für DB2 UDB Enterprise Edition und DB2 UDB Workgroup Edition geändert werden: Alt: Neu: -------------------- ----------------------------------------------- OS/2 Warp Server SMP OS/2 Warp Server Advanced Version 4 SMP Feature Dieselbe Änderung muß im Abschnitt "Voraussetzungen für Client-Produkte" für DB2 Client Application Enabler for OS/2, Software Developer's Kit und Net.Data vorgenommen werden: Alt: Neu: -------------------- ----------------------------------------------- OS/2 Warp Server SMP OS/2 Warp Server Advanced Version 4 SMP Feature 13.2.1.1 MÖGLICHE CLIENT-SERVER-KONNEKTIVITÄT Die Verwendung von IPX/SPX zum Datenaustausch zwischen Windows 95, Windows 98 oder OS/2-Clients und Servern wird nicht empfohlen. Diese Verbindung ist nicht zuverlässig. Mit Hilfe von Novell haben wir ermittelt, daß die Ursache hierfür in der Stufe der IPX/SPX-Protokollgruppe liegt. Die Stufe von SPX I, die von Windows 95 und Windows 98 unterstützt wird, und die Stufe von SPX I, die von OS/2 unterstützt wird, sind die Ursache dafür. Wenn Windows 95 oder Windows 98 eine Verbindung herstellt, wird eine Verbindung mit einer SPX I-Stufe angegeben. Hierzu gehört jedoch unter Windows 95 oder Windows 98 die Unterstützung der vollen Datenträgergröße von SPX II-Stufen. Wenn OS/2 jedoch eine SPX I-Verbindung herstellt, wird die volle Datenträgergröße nicht unterstützt. Novell entwickelt zur Zeit die Unterstützung der vollen Datenträgergröße für SPX I-Verbindungen unter OS/2, um die Konsistenz von SPX I-Verbindungen herzustellen. Dadurch wird verhindert, daß Verbindungen unterbrochen werden, wenn eine unerwartete Paketgröße versendet wird. Wenn Sie sich für den Stand dieser Entwicklung interessieren, können Sie bei Novell telefonisch den Stand von SPD147611 abfragen. 13.2.2 NETFINITY-UNTERSTÜTZUNGSPROGRAMM MuSS GESTOPPT WERDEN - WINDOWS NT Das Unterstützungsprogramm für Netfinity wirkt sich auf die Installation von DB2 UDB EEE für Windows NT aus, wenn Sie DB2 UDB erweitern. Damit Sie von DB2 UDB EE auf DB2 UDB EEE erweitern können, sollte das Unterstützungsprogramm für Netfinity gestoppt werden, bevor Sie mit der Installation von DB2 UDB EEE beginnen. 13.2.3 COMMUNICATIONS SERVER FÜR WINDOWS NT - ERFORDERLICHE BERICHTIGUNGEN Wenn Sie DB2 Connect Enterprise Edition für Windows NT und IBM Communications Server für Windows NT (CS/NT) einsetzen, benötigen Sie für den Abbruch von Host-Abfragen (SQL CANCEL) DB2 UDB Version 5.2 (oder DB2 UDB Extended Enterprise Edition für Windows NT) und die APARs JR11529 und JR11170 für CS/NT. 13.2.4 EMPFOHLENE ERWEITERUNG VON CLIENT APPLICATION ENABLER FÜR BENUTZER PARTITIONIERTER DATENBANKEN Wenn Sie DB2 UDB Version 5.0 Client Application Enabler einsetzen, können bei der Verwendung der Steuerzentrale Probleme mit dem Anschluß an ein partitioniertes Datenbankexemlar von Extended Enterprise Edition (EEE) auftreten. Die Steuerzentrale, die ursprünglich zu DB2 Connect und UDB Version 5 gehörte, enthielt nicht die Verwaltungsfunktionen, die erforderlich sind, um partitionierte Datenbanksysteme zu verwalten. Infolgedessen ist es erforderlich, DB2-Clients zu erweitern, damit diese die Verwaltungsfunktionen von UDB EEE übernehmen können. Die Erfordernisse können Sie an folgenden Anzeichen erkennen: o Die Steuerzentrale schließt möglicherweise jedes Mal, wenn Sie versuchen, diese Funktionen auszuführen. o Die Sicherung und Wiederherstellung einer fernen Datenbank scheint von der Befehlszeile aus zu funktionieren, es kann jedoch keine aktualisierende Wiederherstellung der Datenbank vorgenommen werden. Während der aktualisierenden Wiederherstellung tritt ein Systemfehler auf, und auf der Client-Datenstation müssen DB2-Prozesse beendet werden, und die Client-Datenstation muß erneut gestartet werden. Wenn Sie über mehrere logische Knoten für einzelne physische Knoten verfügen, werden die Sicherungs- und Wiederherstellungsbefehle von DB2-Clients der Version 2 aus nicht unterstützt. Allgemein gilt folgendes: Wenn Sie zur Verwaltung eines DB2 UDB EEE-Servers die Steuerzentrale einsetzen möchten, sollten Sie Client Application Enabler erweitern. Dieser Fehler wurde zuerst mit dem ersten FixPak für DB2 UDB Version 5.0 berichtigt: AIX U452196 Solaris U452197 HP-UX U452198 OS/2 WR09003 Windows NT WR09004 Windows 3.1 WR09006 Diese Berichtigungen können Sie über folgende Adresse erhalten: "http://www.software.ibm.com/data/db2/db2tech". Die richtige Client-Ebene finden Sie auch im Client-Softwarepaket, das zusammen mit DB2 UDB und DB2 Connect Enterprise Edition Version 5.2 geliefert wird. DB2 UDB-FixPaks sind kumulativ. Sie enthalten Berichtigungen in den FixPaks 1, 2, 3, 4, 5 und 6 sowie in Client Application Enabler; diese Komponente ist in DB2 UDB EEE für Windows NT und für Solaris, Version 5 enthalten. 13.2.5 EMPFOHLENE ERWEITERUNG VON CLIENT APPLICATION ENABLER FÜR BENUTZER VON WINDOWS-ODBC Wenn Sie ODBC-Anwendungen von Clients unter Windows NT und Windows 95 aus einsetzen, sollten Sie DB2 Client Application Enabler auf die Berichtigungsstufe WR09014 oder eine höhere Stufe erweitern. Diese Berichtigung erhalten Sie unter folgendem URL: "http://www.software.ibm.com/data/db2/db2tech". Die richtige Client-Ebene finden Sie auch im Client-Softwarepaket, das zusammen mit DB2 UDB und DB2 Connect Enterprise Edition Version 5.2 geliefert wird. 13.2.6 EMPFOHLENE FEHLERBERICHTIGUNGSSTUFE FÜR ADSM UNTER AIX In einer partitionierten AIX-Datenbankumgebung kann DB2 nach einer Online-Sicherung eines Tabellenbereichs mit ADSM möglicherweise abgebrochen werden, wenn die Datenbank wiederhergestellt wird. Dieser Fehler hat folgende Symptome: Die Online-Sicherung schlägt fehl, und das DB2-Exemplar wird heruntergefahren. Die Diagnosenachricht "SIG11sqloEDUCodeTrap" wird ausgegeben. Sie können diesen Fehler beheben, indem Sie die Fehlerberichtigung 2.1.0.6 oder eine höhere Version für den ADSM-Client installieren. 13.2.7 CS/NT FÜR ZWEIPHASIGE FESTSCHREIBUNG UNTER WINDOWS NT ERFORDERLICH Die zweiphasige Festschreibung mit SNA wird jetzt unter Windows NT unterstützt, wenn Sie die DB2-Funktion Synchronisationspunktmanager (SPM) zusammen mit IBM Communications Server Version 5.01 für Windows NT (CS/NT) verwenden. Die SNA-basierte Version des SPM ist Teil der folgenden Produkte: o DB2 Connect Enterprise Edition für AIX o DB2 Connect Enterprise Edition für OS/2 o DB2 Connect Enterprise Edition für Windows NT o DB2 UDB Enterprise Edition für AIX o DB2 UDB Enterprise Edition für OS/2 o DB2 UDB Enterprise Edition für Windows NT o DB2 UDB Extended Enterprise Edition for AIX o DB2 UDB Extended Enterprise Edition für Windows NT. Mit dem SPM können DB2 UDB-Client-Anwendungen auf Host-Daten zugreifen, indem sie DB2 Connect EE mit der SNA-Datensicherheit für die zweiphasige Festschreibung des SPM verwenden. Host-Datenbankanwendungen können in gleicher Weise auf DB2 UDB-Server zugreifen. 13.2.7.1 REGISTRIEREN VON CS/NT ALS WINDOWS NT-DIENST Nach der Installation des IBM Communications Server für Windows NT (CS/NT) sollten Sie ihn als Windows NT-Dienst registrieren. Dadurch wird CS/NT automatisch gestartet, wenn der Rechner gestartet wird. Sie registrieren CS/NT als Windows NT-Dienst, indem Sie den folgenden Befehl ausführen, um CS/NT mit der Standardkonfigurationsdatei automatisch zu starten: csstart -a Sie können auch folgenden Befehl verwenden: csstart -a c:\ibmcs\private\your.acg Dabei steht C:\IBMCS\PRIVATE\YOUR.ACG für den Namen ihrer eigenen CS/NT-Konfigurationsdatei, die keine Standardkonfigurationsdatei ist. Wenn die Maschine das nächste Mal gestartet wird, wird CS/NT automatisch mit der gewünschten Konfigurationsdatei gestartet. 13.2.8 DCE-UNTERSTÜTZUNG UNTER WINDOWS NT UND WINDOWS 95 DB2 Universal Database und DB2 Connect Version 5.2 unterstützen folgendes: o Gradient DCE CDS unter Windows NT und Windows 95 o IBM DCE CDS unter Windows NT Zwei neue DLLs werden mitgeliefert: o db2dce.grd für Gradient DCE CDS o dcedce.ibm für IBM DCE CDS "db2dce.grd" wurde standardmäßig nach "db2dce.dll" kopiert. HINWEIS: DB2 lädt nur die Datei "db2dce.dll". Wenn Sie IBM DCE CDS verwenden, müssen Sie "dcedce.ibm" beim Kopieren in "db2dce.dll" umbenennen. Zusätzlich zur bestehenden Unterstützung von APPC, IPX/SPX, NETBIOS und TCP/IP wird nun die Unterstützung für DCE mit dem Netzwerkprotokoll "Benannte Pipe" (NPIPE) geliefert. Die im folgenden Beispiel aufgeführte Steueranweisung kann nun für ein DCE-Objekt mit dem Attribut DB_Communication_Protocol auch mit einem Wert angegeben werden: NPIPE;Rechnername;Exemplarname Weitere Informationen finden Sie im Anhang G der Veröffentlichung "Systemverwaltung". | 13.2.9 EMPFOHLENE WINDOWS NT-VERSION Für die Aufzeichnung auf unformatierten Einheiten mit DB2 unter Windows NT ist Microsoft Service Pack 3 für Windows NT 4.0 erforderlich. | Das Problem, daß festgeschriebener Speicher von Windows NT auf die Größe | des Realspeichers anwachsen kann, wurde im Microsoft Service Pack 4 | behoben. 13.2.10 STANDARDEINSTELLUNGEN FÜR DIE BERECHTIGUNG SYSADM (UNIX) Im Handbuch "Einstieg für UNIX" wird bei der Behandlung von Sicherheitsfragen davon ausgegangen, daß der Benutzer den Parameter SYSADM_GROUP in der Konfigurationsdatei des Datenbankmanagers nicht konfiguriert hat. Wenn der Parameter SYSADM_GROUP nicht konfiguriert ist, ist die Gruppe SYSADM standarmäßig die Primärgruppe des Exemplareigners. In den Handbüchern "Einstieg" besitzt die Primärgruppe des Exemplareigners immer die Berechtigung SYSADM. Wenn Sie jedoch den Parameter SYSADM_GROUP konfiguriert haben, müssen Sie an den Stellen in den Handbüchern, die auf die Gruppe SYSADM Bezug nehmen, die von Ihnen in der Konfigurationsdatei des Datenbankmanagers definierte SYSADM-Gruppe einsetzen. 13.3 WEITERE INSTALLATIONS- UND KONFIGURATIONSAUFGABEN Die Aktualisierungen in diesem Abschnitt beziehen sich auf die Installations- und Konfigurationsaufgaben. | 13.3.1 KONFIGURIEREN VON CS/NT FÜR DEN SYNCHRONISATIONSPUNKTMANAGER (SPM) Zum Einsatz des SPM über SNA ist IBM Communications Server für Windows NT Version 5.01 erforderlich. Der SPM wird in DB2 Version 5.2 auch über TCP/IP unterstützt. In Kapitel 22 des Handbuchs "DB2 Connect Enterprise Edition Einstieg" wird das Konfigurieren des SPM beschrieben. In den folgenden zusätzlichen Anweisungen wird davon ausgegangen, daß Sie CS/NT für DB2 Connect bereits konfiguriert haben. Weitere Informationen finden Sie in Kapitel 14 des Handbuchs "DB2 Connect Enterprise Edition Einstieg". 1. Die vom SPM zu verwendende LU kann in CS/NT mit der Option "Lokale LU 6.2 konfigurieren" unter "SNA-Knotenkonfiguration" konfiguriert werden. 2. Für die LU muß Synchronisationspunktmanager aktiviert sein. Dazu können Sie wie folgt vorgehen: a. Starten Sie das Programm zum Testen der Konfiguration von Communications Server für Windows NT. b. Finden Sie die benötigte Konfigurationsdatei. c. Bearbeiten Sie diese Datei. d. Suchen Sie nach der LU-Definition, die vom SPM verwendet werden soll. Sie finden eine Definition ähnlich der folgenden: LOCAL_LU=(LU_NAME=SPMNAME LU_ALIAS=SPMNAME LU_SESSION_LIMIT=0 NAU_ADDRESS=0 ROUTE_TO_CLIENT=0 SYNCPOINT_SUPPORT=0) e. Ändern Sie SYNCPOINT_SUPPORT=0 in SYNCPOINT_SUPPORT=1. f. Speichern Sie die Datei. 3. Überprüfen Sie die neue Konfiguration. 4. Stoppen Sie DB2. 5. Stellen Sie sicher, daß der Registrierdatenbankwert DB2COMM den Wert "APPC" angibt. Weitere Informationen finden Sie in den Kapiteln 24 und 39 des Handbuchs "DB2 Connect Enterprise Edition Einstieg". 6. Stoppen Sie den CS/NT-Knoten, und starten Sie ihn erneut. Um zu überprüfen ob die Synchronisationspunktunterstützung für diese LU aktiviert ist, lesen Sie die Angaben unter CS/NT SNA-Knotenoperationen zu "Lokale LU6.2". In der Spalte "Unterstützung für Synchronisationspunkt" sollte für die LU "Ja" aufgeführt sein. 7. Aktualisieren Sie die Konfiguration des Datenbankmanagers wie folgt, damit DIAGLEVEL auf 4 gesetzt ist: update dbm cfg using diaglevel 4 Sie müssen diese Einstellung vornehmen, damit Sie mögliche Diagnosenachrichten im Zusammenhang mit dem SPM erhalten können. 8. Starten Sie DB2. 9. Prüfen Sie die Datei "db2diag.log". (Wenn die Umgebungsvariablen DB2PATH und DB2INSTANCE auf ihre jeweiligen Standardwerte gesetzt sind, befindet sich diese Datei im Verzeichnis SQLLIB\DB2). Wenn der SPM erfolgreich gestartet wurde, finden Sie dort eine Nachricht darüber. Beachten Sie außerdem, daß beim ersten Start des SPM das Verzeichnis "\sqllib\spmlog" erstellt wird. Sollte dieses Verzeichnis noch nicht vorhanden sein oder das Diagnoseprogramm anzeigen, daß der Start des SPM fehlgeschlagen ist, müssen Sie die Konfiguration von DB2 und CS/NT erneut überprüfen. Das Handbuch "DB2 Connect Enterprise Edition Einstieg" wird mit diesen zusätzlichen Informationen aktualisiert. 13.3.1.1 ZUSÄTZLICHE INFORMATIONEN ZUR BENUTZUNG VON SNA-SPM: 1. Es ist sehr wichtig, daß CS/NT vor DB2 gestartet wird. DB2 wartet bis CS/NT gestartet wird, und beendet erst im Anschluß daran die eigenen Startprozeduren. Wenn also CS/NT nicht vor DB2 gestartet wird, hat es den Anschein, also ob DB2 beim Start abgestürzt ist. Tatsächlich wartet DB2 jedoch den Start von CS/NT ab. Es ist sehr empfehlenswert, CS/NT als einen Windows NT-Dienst zu registrieren. Weitere Informationen finden Sie unter "13.2.7 CS/NT für zweiphasige Festschreibung unter Windows NT erforderlich". CS/NT wird dadurch automatisch gestartet. 2. Während die Umgebung gemäß Kapitel 22 des Handbuchs "DB2 Connect Enterprise Edition Einstieg" eingerichtet wird, stellt Microsoft Transaction Server einen TP-Monitor (TPM) dar. Deshalb ist keine Transaktionsmanagerdatenbank (TMD) erforderlich, wenn Sie Microsoft Transaction Server einsetzen. Das Handbuch "DB2 Connect Enterprise Edition Einstieg" wird mit diesen neuen Informationen aktualisiert. | 13.3.2 FEHLER IN NIS UNTER AIX VERSION 4.1.4 UND 4.1.5 | HINWEIS: In diesem Abschnitt werden die Release-Informationen von Version | 5.2 mit Informationen zu Einschränkungen von AIX Version 4.1.4 | aktualisiert. Die Einschränkungen von AIX Version 4.1.5 wurden | zuvor bereits dokumentiert. | Unter AIX Version 4.1.4 und 4.1.5 wird bei der Ausführung von Network | Information System (NIS) zur Kennwortüberprüfung möglicherweise die | Nachricht DB21015E empfangen, wenn der Befehlszeilenprozessor ein Zeitlimit | überschreitet. In diesem Fall kann das Ausgabeprogramm des Befehlszeilenprozessors die Benutzer-ID des DB2-Exemplars vom NIS-Haupt-Server aus nicht erkennen. Sie können den Fehler wie folgt beheben: 1. Entfernen Sie die Benutzer-ID vom NIS-Haupt-Server. 2. Erstellen Sie die Benutzer-ID in der Datei "/etc/passwd" auf jeder Maschine lokal, damit die Benutzer-ID in der Datei vor das NIS-Cookie gesetzt wird. Das Cookie sieht wie folgt aus: :!:::::: 13.3.3 DB2CIPC.DLL - ERWEITERTE SNA-SICHERHEITSCODES UNTER WINDOWS NT UND WINDOWS 95 Von einigen SNA-Subsystemanbietern wurden erweiterte SNA-Sicherheitscodes (Extended SNA Security Codes) nicht implementiert. Dies betrifft möglicherweise Kunden, die folgendes einsetzen: o DB2 Universal Database (UDB) für Windows NT Version 5 (alle Ausgaben) o DB2 Connect Enterprise Edition für Windows NT Version 5 o DB2 Connect Personal Edition Version 5 (unter Windows 95 oder Windows NT). Eine neue DLL, die Datei db2cpic2.dll, wird geliefert, damit in diesen Umgebungen erweiterte SNA-Sicherheitscodes unterstützt werden. Die neue DLL befand sich ursprünglich im Paket mit Fixpak 17für DB2 Universal Database Version 5. Sie ist beinahe identisch zur ursprünglichen DLL-Datei db2cpic.dll, enthält jedoch einen Aufruf, um sekundäre Informationen zu extrahieren (cmesi()). +---------------------------------------------------------------------------+ | Tabelle 4. Zu verwendende Version der Datei db2cpic.dll | +------------------------+-------------------------+------------------------+ | VORHANDENES SNA-SUB- | | | | SYSTEM | UNTER WINDOWS NT | UNTER WINDOWS 95 | +------------------------+-------------------------+------------------------+ | IBM Communications | db2cpic2.dll (neu) | db2cpic.dll (alt) | | Server für Windows NT | | | +------------------------+-------------------------+------------------------+ | IBM Personal | db2cpic2.dll | db2cpic.dll | | Communications für | | | | Windows (siehe | | | | Anmerkung unten) | | | +------------------------+-------------------------+------------------------+ | Microsoft SNA Server | db2cpic.dll | db2cpic.dll | +------------------------+-------------------------+------------------------+ | Wall Data Rumba (auch | db2cpic2.dll | db2cpic2.dll | | Integrierte SNA- | | | | Unterstützung, mit DB2 | | | | Connect Personal | | | | Edition geliefert) | | | +------------------------+-------------------------+------------------------+ Wenn DB2 die Datei db2cpic2.dll nicht laden kann, können Sie im Installationsverzeichnis folgende Befehle ausführen: copy db2cpic2.dll db2cpic2.bak copy db2cpic.dll db2cpic2.dll Dadurch wird db2cpic2.dll identisch mit der Datei db2cpic.dll. HINWEIS: Wenn Sie erweiterte Sicherheitsunterstützung (Extended Security Support) mit DB2 UDB Version 5.0 unter Windows 95 einsetzen möchten, sollten Sie IBM Personal Communications (PComm) für Windows 95 Version 4.2 (nicht Version 4.1) verwenden. Kopieren Sie die Datei db2cpic.dll in die Datei db2cpic.bak und die Datei db2cpic2.dll in die Datei db2cpic.dll. Dadurch wird db2cpic.dll identisch mit db2cpic2.dll. 13.3.4 PROFILVARIABLE DB2NTMEMSIZE FÜR WINDOWS NT Unter "Controlling Your DB2 Environment" im Einstiegshandbuch zu DB2 UDB Extended Enterprise Edition für Windows NT, steht fälschlicherweise, daß DB2NTMEMSIZE verwendet wird, um die obere Grenze des von DB2 gemeinsam genutzten Speichersegments zu überschreiben. Unter Windows NT müssen alle Segmente des gemeinsam benutzten Speichers zur Zeit der DLL-Initialisierung reserviert sein, damit die prozeßübergreifende Übereinstimmung der Adressen gewährleistet ist. In diesem Zusammenhang wurde die neue Profilvariable DB2NTMEMSIZE eingeführt, damit der Benutzer die Standardwerte von DB2 unter Windows NT, wenn nötig, überschreiben kann. Meist sollten die Standardwerte jedoch ausreichen. Im folgenden finden Sie ein Liste von Speichersegmenten mit deren Standardgrößen: Speichersegment Standardgröße Überschreiboption ------------------------------------------------------------ Datenbank-Kernel 16777216 (16 MB) DBMS:[Größe in Byte] MPP-FCM-Puffer 33554432 (32 MB) FCM:[Größe in Byte] Datenbankverw.-GUI 33554432 (32 MB) DBAT:[Größe in Byte] Abgeschirmte DARIs 16777216 (16 MB) APLD:[Größe in Byte] Wenn die Überschreiboptionen mit dem Zeichen ':' getrennt werden, können mehrere Segmente überschrieben werden. Zum Beispiel können Sie den folgenden Befehl eingeben, um DBMS auf (ungefähr) 256 K und FCM auf (ungefähr) 64 MB zu begrenzen: db2set DB2NTMEMSIZE=DBMS:256000:FCM:64000000 13.4 VERWENDEN VON SNAPSHOT MONITOR IN DER STEUERZENTRALE Wenn Sie unter OS/2 die Ansicht "Performance Graph" der Momentaufnahmeüberwachung verkleinern, wird die Steuerzentrale möglicherweise ohne Angabe einer Fehlernachricht geschlossen. Während Sie eine Momentaufnahme für ein Objekt oder eines seiner Kindobjekte erstellen, können Sie keine Aktion ausführen, die ein Datenbankobjekt (wie zum Beispiel ein Exemplar oder eine Datenbank) ändert oder löscht. (Wenn Sie ein partitioniertes Datenbanksystem überwachen, können Sie außerdem eine Sicht der partitionierten Datenbankobjekte nicht aktualisieren. Sie können zum Beispiel nicht Datenbank A überwachen, wenn Sie deren Exemplar entfernen möchten. Wenn Sie jedoch lediglich das Exemplar überwachen, können Sie die Datenbank A ändern. Sie können die gesamte Überwachung für ein Exemplar (einschließlich aller zugehörigen Kindobjekte) stoppen, indem Sie für das Exemplar im Kontextmenü "Überwachung stoppen" auswählen. Sie sollten die Überwachung immer vom Exemplar aus stoppen, da dadurch sichergestellt ist, daß alle Sperren von Performance Monitor freigegeben werden. 13.5 ZUGRIFF AUF DB2-DATEN VOM WORLD WIDE WEB Informationen zur Verwendung von Java zusammen mit DB2 (zum Beispiel JDBC) finden Sie im Internet unter dem folgenden URL: http://www.software.ibm.com/data/db2/java/ 13.6 EINSTELLEN VON NETZWERKPARAMETERN FÜR RS/6000 SP Die folgenden Informationen müssen dem Hinweis am Ende von Schritt 1 "Prepare for Installation" im Kapitel 6, "Installing DB2 Universal Database Extended Enterprise Edition" des Handbuchs "IBM DB2 Universal Database Extended Enterprise Edition for AIX Quick Beginnings" hinzugefügt werden. Der Hinweis beschreibt, wie sichergestellt werden kann, daß netzwerkbezogene Parameter auf allen SP-Knoten gesetzt werden. Nach dem Hinweis mit der Angabe "You can use the no -a command to view the current setting for network parameters" müssen Sie folgenden Absatz einfügen: The above values are minimum values for the parameters. If you are already setting any of the network-related parameters to a larger value, do not set the parameter to the lower value listed above. Fügen Sie nach dem Satz, der mit den Worten "To view the configuration for css0" beginnt, den folgenden Absatz an: You should only use the following method to set the network-relatedt haben, parameters if you are not using the /tftpboot/tuning/cst file to tune the system. 13.7 EINRICHTEN VON "CLIENT-KONFIGURATION - UNTERSTÜTZUNG" UND DER STEUERZENTRALE IN EINER PARTITIONIERTEN DATENBANKUMGEBUNG (DB2 UNIVERSAL DATABASE EXTENDED ENTERPRISE EDITION FOR AIX) Die folgenden Informationen müssen dem Schritt 8, "Setting up the Client Configuration Assistant and the Control Center" in Kapitel 6, "Installing DB2 Universal Database Extended Enterprise Edition" des Handbuchs "IBM DB2 Universal Database Extended Enterprise Edition for AIX Quick Beginnings" hinzugefügt werden. For performance reasons, it is not recommended that you set discover=SEARCH on the administration server that resides on a key catalog node or Control Center node. There are additional ways to distribute client requests amongst different coordinator nodes. You can use the Client Configuration Assistant IMPORT/EXPORT or manual catalog functions to distribute the workload. Another alternative is to use the LoadLeveler product to distribute client requests transparently. You cannot use the Server Communications Setup function in the Control Center to perform remote setup of nodes (database partition servers) in the partitioned database environment, if there is no administration server running on the node. Discovery is supported using the TCP/IP protocol. IPX/SPX file server addressing is not supported in the partitioned database environment. 13.8 UMSTELLEN VON VORGÄNGERVERSIONEN (UNIX) Im Abschnitt "Verify that Databases Can Be Migrated" steht, daß DB2 gestoppt werden muß, um das Exemplar zur Umstellung vorzubereiten. Dies ist jedoch unzutreffend. Der Datenbankmanager muß aktiv sein, damit Sie das Hilfsprogramm "db2ckmig" erfolgreich ausführen können. Im selben Abschnitt müssen Sie folgendes ändern: DB2DIR/instance/db2ckmig -e -a 0 -1 INSTHOME/migration.log Änderung: DB2DIR/bin/db2ckmig -e -a 0 -l INSTHOME/migration.log Im Abschnitt "Migrate the DB2 Instance" wird zur Syntax des Befehls "db2imigr" als wahlfreier Parameter "-u fencedID" angegeben. Die Option -u ist nur dann nicht erforderlich, wenn DB2 Client Application Enabler installiert ist; für alle anderen DB2-Produkte ist die Option -u jedoch erforderlich. 13.9 DB2 SNMP SUBAGENT IBM NetView für OS/2 und IBM NetView für AIX entsprechen dem Industriestandard SNMP (Simple Network Management Protocol). DB2 bietet Unterstützung für SNMP-Managementprodukte über DB2 SNMP Subagent an. Dieser ist eine Komponente des DB2-Servers. SNMP-Verwaltungsprodukte wie "NetView" ermöglichen die zentrale Verwaltung sowohl von Hardware- als auch von Softwarekomponenten eines Systems. Mit DB2 SNMP Subagent können DB2-Server wie alle anderen SNMP-verwalteten Ressourcen verwaltet werden. Die Verwendung von SNMP Subagent setzt folgende Software voraus: o Für OS/2: - Unterstützung von DPI 1.1, bereitgestellt von TCP/IP Version 2.0 oder eine spätere Version oder - Unterstützung von DPI 2.0, bereitgestellt von Warp Connect, das mit OS/2 Warp installiert wird, oder - Unterstützung von DPI 2.0, bereitgestellt von IBM SystemView Agent o Für Windows NT oder AIX: - Unterstützung von DPI 2.0, bereitgestellt von IBM SystemView Agent 13.10 KONFIGURIEREN DER DATENFERNVERARBEITUNG ZWISCHEN DEM CLIENT UND DEM SERVER MIT "CLIENT-KONFIGURATION - UNTERSTÜTZUNG" Damit die Verbindung mit IBM Communications Server SNA-API-Client für Windows NT oder Windows 95 korrekt hergestellt wird, müssen Sie die APING-Anwendung starten, bevor Sie eine beliebige GUI-Anwendung starten, die die Verbindung über APPC herstellt. Zu diesen GUI-Anwendungen gehören "Client-Konfiguration - Unterstützung", die Steuerzentrale sowie beliebige ODBC-GUI-Anwendungen. 13.11 VERWALTEN UND VERWENDEN DER OS/2-BENUTZERPROFILVERWALTUNG An einem Hinweis in Tabelle 7 im Abschnitt zu Kennwörtern der Benutzerprofilverwaltung muß eine Änderung vorgenommen werden, die sich auf die übersetzten Werte für Benutzer-IDs und Kennwörter bezieht. Der Hinweis in Tabelle 7 zu Standardwerten für Benutzer-IDs und Kennwörter besagt, daß die angenommenen Werte für Benutzer-ID und Kennwort verwendet werden, wenn Ihr Land in der Liste nicht aufgeführt ist. Zudem wird darauf verwiesen, daß Sie, wenn Sie diese Werte nicht verwenden können, weitere Informationen in der Informationsdatei (README) finden. Dieser Hinweis ist nicht mehr erforderlich und sollte nicht beachtet werden. 13.12 ADSM-CLIENT-KONFIGURATION FÜR EEE UNTER SOLARIS - MIT DB2PROFILE Wenn Sie einen ADSM-Client für DB2 UDB Extended Enterprise Edition für Solaris konfigurieren, sollten die Umgebungsvariablen DSMI_DIR, DSMI_CONFIG und DSMI_LOG ADSM in der Datei db2profile konfiguriert werden. Wenn diese Variablen lediglich mit .profile oder .kshrc exportiert werden, sind sie nicht für jeden Knoten in der partitionierten Datenbankumgebung verfügbar. Der ADSM-Client unter Solaris muß mindestens die Versionnummer 2.1.0.8 haben. 13.13 VERBINDUNGEN VON DB2 FOR OS/390 VERSION 5 ZU DB2 UNIVERSAL DATABASE VERSION 5 Die folgenden Informationen müssen im Kapitel, in dem beschrieben wird, wie die DB2-Datenstation für Host-Anwendungen als Server verwendet werden kann hinzugefügt werden. Fügen Sie sie dem Abschnitt hinzu, in dem die PTFs aufgeführt werden, die für DRDA-Anwendungs-Server erforderlich sind: Please apply the fix for DB2 for OS/390 APAR PQ07537 if you will be connecting from DB2 for OS/390 Version 5 to DB2 Universal Database Version 5. 13.14 KONFIGURIEREN VON NETBIOS AUF WINDOWS NT-SERVERN NetBIOS kann unter Windows NT Datenmengen, die den Empfangspuffer überschreiten, nicht ordnungsgemäß empfangen. Sie können jedoch den DB2-Registrierdatenbankwert db2nbrecvbuffsize verwenden, um dieses Problem zu vermeiden. Sie müssen den Empfangspuffer auf dem Server so einstellen, daß er größer als die größte Datenmenge ist, die von einem Client gesendet wird. Die Standardgröße für RQRIOBLK ist 32767 Byte, die Standardeinstellung für die "Empfangspuffergröße" des Servers ist jedoch 4096 Byte. Setzen Sie vor dem Starten von DB2 folgenden Befehl ab: db2set db2nbrecvbuffsize=32768 -g Mit diesem Befehl wird die Empfangspuffergröße des Servers global eingerichtet. 13.15 ADRESSEN FÜR GEMEINSAM GENUTZTEN SPEICHER - WINDOWS NT ODER WINDOWS 95 Im Einstiegshandbuch gelten im Abschnitt zur Verwaltung von Exemplaren für Windows NT und Windows 95 die folgenden überarbeiteten Informationen. Die Standardadresse für den gemeinsam benutzten Speicher des Datenbankmanagers ist x'20010000' bei Windows NT und x'90000000' bei Windows 95 und Windows 98. Wenn es beim gemeinsam benutzten Speicher zu einem Adressenkonflikt kommt, kann dieser Wert geändert werden, um das Datenbankmanagerexemplar zu zwingen, seinen gemeinsam benutzten Speicher einer anderen Adresse zuzuordnen. Verwenden Sie die Registrierdatenbankprofilvariable DB2DBMSADDR, um einen Adreßwert im Bereich von x'20010000' bis x'B0000000' bei Windows NT und von x'80000000' bis x'B00000000' bei Windows 95 und Windows 98 in Inkrementen von x'4000000' zuzuordnen. Probieren Sie zum Beispiel unter Windows 95 die Werte x'84000000', x'88000000', x'8C000000' usw. Der Wert von DB2DBMSADDR wird im hexadezimalen Format ohne vorangestelltes 0x angegeben und kann mit dem Profilregistrierdatenbankbefehl db2set gesetzt werden. Verwenden Sie zum Beispiel zum Setzen von DB2DBMSADDR auf x'84000000' den folgenden Befehl: db2set DB2DBMSADDR=84000000 13.16 AUSFÜHREN DES DB2-JDBC-APPLET-SERVERS ALS WINDOWS NT-Dienst Unter den Überschriften zur Ausführung von Java-Anwendungen (Java-Applets) steht in den Handbüchern "Einstieg" und "Verwaltung: Erste Schritte" folgendes: Gehen Sie wie folgt vor, um das Applet auszuführen: 1. Geben Sie folgendes ein, um den DB2-JDBC-Minianwendnungs-Server zu starten: db2jstrt anschlußnummer Hierbei ist "anschlußnummer" die Nummer des nicht verwendeten TCP/IP-Anschlusses, den Sie in der Datei DB2Applt.java angegeben haben. Diese Informationen sind aus folgendem Grund veraltet: Der DB2-JDBC-Applet-Server kann jetzt als Windows NT-Dienst gestartet werden und muß erst als Service registriert sein, bevor er in der Steuerzentrale verfügbar ist. Sie können den Service registrieren, indem Sie den folgenden Befehl ausführen, während Sie als Administrator angemeldet sind: db2regjdbc i Um den Service mit einer spezifischen Benutzer-ID auszuführen, setzen Sie den folgenden Befehl ab: db2regjdbc i [benutzerID] [kennwort] Sie entfernen den Service mit dem folgenden Befehl: db2regjdbc u Sobald der Service registriert ist, kann er von der Stystemsteuerung aus gestartet und gestoppt werden: 1. Öffnen Sie die Systemsteuerung. 2. Klicken Sie "Dienste" an. 3. Heben Sie "DB2 JDBC Applet Server" hervor. 4. Geben Sie unter "Startparameter" die Anschlußnummer ein (Nummer des nicht verwendeten TCP/IP-Anschlusses, den Sie in der Datei DB2Applt.java angegeben haben). Klicken Sie die Option "Starten" an. Der Service kann auch so eingerichtet werden, daß er automatisch gestartet und gestoppt wird. 13.17 ABRUFEN VON INFORMATIONEN 13.17.1 ONLINE-HILFE Die SQL-Hilfe, die die Syntax von SQL-Anweisungen beschreibt, ist für auf UNIX basierende Betriebssysteme nicht verfügbar. 13.17.2 DB2-BÜCHER Die Liste der Sprachenkennungen im ersten Hinweis am Ende der Tabelle mit Informationen zu den DB2-Büchern müssen die folgenden Einträge enthalten: Sprache Kennung ------- ------- Griechisch A Japanisch J Koreanisch K Vereinfachtes Chinesisch C Traditionelles Chinesisch T 13.17.3 DRUCKEN DER POSTSCRIPT-HANDBÜCHER Wenn Sie gedruckte Kopien der Handbücher vorziehen, können Sie die PostScript-Fassungen dekomprimieren und ausdrucken. HINWEIS: Geben Sie für die Datei, die Sie drucken möchten, den vollständigen Pfad an. Unter OS/2 und Windows: 1. Kopieren Sie die komprimierten PostScript-Dateien auf eine Festplatte Ihres Systems. Die Dateien haben die Erweiterung .exe und befinden sich im Verzeichnis x:\doc\sprache\books\ps. Hier steht x: für den Laufwerkbuchstaben des CD-ROM-Laufwerks und sprache für den Landescode aus zwei Buchstaben, der die Sprache angibt (zum Beispiel DE für Deutsch). 2. Dekomprimieren Sie die Datei, die dem gewünschten Buch entspricht. Sie müssen als Ergebnis eine druckbare PostScript-Datei mit der Erweiterung .psz erhalten. 3. Stellen Sie sicher, daß Ihr Standarddrucker PostScript-fähig ist und PostScript Level 1 (oder eine gleichwertige Stufe) beherrscht. 4. Setzen Sie in der Befehlszeile den folgenden Befehl ab: print dateiname.psz Unter UNIX: 1. Hängen Sie die CD-ROM an das Dateisystem an. Weitere Informationen zum Anhängen des CD-ROM-Laufwerks finden Sie im Handbuch "Einstieg". 2. Wechseln Sie in das Verzeichnis /cdrom/doc/%L/ps auf der CD-ROM. Hier steht /cdrom für den Mount-Punkt der CD-ROM und %L für den Namen der gewünschten länderspezifischen Angabe. Die Handbücher werden im oben erwähnten Verzeichnis mit den Dateinamenserweiterungen .ps.Z installiert. 3. Dekomprimieren und drucken Sie das gewünschte Handbuch mit dem folgenden Befehl: o Unter AIX: zcat dateiname | qprt -P PSdruckerwarteschlange o Unter HP-UX, Solaris oder SCO UnixWare 7: zcat dateiname | lp -d PSdruckerwarteschlange o Unter Silicon Graphics IRIX und SINIX: zcat < dateiname | lp -d PSdruckerwarteschlange Hier steht dateiname für den vollständigen Pfad mit der Erweiterung der komprimierten PostScript-Datei und PSdruckerwarteschlange für den Namen der PostScript-Druckwarteschlange. Wenn Sie zum Beispiel die deutsche Version des Handbuchs "Einstieg" für UNIX unter AIX drucken möchten, können Sie den folgenden Befehl absetzen: zcat /cdrom/doc/de/ps/db2ixe50.ps.Z | qprt -P ps1 13.17.4 ANZEIGEN DER ONLINE-BÜCHER Die Handbücher, die mit diesem Produkt geliefert werden, haben das Format Hypertext Markup Language (HTML). Da sie als Softcopy vorliegen, können Sie die Informationen durchsuchen oder durchblättern und erhalten Hypertextverbindungen zu zugehörigen Informationen. Außerdem können Sie die Bibliothek auf einfachere Weise an Ihrem Standort gemeinsam nutzen. Sie können einen beliebigen HTML 3.2-kompatiblen Browser verwenden, um die Online-Bücher anzuzeigen. Sie können die Online-Bücher wie folgt anzeigen: o Wenn Sie DB2-Verwaltungshilfsprogramme ausführen, verwenden Sie "Information - Unterstützung". o Verwenden Sie die Funktion Ihres WWW-Browsers zum Öffnen von Dateien. Die Seite, die Sie öffnen, enthält Beschreibungen von DB2-Büchern und Hypertextverbindungen zu Büchern: - Öffnen Sie unter UNIX die folgende Seite: file:/INSTHOME/sqllib/doc/%L/html/index.htm Hier steht %L für den Namen der länderspezifischen Angabe. - Unter anderen Betriebssystemen öffnen Sie die folgende Seite: sqllib\doc\html\index.htm Der Pfad gilt für das Laufwerk, auf dem DB2 installiert ist. Sie können die Seite auch öffnen, indem Sie das Symbol "DB2-Online-Bücher" doppelt anklicken. Je nach verwendetem Betriebssystem befindet sich das Symbol im Produktordner oder im Menü "Start" von Windows. HINWEIS: Das Symbol "DB2-Online-Bücher" ist nur verfügbar, wenn Sie "Information - Unterstützung" nicht installieren. 13.17.5 KONFIGURIEREN EINES DOKUMENT-SERVERS Die DB2-Informationen sind standardmäßig auf Ihrem lokalen System installiert. Das bedeutet, daß alle Benutzer, die auf die DB2-Informationen zugreifen müssen, dieselben Dateien installieren müssen. Um die DB2-Informationen an einer Position zu speichern, befolgen Sie diese Anweisungen: 1. Kopieren Sie alle Dateien und Unterverzeichnisse aus dem Verzeichnis \sqllib\doc\html auf Ihrem lokalen System auf einen WWW-Server. Für jedes Handbuch gibt es ein Unterverzeichnis, das alle erforderlichen HTML- und GIF-Dateien, aus denen das Handbuch besteht, enthält. Stellen Sie sicher, daß die Verzeichnisstruktur erhalten bleibt. 2. Konfigurieren Sie den WWW-Server so, daß er an der neuen Speicherposition nach den Dateien sucht. Weitere Informationen finden Sie unter "Setting up DB2 Online Documentation" auf der folgenden WWW-Seite: http://www.software.ibm.com/data/pubs/papers/db2html.html 3. Wenn Sie die Java-Version von "Information - Unterstützung" verwenden, können Sie für alle HTML-Dateien einen Basis-URL angeben. Sie sollten den URL für die Bücherliste verwenden. 4. Wenn Sie die Buchdateien anzeigen können, sollten Sie für folgende häufig benötigte Stellen Lesezeichen setzen: o Bücherverzeichnis o Inhaltsverzeichnisse häufig benötigter Bücher o Themen, die Sie häufiger nachschlagen, wie ALTER TABLE o Suchformular Weitere Informationen zum Konfigurieren der Suchfunktion finden Sie im Handbuch "Neue Funktionen". 13.17.6 SUCHEN IN ONLINE-BÜCHERN Um nach Informationen in der HTML-Dokumentation zu suchen, können Sie wie folgt vorgehen: o Klicken Sie in den HTML-Büchern am Ende einer beliebigen Seite "Suchen in DB2-Büchern" an. Verwenden Sie das Suchformular, wenn Sie ein bestimmtes Thema finden möchten. o Klicken Sie in den HTML-Büchern am Ende einer beliebigen Seite "Index" an. Suchen Sie im Index nach einem spezifischen Thema des jeweiligen Buches. o Zeigen Sie das Inhaltsverzeichnis oder den Index des HTML-Buchs an, und setzen Sie anschließend die Suchfunktion Ihres WWW-Browsers ein, um ein spezifisches Thema des Buches zu finden. o Verwenden Sie die Lesezeichenfunktion Ihres WWW-Browsers, um schnell zu einem bestimmten Thema zurückzukehren. o Verwenden Sie die Suchfunktion von "Information - Unterstützung", um spezifische Themen zu finden. 13.18 HTTP 1.1-EINSTELLUNGEN FÜR MICROSOFT INTERNET EXPLORER 4.0 Derzeit verursachen die Standardeinstellungen von Internet Explorer einen Konflikt mit dem DB2-Such-Server. Als Umgehung dieses Problems können Sie in den erweiterten Optionen von Internet Explorer das Markierungsfeld für die HTTP 1.1-Einstellungen inaktivieren (auf jedem Client, der auf die Dokumentation zugreift). Beachten Sie, daß aufgrund einer Beschränkung von Internet Explorer ein Neustart des Systems erforderlich ist, damit die Änderung wirksam wird. Im vorliegenden Fall wurde die englische Version des Produkts verwendet. 1. Wählen Sie im Menü "View" die Internet-Optionen aus. 2. Wählen Sie die Registerkarte "Advanced" aus. Sie erhalten eine Liste mit Abschnitten, die Markierungsfelder enthalten. 3. Inaktivieren Sie unter dem Abschnitt "HTTP 1.1 settings" die Markierungsfelder "Use HTTP 1.1 through proxy connections" und "Use HTTP 1.1". 4. Wählen Sie "OK" aus. 5. Beenden Sie Windows, und starten Sie den Computer erneut, damit die neuen Einstellungen wirksam werden. 13.19 ÜBERLEGUNGEN ZUR FERNEN VERWALTUNG VON CLUSTERN MIT HILFE DER STEUERZENTRALE Nach der Installation von DB2 UDB EEE für Windows NT auf mehreren Knoten ist nur der Knoten, der der "Eigner des Exemplars" ist, als Koordinatorknoten für den Datenaustausch von Client-Maschinen aus konfiguriert. Zur fernen Verwaltung des Clusters mit der Steuerzentrale müssen Sie den Datenaustausch auf allen Knoten aktivieren. Dazu können Sie die folgende Methode anwenden: 1. Reservieren Sie einen TCP/IP-Anschluß auf jeder dieser Maschinen. Zum Beispiel kann angenommen werden, daß der Anschluß 4000 auf jeder der Maschinen verfügbar ist. 2. Aktualisieren Sie die Konfigurationsdatei des Exemplars, so daß diese Anschlußnummer für alle Knoten verwendet wird. Geben Sie am Knoten, der Exemplareigner ist, folgendes ein: DB2 update dbm cfg using svcename 4000 3. Konfigurieren Sie jeden Knoten, so daß er TCP/IP akzeptiert. Geben Sie am Knoten, der Exemplareigner ist, folgendes ein: rah "db2set db2comm=TCPIP" Jeder Knoten akzeptiert eingehende TCP/IP-Verbindungen, wenn er erneut gestartet wird. 14.0 REPLIKATION REFERENZHANDBUCH 14.1 ZUSÄTZLICH UNTERSTÜTZTE PLATTFORMEN IBM Replikation besteht aus mehreren benutzerfreundlichen, automatischen Kopierprogrammen, mit denen Daten von Quellen an Zielen repliziert werden können. Folgende Kopien sind möglich: o Zwischen Datenbank-Servern unter DB2 for MVS, DB2 for VSE & VM, DB2 Universal Database und DB2 for OS/400 o Zwischen Plattformen für MVS, VM, VSE, OS/400, AIX, HP-UX, SCO UnixWare 7, OS/2, Windows NT, Windows 95, Windows 98 und Solaris o Auf andere Quellen und Ziele als DB2 wie Oracle, Sybase, Informix und Microsoft SQLServer (über DB2 DataJoiner) 14.2 NEUE NACHRICHTEN Zwei Nachrichten für das Apply-Programm fehlen in Kapitel 21 zu den Nachrichten für IBM Replikation: ASN1054S Das Apply-Programm konnte die Registrierungsinformationen für Quelleneigner "", Quellentabelle "" und dem Qualifikationsmerkmal für die Quellensicht "" nicht finden. Ursache Die Registrierung der Quellentabelle ist falsch oder unvollständig. Massnahme Löschen Sie die Registrierung, und führen Sie sie erneut aus. Stellen Sie außerdem sicher, daß die Registrierungsdaten sich sowohl in der Registrierungstabelle als auch in der Löschsteuertabelle befinden. ASN1055S Das Apply-Programm konnte die Löschsteuerinformationen für Quelleneigner "", für das Qualifikationsmerkmal für die Quellensicht "", Zieleigner "" und Zieltabelle "" nicht finden. Ursache Die Registrierung der Quellentabelle ist falsch. Massnahme Löschen Sie die Subskription,und führen Sie sie erneut aus. 14.3 UNTERSTÜTZUNG VON LONG VARCHAR DURCH DAS CAPTURE-PROGRAMM FÜR DB2 UDB VERSION 5.2 Das Capture-Programm für DB2 UDB Version 5.2 unterstützt nun den Datentyp LONG VARCHAR. Lange Datensätze des neuen Long Field Manager, die die Daten enthalten, um Änderungen an LONG VARCHAR-Spalten aufzuzeichnen, sind verfügbar. Benutzer von DB2 UDB Version 5, die die neuen Capture-Funktionen benötigen, können der Anweisung ALTER TABLE eine zusätzliche Klausel hinzufügen. Die Syntax von CREATE TABLE ändert sich nicht. Um die neue Unterstützung von LONG VARCHAR zu nutzen, müssen Sie in der Anweisung ALTER TABLE die Klausel DATA CAPTURE CHANGES INCLUDE LONGVAR COLUMNS angeben. Wenn diese DDL-Anweisung ausgeführt wird, wird die Spalte DATA CAPTURE CHANGES in SYSCAT.TABLES auf "L" gesetzt. Immer wenn Basistabellen mit der Optionszeile INCLUDE LONGVAR aktualisiert werden, werden lange Datensätze von Long Field Manager vom Capture-Programm geschrieben und gelesen. Diese Datensätze enthalten Vor- und Nachabbilder der Spalten. Wenn Sie die neue Unterstützung von LONG VARCHAR inaktivieren möchten, müssen Sie in der Anweisung ALTER TABLE den entsprechenden Wert für DATA CAPTURE CHANGES angeben. Sie können zum Beispiel "YES" oder "NONE" ohne zusätzliche Klausel angeben. Zur Registrierung der LONG VARCHAR-Spalten gehen Sie von der Steuerzentrale aus wie folgt vor: 1. Suchen Sie "Verfügbare Spalten" im Fenster "Als Replikationsquelle definieren". 2. Wählen Sie die LONG VARCHAR-Spalten aus. Es gelten die folgenden Einschränkungen: Für die Operation DELETE (IBMSNAP_OPERATION="D") sind die Werte in der LONG VARCHAR-Spalte gleich Null. | 14.4 INFORMATIONEN ZUM DATAJOINER-HILFSPROGRAMM ZUR REPLIKATIONSVERWALTUNG | Willkommen zu DB2 DataJoiner-Hilfsprogramm zur Replikationsverwaltung | (DataJoiner Replication Administration Tool) Version 2.1.1 (DJRA). | Dieser Abschnitt enthält Informationen, die zur Installation von DJRA | erforderlich sind: | o Informationen zu DJRA | o Installieren von DJRA | INFORMATIONEN ZU DJRA | DJRA steht erstmals als eine Beispielanwendung in DB2 UDB FixPak 7 für | Windows 95, Windows 98 und Windows NT zur Verfügung. DJRA ist ausschließlich | für diese Betriebssysteme verfügbar. Das Hilfsprogramm bietet | Verwaltungsfunktionen für die Datenreplikation. DJRA ist für Kunden | geeignet, die Verwaltungsfunktionen für DataPropagator Relational für | MVS Version 5 und DataPropagator Relational Version 5 für AS/400 benötigen. | Einige der für diese beiden Plattformen benötigten Verwaltungsfunktionen | sind derzeit nicht über die Steuerzentrale von DB2 UDB verfügbar. | INSTALLIEREN VON DJRA | DJRA befindet sich im Verzeichnis "\BONUS\REPLICATION". Grundlegende | Informationen zur Installation und Konfiguration finden Sie im | Handbuch "DataJoiner Planning, installation and Configuration Guide" | unter der folgenden Adresse: | http://www.software.ibm.com/data/datajoiner/booksv2/djxn2m79 | Die Veröffentlichung (SC26-915-01) kann auch separat bestellt werden. | Wenn Sie eine PostScript-Kopie drucken möchten, laden Sie die Datei | "v2ntpic.pdf" von der FTP-Site von DataJoiner herunter: | ftp://ftp.software.ibm.com/ps/products/datajoiner/info/ | Die Replikationsverwaltung muß unter Windows 95, Windows 98 oder | Windows NT installiert werden. Wenn Sie Replication Administration Version | 2.1.1 installieren möchten, gehen Sie wie folgt vor: | 1. Öffnen Sie "Arbeitsplatz" oder das Hilfsprogramm "Explorer". | 2. Klicken Sie die UDB DB2 CD-ROM an. | 3. Wählen Sie "Bonus" aus. | 4. Wählen Sie anschließend "Replication" aus. | 5. Führen Sie das Programm DJRA aus. Hierdurch wird die Datei entpackt, | und der Installationsprozeß wird gestartet. | Während der Installation können Sie das Verzeichnis angeben, in dem | DJRA installiert werden soll. Sie können auch in der Informationsdatei | README.TXT blättern, die die aktuellsten Informationen zu der | Anwendung enthält. 15.0 ROADMAP TO DB2 PROGRAMMING 15.1 INFORMATIONEN ZUM APPLICATIONS DEVELOPER'S KIT VisualAge für Basic und Lotus Approach sind nicht mehr im Lieferumfang des Produkts enthalten. 16.0 SQL REFERENCE | 16.1 BENENNUNGSKONVENTIONEN (CURSOR-NAME) | CURSOR-NAME Eine ausführliche Kennung, die einen SQL-Cursor | kennzeichnet. Für die Host-Kompatibilität unterstützt | sie zudem Silbentrennungsstriche. | 16.2 ALTER TABLE Die Klausel ACTIVATE NOT LOGGED INITIALLY sollte nicht verwendet werden, wenn DATALINK-Spalten mit dem Attribut FILE LINK CONTROL der Tabelle hinzugefügt werden. | Ersetzten Sie die Beschreibung von "table-name" durch folgende | Informationen: | "table-name" | Identifies the table to be changed. It must be a table described in the | catalog and must not be a view or catalog table. If it is a summary table, | alterations are limited to activating not logged initially, changing pctfree, | locksize or append. | 16.3 COMPOUND SQL | Die folgenden Informationen sollten dem Abschnitt "Rules" hinzugefügt | werden: | DB2-Connect does not support SELECT statements selecting LOB columns in a | compound SQL block. 16.4 CREATE FUNCTION 16.4.1 DBINFO Unter CREATE FUNCTION (externe Skalarfunktion) und CREATE FUNCTION (externe Tabelle) befindet sich eine Liste mit Informationen, die in der Struktur DBINFO enthalten sind. Diese Struktur wird der benutzerdefinierten Funktion übergeben, wenn der Ersteller DBINFO angibt. Zu jeder dieser Listen wurde der folgende Punkt hinzugefügt: Application ID - unique application ID which is established for each connection to the database. | 16.4.2 FEHLERVERARBEITUNG FÜR AUFRUFARTEN AN DIE UDF | Im Abschnitt "CREATE FUNCTION (External Scalar)" sollte der folgende | Satz am Ende der Spezifikation "NO FINAL CALL or FINAL CALL" eingefügt | werden: | A description of the scalar UDF processing of these calls when errors occur | is included in the Embedded SQL Programming Guide, Chapter 7, "Other Coding | Considerations" section, under "Hints and Tips". | Diese aktualisierte Beschreibung finden Sie im Abschnitt 8.11.2, | "Fehlerverarbeitungsmodell für externe UDFs für Skalarfunktionen" | in dieser Datei. | Im Abschnitt "CREATE FUNCTION (External Table)" sollte der folgende | Satz am Ende der Spezifikation "NO FINAL CALL or FINAL CALL" eingefügt | werden: | A description of the table UDF processing of these calls when errors occur is | included in the Embedded SQL Programming Guide, Chapter 7, "Table Function | Considerations" section. | Diese aktualisierte Beschreibung finden Sie im Abschnitt 8.11.1, | "Argumente von Aufrufarten für SCRATCHPAD und FINAL CALL für | EXTERNAL TABLE" in dieser Datei. | 16.5 CREATE TABLE | 16.5.1 BESCHREIBUNG VON CREATE TABLE | Fügen Sie den folgenden Text der Beschreibung von NOT LOGGED INITIALLY hinzu: The NOT LOGGED INITIALLY clause should not be used when DATALINK columns with the FILE LINK CONTROL attribute are present in the table. | Ersetzen Sie die Beschreibung von "FULLSELECT" unter | "summary-table-definition" durch folgende Informationen: | FULLSELECT | Defines the query in which the table is based. The summary-table-options | specified define attributes of the summary table. The option chosen also | defines the contents of the fullselect as follows: | When DEFINITION ONLY is specified, any valid fullselect can be specified. | The data type and nullability attribute are determined from the result | columns of the select list. Every select list element must have a name. | When REFRESH DEFERRED or REFRESH IMMEDIATE is specified, the fullselect | cannot include: | o references to a view, summary table, or typed table in any FROM clause | o expressions that are a reference type or DATALINK type (or distinct type | based on these types) | o functions that have external action | o functions that depend on physical characteristics (for example | NODENUMBER, PARTITION) | o table or view references to system objects (explain tables also should | not be specified). | Furthermore, when REFRESH IMMEDIATE is specified: | o the fullselect must be a subselect | o the subselect cannot include: | - functions that are not deterministic | - scalar fullselects | - predicates with fullselects | - special registers | o a GROUP BY clause must be included in the subselect | o the select list must have a COUNT(*) function (or COUNT_BIG(*)) and no | DISTINCT | o only SUM (of not nullable columns), COUNT, or COUNT_BIG column functions | are allowed in the select list (without DISTINCT) and other select list | items must be included in the GROUP BY clause | o the FROM clause must reference a single base table (tables cannot be | summary tables, typed tables, or views) | o all GROUP BY items must be included in the select list | o no grouping sets are allowed (including CUBE and ROLLUP) or grouping on | constants | o a HAVING clause is not allowed | o if in a multiple partition nodegroup, then a partitioning key must be a | subset of the group by items. | Ersetzen Sie die Beschreibung von "REPLICATED" durch folgende Informationen: | REPLICATED | Specifies that the data stored in the table is physically replicated on each | database partition of the nodegroup of the table space in which the table is | defined. This means that a copy of all the data in the table exists on each | of these database partitions. This option can only be specified for a summary | table defined with REFRESH DEFERRED (SQLSTATE 42997). | 16.5.2 HINWEISE ZU CREATE TABLE | Ersetzen Sie den siebten Punkt unter dem Abschnitt "Notes" durch folgende | Informationen: | o A REFRESH DEFERRED summary table may be used to optimize the processing | of queries. In order for this optimization to be able to use a summary | table, the fullselect must conform to certain rules in addition to those | already described. The fullselect must: | - be a subselect with a GROUP BY | - not include DISTINCT anywhere in the select list | - not include any grouping sets (including CUBE and ROLLUP) | - not allow nulls in any grouping columns in the group by clause | - not reference any column more than once | - not contain more than 32 columns in the group by clause | - not include any special registers | - not include functions that are not deterministic. | If the query specified when creating a REFRESH DEFERRED summary table | does not conform to these rules, a warning is returned (SQLSTATE 01633). | Fügen Sie unter dem Abschnitt "Notes" folgenden neuen Punkt hinzu: | o If a summary table is defined with REFRESH IMMEDIATE, it is possible for | an error to occur when attempting to apply the change resulting from an | insert or update of the underlying table. The error will cause the | failure of the insert or update of the underlying table. | 16.6 CREATE TABLESPACE | Die im Unterabschnitt "DROPPED TABLE RECOVERY" beschriebene Funktionalität | wurde nicht implementiert. Dieser Unterabschnitt sollte aus dem | Handbuch "SQL Reference" von Version 5.2 gelöscht werden. 16.7 APPENDIX A. SQL LIMITS/DATABASE MANAGER LIMITS Die maximale Anzahl von Tabellen in einem DMS-Tabellenbereich wurde von 6648 auf 51971 erhöht. Dieser neue Höchstwert gilt automatisch für alle Tabellenbereiche mit einer anderen Seitengröße als 4 KB und für alle neu erstellten 4 KB großen DMS-Tabellenbereiche. Für vorhandene 4 KB große DMS-Tabellenbereiche wird die neue Option /ets des Dienstprogramms db2dart verwendet, um den neuen Höchstwert anzuwenden: 1. Inaktivieren Sie die Datenbank. (Das heißt, es dürfen keine Verbindungen mehr zur Datenbank bestehen.) 2. Setzen Sie den folgenden Befehl ab: db2dart /ets /tsi . Dadurch wird der angegebene Tabellenbereich für die bestehende Tabelle, der Index oder die Objekte des Datentyps LONG überprüft, um Kennungen zu finden, die mit dem Höchstwert inkompatibel sind. Wenn solche Kennungen nicht gefunden werden, wird der neue Höchstwert auf den betreffenden Tabellenbereich angewendet. Andernfalls wird im Dart-Bericht eine Liste inkompatibler Tabellen aufgeführt. In diesem Fall müssen die betreffenden Tabellen gelöscht und der Befehl erfolgreich ausgeführt werden, damit der neue Höchstwert wirksam wird. Nachdem das Dienstprogramm auf allen logischen Knoten erfolgreich ausgeführt worden ist, können die Tabellen erneut erstellt und geladen werden. Führen Sie diesen Befehl auf EEE-Installationen erst für einen logischen Knoten einer Knotengruppe aus, in der der Tabellenbereich sich befindet. Wenn inkompatible Tabellen erkannt werden, löschen Sie diese, und setzen den Befehl erneut ab. Nachdem Sie den Befehl für einen logischen Knoten erfolgreich ausgeführt haben, müssen Sie ihn erneut für jeden logischen Knoten der Knotengruppe, in dem sich der Tabellenbereich befindet, ausführen. (Sie können entweder das Dienstprogramm db2_all oder db2dart_all verwenden.) Weitere Informationen zu den Optionen von db2dart erhalten Sie, indem Sie db2dart ohne Optionen aufrufen. Das Dienstprogramm befindet sich im Verzeichnis sqllib\misc. HINWEISE: 1. Wenn der Befehl db2dart /ets für einen Tabellenbereich erfolgreich ausgeführt worden ist, wird die Wiederherstellung eines Sicherungsabbildes eines Tabellenbereichs, das vor der Ausführung von dbdart /ets gespeichert wurde, nicht mehr unterstützt. 2. Wenn der Befehl db2dart /ets für einen beliebigen Tabellenbereich der Datenbank erfolgreich ausgeführt worden ist, wird die Wiederherstellung eines Sicherungsabbildes eines Tabellenbereichs, das vor der Ausführung von dbdart /ets gespeichert wurde, und die aktualisierende Wiederherstellung bis zum Zeitpunkt der Ausführung von db2dart /ets hinaus, nicht mehr unterstützt. 3. Sofort nach der erfolgreichen Ausführung von db2dart /ets muß die Datenbank gesichert werden (alle Tabellenbereiche, für die das Dienstprogramm erfolgreich ausgeführt worden ist, werden in den Status der anstehenden Sicherung versetzt). 17.0 SYSTEM MONITOR GUIDE AND REFERENCE 17.1 EREIGNISMONITORE MIT LOKALER REICHWEITE Das Syntaxdiagramm für die Anweisung CREATE EVENT MONITOR gibt an, daß Ereignismonitore standardmäßig mit globaler Reichweite erzeugt werden. Dies ist jedoch nicht richtig. Ereignismonitore werden standardmäßig mit lokaler Reichweite erstellt. 18.0 NEUE FUNKTIONEN | 18.1 LEISTUNG (ABFRAGE/ÜBERSICHTSTABELLE) | Der Hinweis am Ende dieses Abschnitts kann ignoriert werden. Die Option | "REFRESH IMMEDIATE" ist nun verfügbar. | 18.2 AKTUALISIERUNG DES ANHANGS "BUILDING JAVA APPLICATIONS AND APPLETS" Zum Erstellen und Ausführen von in Java eingebetteten SQL-Programmen (SQLJ) benötigen Sie nun Java Development Kit (JDK) Version 1.1.4 (oder eine höhere Version). Es gab mehrere Änderungen an den Java-Beispielprogrammen, die in diesem Anhang dokumentiert sind. Die gespeicherten Prozeduren und UDF-Programme wurden in separate Client- und Server-Programme unterteilt. Dadurch können Benutzer von Client-Maschinen fern auf gespeicherte Prozeduren und UDFs auf Server-Maschinen zugreifen. Die hiervon betroffenen Dateien sind im folgenden aufgeführt: DB2STP Dies ist jetzt ein Server-Programm. Das Client-Programm, von dem es aufgerufen wird, ist DB2SPCLI. DB2UDF Dies ist jetzt ein Server-Programm. Das Client-Programm, von dem es aufgerufen wird, ist DB2UDCLI. STP Dies ist jetzt ein Server-Programm. Das Client-Programm, von dem es aufgerufen wird, ist STPCLI. UDF Dies ist jetzt ein Server-Programm. Das Client-Programm, von dem es aufgerufen wird, ist UDFSRV. Die Prozedurdateien "embprep" für UNIX, "embprep.bat" für Windows und "embprep.cmd" für OS/2 wurden zum Vorkompilieren und Binden von SQLJ-Programmen erstellt. Sie werden von der Makefile aufgerufen und führen den Befehl "db2profc" für die Java-Beispielprogramme mit eingebettetem SQL aus. Die Dateien erlauben wahlfreie Argumente für die Datenbank, die Benutzer-ID und das Kennwort. Dadurch wird das ferne Binden an Datenbanken auf DB2-Servern von Client-Maschinen aus möglich. Für die SQLJ-Unterstützung für DB2 UDB Version 5.2 gibt es folgende Beschränkungen: o Die Vorkompilierungsoption "DATETIME" wird nicht unterstützt. Nur das Datum- und das Zeitformat der International Standards Organization (ISO) werden unterstützt. o Mit der Vorkompilierungoption "PACKAGE USING paketname" wird der Name des Pakets angegeben, das vom Precompiler generiert werden soll. Wenn kein Name eingegeben wird, wird der Name des Profils verwendet (ohne Erweiterung und in Großbuchstaben umgewandelt). Die maximale Länge beträgt 8 Zeichen. Da der SQLJ-Profilname das Suffix _SJProfileN (N steht für die Nummer des Profilschlüssels) aufweist, ist der Profilname immer länger als acht Zeichen. Der Standardpaketname wird generiert, indem die ersten Zeichen (8 - pfKeyNumLen) der Profilnummer und die Nummer des Profilschlüssels aneinandergehängt werden, wobei pfKeyNumLen für die Länge der Profilschlüsselnummer im Profilnamen steht. Wenn die Länge der Profilschlüsselnummer länger als 7 Zeichen ist, werden die letzten 7 Zeichen verwendet, ohne daß vorher eine Warnung ausgegeben wird. Beispiel: Profilname Standardpaketname --------------------- -------------------- App_SJProfile1 App_SJP1 App_SJProfile123 App_S123 App_SJProfile1234567 A1234567 App_SJProfile12345678 A2345678 o Wenn die Host-Variable java.math.Bigdecimal verwendet wird, ist die Genauigkeit und die Anzahl der Vor- und Nachkommastellen der Host-Variablen für die Vorkompilierung der Anwendung nicht verfügbar. Wenn die Genauigkeit und die Anzahl der Kommastellen der dezimalen Host-Variablen nicht aus dem Kontext der Anweisung ersichtlich wird, in dem diese verwendet wird, können Genauigkeit und Anzahl der Kommastellen mit CAST angegeben werden. o Eine Java-Variable mit dem Datentyp java.math.BigInteger kann in einer SQL-Anweisung nicht als Host-Variable verwendet werden. o Alle gespeicherten SQLJ-Prozeduren müssen im Modus FENCED ausgeführt werden. | o Die SQLJ-Option "profile" wird nicht unterstützt. Verwenden Sie zum | Anpassen des von SQLJ generierten Profils "db2profc". | o Die Klausel "SET TRANSACTION" wird nicht unterstützt. | o Die Klausel "WITH" wird nicht unterstützt. | o Die Interoperabilität zwischen SQLJ-Iteratoren und JDBC-Ergebnismengen | wird nicht unterstützt. | o Java-Host-Ausdrücke können nicht in SQL-Anweisungen verwendet werden. Einige Browser unterstützen noch nicht das Laden von serialisierten Objekten aus einer Ressourcendatei, die dem Applet zugeordnet ist. Wenn Sie versuchen, das Applet Applt in solche Browser zu laden, erhalten Sie die folgende Fehlernachricht: java.lang.ClassNotFoundException: Applt_SJProfile0 Dieses Problem kann mit einem Dienstprogramm umgangen werden, mit dem serialisierte Profile in ein Profil umgesetzt werden können, das im Java-Klassenformat gespeichert ist. Dieses Dienstprogramm ist eine Java-Klasse mit dem Namen sqlj.runtime.profile.util.SerProfileToClass. Als Eingabedaten benötigt dieses Programm eine serialisierte Profilressourcendatei. Die Ausgabe besteht aus einer Java-Klasse, die das Profil enthält. Dieses Profil kann mit dem folgenden Befehl umgesetzt werden: profconv Applt_SJProfile0.ser oder java sqlj.runtime.profile.util.SerProfileToClass Applt_SJProfile0.ser Als Ergebnis wird die Klasse Applt_SJProfile0.class erzeugt. Ersetzen Sie alle vom Applet verwendeten Profile im Format .ser durch Profile im Format .class. Für ein SQLJ-Applet benötigen Sie die Dateien db2java.zip und runtime.zip. Wenn Sie nicht alle Applet-Klassen und alle Klassen in db2java.zip und runtime.zip in einer einzigen Jar-Datei packen möchten, setzen Sie db2java.zip und runtime.zip (durch ein Komma getrennt) im Archivierungsparameter des Kennzeichens "applet". Für Browser, die im Archivierungskennzeichen nur eine zip-Datei unterstützen, geben Sie im Archivierungskennzeichen db2java.zip an, und entpacken Sie die Datei runtime.zip mit den Applet-Klassen in ein Arbeitsverzeichnis, auf das von Ihrem WWW-Browser aus zugegriffen werden kann. 18.3 WEB CONTROL CENTER UND NETQUESTION (AKTIVIEREN VON SUCHVORGÄNGEN FÜR FERNE DOKUMENTATION IN WEB CONTROL CENTER) Die Anweisungen zum Aktivieren von Suchvorgängen für ferne Dokumentation unter UNIX sind nicht korrekt. Korrekte Anweisungen werden unter der folgenden WWW-Adresse bereitgestellt: http://www.software.ibm.com/data/pubs/papers/db2html.html Das angegebene Beispiel für den Befehl "nqmap" unter OS/2 und Windows ist wie folgt zu ändern: nqmap -u DB2ADMEN "http://ihrserver/doc/html/" DB2ADMEN Die Anweisungen zum Bearbeiten der Merkmale des Symbols "HTML- Such-Server starten" unter OS/2 sollten wie folgt lauten: 1. Klicken Sie das Symbol "HTML-Such-Server starten" in Ihrem Ordner "DB2 für OS/2" mit der rechten Maustaste an. Wählen Sie "Einstellungen" aus, und klicken Sie die Indexzunge "Programm" an. Fügen Sie im Feld für wahlfreie Parameter am Ende der Parameterzeichenfolge die Angabe CONFIG DB2WEBCC.CNF hinzu. Klicken Sie das Systemmenü oben links an, um das Fenster zu schließen. 2. Bearbeiten Sie die Datei db2init.cmd. Sie befindet sich im Verzeichnis x:\sqllib\bin\. Dabei ist x: das Laufwerk, auf dem Sie DB2 installiert haben. Lokaliseren Sie in dieser Datei die Zeile mit den Angaben "DB2SS.EXE" and "DB2NETQD.EXE". Fügen Sie am Ende dieser Zeile die Angabe CONFIG "DB2WEBCC.CNF" hinzu. (Beachten Sie, daß der Dateiname in doppelten Anführungszeichen stehen muß.) Sichern Sie die Datei, und schließen Sie sie. Führen Sie die weiteren Anweisungen aus, um Suchvorgänge für ferne Dokumentation zu aktivieren. Wenn Sie alle DB2-Online-Informationen durchsuchen wollen, müssen Sie die DB2-Dokumentation (unter UNIX als "Produktbibliothek" bezeichnet) und Web Control Center mit der dazugehörigen Online-Hilfe installieren. Wenn Sie zwar Web Control Center mit Hilfefunktion, jedoch die übrige DB2-Online-Dokumentation nicht installieren, wird beim Zugriff auf die Suchkategorien für Verwaltung, Programmierung und DB2 Connect möglicherweise Fehlercode 24 ausgegeben, der darauf hinweist, daß diese Suchindizes nicht installiert sind. Derselbe Fehlercode kann auch angezeigt werden, wenn Sie die DB2-Online-Dokumentation ohne Web Control Center installieren und danach versuchen, auf die Online-Hilfefunktion von Web Control Center zuzugreifen. 18.4 EINSCHRÄNKUNGEN FÜR DIE STEUERZENTRALE Für die Steuerzentrale gelten die folgenden Einschränkungen: o Der Konfigurationsparameter audit_buf_sz wird im Notizbuch für die Konfiguration der Steuerzentrale nicht unterstützt. o Objekte unterhalb des Datenbankordners (ausgenommen Benutzer, Gruppen und Tabellenbereiche): Diese Objekte sind in alphabetischer Reihenfolge sortiert. o Eine partitionierte Datenbank muß mehr als einen zu überwachenden Knoten enthalten (nur DB2 UDB EEE). | 18.5 JAVA DEVELOPMENT KIT-STUFE FÜR WEB CONTROL CENTER | Das Handbuch "Neue Funktionen" enthält im Abschnitt zu Web Control | Center nicht korrekte Informationen. Der Hinweis auf die Java | Development Kit-Stufe sollte aus dem folgenden Satz entfernt werden: | Web Control Center wird von einem beliebigen Java-fähigen WWW-Browser | aus ausgeführt, der Java Development Kit 1.1.5 unterstützt. | Eine aktuelle Liste der unterstützten Web-Browser und Informationen zur | erforderlichen Java Development Kit-Stufe finden Sie auf der folgenden | Web-Seite: | http://www.software.ibm.com/data/db2/udb/webcc/ 19.0 HTML-SUCH-SERVER FÜR OS/2: SUCHEN NACH HTML-DOKUMENTATION Zum Lieferumfang der Online-Dokumentation für IBM DB2 Universal Database (DB2 UDB) gehört ein HTML-Such-Server, der das Auffinden von Informationen erleichtert. In den vorliegenden Release-Informationen wird das Einrichten und Verwenden dieses Suchsystems unter OS/2 beschrieben. 19.1 INSTALLIEREN DES HTML-SUCHSYSTEMS UNTER OS/2 19.1.1 VORAUSSETZUNGEN FÜR DAS SUCHSYSTEM UNTER OS/2 Auf Ihrer Maschine muß TCP/IP Version 3 oder höher installiert sein. Das Betriebssystem OS/2 Warp Version 4 wird empfohlen, weil es über die entsprechende Stufe von TCP/IP verfügt. OS/2 Warp Version 3 mit Internet Access Kit (IAK) eignet sich ebenfalls, wenn es für eine lokale Prüfschleife (local loopback) konfiguriert wird und das aktuellste FixPak installiert ist. Sie benötigen einen Browser wie z. B. Netscape 2.02 für OS/2. Wenn für Ihre Sprache kein Netscape-Browser verfügbar ist, verwenden Sie Web Explorer 1.1 oder höher. Inaktivieren Sie in dem verwendeten Browser die Proxy-Verarbeitung für 'localhost'. Wenn Sie DB2 UDB auf einem System mit VisualAge für C++ für OS/2 installieren, muß CSD6 oder höher für das Produkt VisualAge für C++ installiert sein. 19.1.2 KONFIGURIEREN VON TCP/IP UNTER OS/2 Der Such-Server funktioniert unabhängig davon, ob ein Netzwerkadapter installiert ist oder nicht, sofern TCP/IP 'local loopback' und 'localhost' auf Ihrem System aktiviert sind. Gehen Sie wie folgt vor, um 'local loopback' zu aktivieren: 1. Öffnen Sie den Ordner "TCP/IP" von OS/2. 2. Öffnen Sie das Notizbuch "TCP/IP-Konfiguration". 3. Zeigen Sie die Seite "Netzwerk" an. 4. Heben Sie im Markierungsfeld "Zu konfigurierende Schnittstelle" den Eintrag "loopback interface" hervor. 5. Wählen Sie das Markierungsfeld "Schnittstelle aktivieren" aus, wenn es noch nicht ausgewählt ist. 6. Überprüfen Sie, ob für "IP-Adresse" der Wert 127.0.0.1 und für "Teilnetzwerkmaske" nichts angegeben ist. Gehen Sie wie folgt vor, um 'localhost' auf Ihrem System zu aktivieren: 1. Überprüfen Sie, ob 'localhost' bereits aktiviert ist, indem Sie in einer OS/2-Befehlszeile "ping localhost" eingeben. o Wenn Daten zurückgegeben werden, ist 'localhost' aktiviert; d. h., Sie können die folgenden Schritte 2 und 3 überspringen und direkt mit Schritt 4 fortfahren. o Wenn "unbekannter Hoste localhost" zurückgegeben wird oder der Befehl blockiert, ist 'localhost' nicht aktiviert. Führen Sie Schritt 2 aus. 2. Wenn Sie in einem Netzwerk arbeiten, stellen Sie sicher, daß 'loopback' aktiviert ist (siehe den vorangegangenen Abschnitt zum Aktivieren von 'local loopback'). 3. Wenn Sie kein Netzwerk verwenden, aktivieren Sie 'localhost' durch Ausführen der folgenden Schritte: a. Fügen Sie die folgende Zeile nach den anderen 'ifconfig'-Zeilen der Befehlsdatei MPTN\BIN\SETUP.CMD hinzu: ifconfig lo 127.0.0.1 HINWEIS: Wenn Sie OS/2 Warp mit Internet Access Kit verwenden, fügen Sie die Zeile in die Datei \STARTUP.CMD ein und nicht in MPTN\BIN\SETUP.CMD. Wenn die Datei nicht vorhanden ist, müssen Sie sie erstellen. b. Führen Sie im Ordner "TCP/IP-Konfiguration" die folgenden Schritte aus: 1) Rufen Sie die Seite "Dienste zur Namensauflösung konfigurieren" auf. 2) Fügen Sie in der Tabelle "Host-Namen-Konfiguration ohne Namen-Server" einen Eintrag mit der Einstellung 127.0.0.1 für "IP-Adresse" und 'localhost' für "Host-Name" hinzu. HINWEIS: Wenn auf der Seite "Dienste zur LAN-Namenauflösung konfigurieren" ein Host-Name für Ihre Maschine angegeben ist, müssen Sie diesen Namen als Aliasnamen hinzufügen, wenn Sie die IP-Adresse 127.0.0.1 auf 'localhost' setzen. c. Wählen Sie das Listenfeld "HOSTS-Liste vor Abfragen der Namen-Server durchsuchen" aus. HINWEIS: Durch diesen Schritt wird OS/2 mitgeteilt, daß beim Suchen eines Hosts wie z. B. 'localhost' nicht der Namens-Server durchsucht, sondern die auf Ihrer Maschine angegebene Adresse verwendet werden soll. Wenn der Host auf Ihrer Maschine nicht definiert ist, durchsucht OS/2 den von Ihnen konfigurierten Namens-Server nach dem Host. d. Schließen Sie den Ordner "TCP/IP-Konfiguration", und starten Sie das System erneut. e. Sie müßten nun in der Lages sein 'ping localhost' auszuführen, auch wenn keine Netzwerkverbindung besteht. 4. Überprüfen Sie, ob Ihr Host-Name korrekt ist. Geben Sie in einer OS/2-Befehlszeile "hostname" ein. Der zurückgegebene Host-Name müßte mit dem auf der Seite "Hosts" des Notizbuchs "TCP/IP-Konfiguration" angegebenen Host-Namen übereinstimmen und weniger als 32 Zeichen umfassen. Wenn der Host-Name diese Bedingungen micht erfüllt, korrigieren Sie ihn auf der Seite "Hosts". Korrigieren Sie ihn anschließend in der Datei CONFIG.SYS (SET HOSTNAME=), falls erforderlich. Starten Sie das System erneut, nachdem Sie die erforderlichen Änderungen vorgenommen haben. 19.1.3 ÜBERPRÜFEN DER TCP/IP-KONFIGURATION Klicken Sie das Symbol "HTML-Such-Server starten" an, das sich im Ordner "DB2 für OS/2" befindet. Wenn eine Fehlernachricht ausgegeben wird, ist TCP/IP nicht korrekt konfiguriert. Folgen Sie den Anweisungen im Abschnitt 19.1.2 zum Konfigurieren von TCP/IP unter OS/2, um sicherzustellen, daß TCP/IP korrekt konfiguriert ist. Starten Sie OS/2 erneut, wenn Sie Einstellungen geändert haben. 19.1.4 LOKALISIEREN DES SUCHSYSTEMVERZEICHNISSES Das Suchsystem ist in einem eigenen Verzeichnis gespeichert, weil es auch von anderen Produkten verwendet werden kann. Wenn Sie beispielsweise DB2 UDB zusammen mit dem Suchsystem auf Laufwerk G und später VisualAge for Java auf Laufwerk H installiert haben, wird nur ein Suchsystem (beim ersten Installationsvorgang) installiert. Bei einigen Anweisungen in diesem Dokument müssen Sie die Position dieses Verzeichnisses angeben. Geben Sie zum Lokalisieren des Verzeichnisses den folgenden Befehl in einer OS/2-Befehlszeile ein: echo %IMNNLPSSRV% 19.1.5 ÄNDERN DER ANSCHLUSSNUMMER FÜR DEN SUCH-SERVER Der Such-Server wird der Anschlußnummer 49213, einer Nummer nach den für TCP/IP zugewiesenen öffentlichen Anschlüssen zugeordnet. Wenn Sie mit einem weiteren Produkt arbeiten, das diesen Anschluß verwendet, führen Sie die folgenden Schritte aus, um den Anschluß für den Such-Server zu ändern: 1. Geben Sie durch Bearbeiten der Datei HTTPD.CNF im Suchsystemverzeichnis eine Anschlußnummer an, die verfügbar ist (vorzugsweise höher als 49000). 2. Wechseln Sie in das DB2-UDB-Verzeichnis, und bearbeiten Sie im Unterverzeichnis %DB2PATH%/doc/html die Datei DB2SRCH.HTM mit einem Texteditor. Geben Sie in der folgenden Zeile den Anschluß an, den Sie im vorigen Schritt ausgewählt haben:
Dabei gilt folgendes: * ist "D" für DBCS und "S" für SBCS xx ist eine aus zwei Zeichen bestehende Kennung für die Sprache, in der die Dokumentation geschrieben ist 49213 ist der neue Anschluß für 'localhost' 3. Stoppen und starten Sie den Such-Server, indem Sie die Symbole im Ordner "DB2 für OS/2" durch Doppelklicken auswählen. 19.1.6 FEHLERDIAGNOSE BEI DER INSTALLATION DES SUCH-SERVERS Wenn Sie beim Installieren des Such-Servers Fehlernachrichten erhalten haben, geben Sie den folgenden Befehl in einer OS/2-Befehlszeile ein, und führen Sie die von dem Befehl zurückgegebenen Anweisungen aus: SNIFFLE /P Starten Sie anschließend das System erneut. 19.2 VERWENDEN DES HTML-SUCHSYSTEMS 19.2.1 STARTEN UND STOPPEN DES SUCH-SERVERS Wenn Sie das Suchsystem installiert haben, wird es beim Neustarten des Systems automatisch gestartet. Wenn der Such-Server fehlerfrei gestartet wird, von Ihrem Browser jedoch die folgende Fehlernachricht ausgegeben wird, klicken Sie zunächst das Symbol "HTML-Such-Server stoppen" und danach das Symbol "HTML-Such-Server starten" an. A network error occurred: unable to connect to server. The server may be down or unreachable. Try connecting again later. Stoppen Sie den Such-Server nach Beendigung des Suchvorgangs, um den von ihm belegten Speicherplatz freizugeben. Klicken Sie dazu das Symbol "HTML-Such-Server stoppen" im Ordner "DB2 für OS/2" doppelt an. 19.2.2 SUCHVORGÄNGE OHNE NETZWERKVERBINDUNG Wenn Sie kein Netzwerk verwenden (z. B. beim Arbeiten mit einem Laptop-Computer an einem Standort ohne LAN-Verbindung) müssen Sie 'localhost' aktivieren, um in der Dokumentation zu suchen. Anweisungen für die Ausführung dieser Aufgabe finden Sie unter Schritt 3 im Abschnitt 19.1.2 zum Konfigurieren von TCP/IP unter OS/2. 19.2.3 FEHLERNACHRICHTEN FÜR NICHT GEFUNDENE DATEIEN Das Suchsystem durchsucht vordefinierte Indizes. Diese Indizes werden zusammen mit dem Suchsystem installiert, und zwar unabhängig davon, welche DB2-UDB-Produkte Sie installieren. Daher wird bei manchen Suchvorgängen als Ergebnis möglicherweise eine Fehlernachricht zurückgegeben, die auf eine nicht gefundene Datei hinweist, weil die gesuchte Datei zu einem Produkt gehört, das auf Ihrem System nicht installiert ist. 19.2.4 FEHLSCHLÄGE BEI SUCHVORGÄNGEN (FEHLER 500 BEIM SUCHEN) Wenn der Such-Server installiert ist, beim Suchen in der Dokumentation jedoch ein Fehler gemeldet wird, überprüfen Sie folgendes: 1. Überprüfen Sie, ob das Suchsystem korrekt installiert ist. Die Umgebungsvariable IMNNLPSSRV müßte auf das Suchsystemverzeichnis verweisen. (Siehe "19.1.4 Lokalisieren des Suchsystemverzeichnisses".) 2. Das Suchsystemverzeichnis müßte die folgenden Dateien enthalten: o Eine ausführbare Datei DB2SRSxx.EXE oder DB2SRDxx.EXE (die erstere für SBCS-Dokumente und die zweite für DBCS-Dokumente). Dabei ist xx eine aus zwei Zeichen bestehende Kennung für die Sprache, in der die Dokumente abgefaßt sind. Beispiel: DB2SRSEN.EXE ist die ausführbare Datei für die englische Sprache, DB2RDCN für Dokumente in vereinfachtem Chinesisch. o Die Dateien DB2HEAD.HTM und DB2FOOT.HTM Wenn diese Dateien nicht vorhanden sind, führen Sie DB2NETQ.CMD aus, um die Indexregistrierung einzurichten und die Dateien in das Suchsystemverzeichnis zu kopieren. 3. Das Suchsystem sollte mit der Produktdokumentation registriert sein. Führen Sie den folgenden Befehl aus, um alle Komponenten der Dokumentation aufzulisten, die im Suchsystem registriert sind: NQMAP -A Die Dokumentationsdateien für DB2 UDB tragen die Namen DB2ADMxx, DB2APDxx oder DB2CONxx. Dabei ist xx eine aus zwei Zeichen bestehende Kennung für die Sprache, in der die Dokumente abgefaßt sind. Einer oder mehrere dieser Namen müßten in der von NQMAP zurückgegebenen Namenliste enthalten sein. Wenn die Dateien nicht vorhanden sind, ist TCP/IP nicht korrekt installiert oder die Indizes sind fehlerhaft. Verwenden Sie zur Behebung der TCP/IP-Installationsfehler den Befehl SNIFFLE /P, oder korrigieren Sie die Indizes durch erneutes Installieren der Dokumentation. 19.2.5 FEHLER BEIM STARTEN DES SUCHSERVICE Möglicherweise erhalten Sie folgende Fehlernachricht: EHS0410: An error was detected when starting the search service. Stop the service and start it again. Press Enter to continue... (Manchmal wird als Fehlernummer EHS0411 angegeben, aber der Nachrichtentext ist derselbe. Diese Nachricht erscheint auf einem schwarzen Gesamtbildschirm.) Dies kann bedeuten, daß sich der Host-Name seit der Installation geändert hat und Sie ihn neu definieren müssen. Wechseln Sie in das NetQuestion-Verzeichnis, und geben Sie folgendes ein: type netq.cfg Dadurch können Sie feststellen, welcher Host-Name von NetQuestion verwendet wird. Wenn Sie den Host-Namen geändert haben (z. B. beim Konfigurieren von DHCP und DDNS), geben Sie folgendes ein: netqinit Beispiel: netqinit d:\netqos2\data 19.3 ENTFERNEN DER INSTALLATION DES HTML-SUCHSYSTEMS Beim Entfernen der Installation von DB2 für OS/2 wird das Suchsystem nicht automatisch von der Festplatte entfernt. Führen Sie den Befehl UNINSTNQ.CMD aus, um das Suchsystem zu löschen. 19.3.1 PROBLEME BEIM ENTFERNEN DER INSTALLATION DES SUCHSYSTEMS UNTER OS/2 Wenn die Installation des Suchsystems beim Ausführen von UNINSTNQ.CMD nicht entfernt wird, kann dies folgende Ursachen haben: o TCP/IP war nicht korrekt konfiguriert. o DB2 UDB oder ein anderes Produkt verwendet gerade das Suchsystem, d. h., es kann nicht entfernt werden. 1. Führen Sie die Anweisungen im Abschnitt 19.2.1 zum Konfigurieren von TCP/IP für OS/2 aus, um sicherzustellen, daß TCP/IP korrekt konfiguriert und der Such-Server durch eine ordnungsgemäße TCP/IP-Konfiguration initialisiert ist. Starten Sie das System erneut, wenn Sie Änderungen an der Konfiguration vorgenommen haben. 2. Geben Sie den folgenden Befehl ein, um festzustellen, welche Produkte noch im Suchsystem registriert sind: NQMAP -A Wenn dieser Befehl keine Indizes zurückgibt, fahren Sie mit Schritt 6 fort. Wenn die Liste Indizes enthält, die nicht zu DB2 UDB gehören (ihre Namen beginnen nicht mit "DB2"), können Sie den Such-Server nicht entfernen. Enthält die Liste Namen von DB2-Indexdateien (DB2ADMxx, DB2APDxx, DB2CONxx), konnte DB2 UDB die betreffenden Indizes nicht entfernen und daher die Installation des Suchsystems nicht entfernen. Diese Situation tritt ein, wenn die Installation von DB2 UDB nicht korrekt entfernt wurde (z. B. wenn der Ordner SQLLIB gelöscht wurde). In diesem Fall müssen Sie die folgenden Schritte ausführen, um die Registrierung der Indizes manuell zurückzunehmen und das Suchsystemverzeichnis zu entfernen: a. Geben Sie den folgenden Befehl ein, um sicherzustellen, daß der Such-Server ausgeführt wird: NETQ START SERVER //für SBCS IMQSS.EXE -START DBCSHELP //für DBCS b. Führen Sie den folgenden Befehl für jede der Indexdateien aus: NQMAP -D c. Führen Die den folgenden Befehl für jede der Indexdateien aus: NQDELET //für SBCS TMDELET //für DBCS d. Stoppen Sie den Such-Server wie folgt: NETQ STOP SERVER //für SBCS IMQSS.EXE -STOP DBCSHELP //für DBCS e. Geben Sie "NQMAP -A" ein, und stellen Sie sicher, daß keine DB2-Indizes (DB2xxxxx) mehr vorhanden sind. Sind noch DB2-Indizes vorhanden, verständigen Sie den IBM Kundendienst. f. Stellen Sie mit dem folgenden Befehl sicher, daß keine weiteren Indizes aktiv sind: NQCOUNTI //für SBCS TMCOUNTI //für DBCS HINWEIS: Lesen Sie im Abschnitt "19.1.4 Lokalisieren des Suchsystemverzeichnisses" nach, wenn Sie nicht wissen, wo das Suchsystem installiert ist. o Wenn die von diesem Befehl zurückgegebenen Daten darauf hinweisen, daß noch ein oder mehrere Indizes aktiv sind, kann das Suchsystem nicht entfernt werden, weil noch andere Produkte registriert sind. Führen Sie die nachfolgenden Schritte nicht aus. o Wenn das Suchsystem die Nachricht zurückgibt, daß keine Indizes aktiv sind ("0 indices active"), führen Sie den Befehl UNINSTNQ.CMD aus. (Ignorieren Sie die folgende Nachricht: SYS0016: The directory cannot be removed". Überprüfen Sie, ob das Suchsystemverzeichnis entfernt wurde. Ist das Verzeichnis noch vorhanden, verständigen Sie den IBM Kundendienst. g. Führen Sie nach Beendigung des Befehls UNINSTNQ.CMD die folgenden Schritte aus: 1) Stellen Sie die Datei CONFIG.SYS von einer Sicherungskopie wieder her, die beim Installieren erstellt wurde. HINWEIS: Bei der Installation werden numerierte Sicherungskopien mit dem Namensformat config.xyz erstellt. Dabei ist xyz die erste verfügbare Nummer aus dem Bereich von 000 bis 100. Die Sicherungskopien tragen die Zeit- und Datumsmarke des Installationszeitpunkts. Beim Installieren wurden zwei Sicherungskopien erstellt: eine für die DB2-UDB-Installation und eine für die Installation des Suchsystems. o Wenn Sie nur die Einstellungen des Suchsystems entfernen wollen, verwenden Sie die zweite Sicherungskopie. o Wenn Sie die Einstellungen von DB2 UDB und des Suchsystems entfernen wollen, verwenden Sie die erste Sicherungskopie. 2) Entfernen Sie das Suchsystemverzeichnis mit allen dazugehörigen Unterverzeichnissen. a) Wechseln Sie in das Verzeichnis %TMP%/NETQ. b) Löschen Sie alle noch vorhandenen Dateien im Verzeichnis NETQ. c) Löschen Sie das Verzeichnis NETQ. d) Starten Sie das System erneut. 20.0 HTML-SUCH-SERVER FÜR WINDOWS NT, WINDOWS 95 UND WINDOWS 98: SUCHEN NACH HTML-DOKUMENTATION Zum Lieferumfang der Online-Dokumentation von IBM DB2 Universal Database (DB2 UDB) gehört ein HTML-Suchsystem, das Sie beim Auffinden von Informationen unterstützt. In diesen Informationen wird das Einrichten und Verwenden des Suchsystems unter Windows NT, Windows 95 und Windows 98 beschrieben. Das Suchsystem besteht aus einer Suchmaschine und einem Such-Server. Das Suchsystem ist in einem eigenen Verzeichnis gespeichert, weil es auch von anderen Produkten verwendet werden kann. 20.1 EINSCHRÄNKUNGEN FÜR DIE VERWENDUNG Dieses Suchsystem bietet keine Unterstützung für Windows 3.1. Das Suchsystem ist nicht für Thin Clients eingerichtet. Bei dem Versuch, die Dokumentation zu durchsuchen, tritt ein Netzwerkfehler auf. 20.2 INSTALLIEREN DES HTML-SUCHSYSTEMS UNTER WINDOWS NT, WINDOWS 95 UND WINDOWS 98 20.2.1 VORAUSSETZUNGEN FÜR DAS SUCHSYSTEM Folgende Voraussetzungen sind erforderlich: o Unter Windows NT 4.0 werden optimale Ergebnisse erzielt, wenn Service Pack 3 installiert ist. Informationen hierzu finden Sie unter folgender Adresse: http://www.microsoft.com/ntserver/info/servicepack3.htm. o Sie benötigen einen Browser (z. B. Netscape 3.0). Inaktivieren Sie in dem verwendeten Browser die Proxy-Verarbeitung für 'localhost'. o Auf Ihrer Maschine muß TCP/IP Version 3 oder höher installiert und korrekt konfiguriert sein, damit das DB2-UDB-Suchsystem ordnungsgemäß funktionieren kann. Unter Windows 95 muß TCP/IP wie folgt aktiviert werden: - LAN-Adapterkonfiguration: - DNS muß mit einem gültigen Host- und Domänennamen aktiviert sein. - Ihr LAN-DNS muß 'localhost' in 127.0.0.1 auflösen. - In einer LAN-Adapterkonfiguration ist kein Arbeiten ohne Netzwerkverbindung möglich. - Adapterkonfiguration mit Wählleitung: - DNS muß inaktiviert sein. - Ihre TCP/IP-Adresse muß automatisch ermittelt werden. HINWEIS: Diese Konfigurationsoptionen gelten für alle TCP/IP-Adapter; auch wenn Sie nur für diesen einen Adapter geändert wurden. Die Adapterkonfigurationen für LAN und Wählleitung können nicht gleichzeitig und nur nach entsprechender Neukonfiguration verwendet werden. Die TCP/IP-Merkmale für Wählleitungsnetzwerke müssen nach den Angaben des jeweiligen Internet-Diensteanbieters konfiguriert werden. Diese Merkmale setzen die TCP/IP-Merkmale für Wählleitungsadapter außer Kraft, die über das Symbol "Netzwerk" in der Windows 95-Systemsteuerung konfiguriert wurden. Dies gilt jedoch nur, solange die TCP/IP-Merkmale für Wählleitungsadapter wie oben angegeben konfiguriert sind. Das Aktivieren des DNS bzw. das Definieren einer IP-Adresse in den TCP/IP-Merkmalen für Wählleitungsadapter führt zu Konflikten mit der Wählleitungsnetzwerkkonfiguration des Internet-Diensteanbieters und ist daher zu vermeiden. Unter Windows NT 4.0 können beide oben beschriebenen TCP/IP-Konfigurationen verwendet werden. Wenn Sie mit einem unabhängigen System arbeiten, können Sie statt dessen auch den MS Loopback Adapter aktivieren. 20.2.2 STOPPEN BEREITS INSTALLIERTER VERSIONEN DES SUCHSYSTEMS Wenn das Suchsystem zuvor bereits von einem anderen Produkt (z. B. von VisualAge for Java) installiert wurde, muß der Such-Server gestoppt werden. Klicken Sie dazu das Symbol "HTML-Such-Server stoppen" im DB2-Menüeintrag des Menüs "Start" an. 20.2.3 LOKALISIEREN DES SUCHSYSTEMVERZEICHNISSES Das Suchsystem ist in einem eigenen Verzeichnis gespeichert, weil es auch von anderen Produkten verwendet werden kann. Wenn Sie beispielsweise DB2 UDB zusammen mit dem Suchsystem auf Laufwerk G und später VisualAge for Java auf Laufwerk H installieren, ist nur das erste der beiden Suchsysteme installiert. Bei einigen Anweisungen in diesem Dokument müssen Sie die Position dieses Verzeichnisses angeben. Diese Position können Sie mit dem folgenden Befehl ermitteln: echo %IMNINSTSRV% 20.2.4 ÄNDERN DER ANSCHLUSSNUMMER FÜR DEN SUCH-SERVER Dem Such-Server wird die Anschlußnummer 49213 zugeorndet (eine Nummer oberhalb der für TCP/IP zugewiesenen öffentlichen Anschlüsse). Wenn ein anderes Produkt diesen Anschluß verwendet, führen Sie die folgenden Schritte aus, um den Anschluß des Such-Servers zu ändern: 1. Geben Sie durch Bearbeiten der Datei HTTPD.CNF im Suchsystemverzeichnis eine Anschlußnummer an, die verfügbar ist, (vorzugsweise größer als 49000). 2. Stellen Sie mit dem folgenden Befehl fest, wo sich befindet: DB2SET DB2PATH 3. Wechseln Sie in das DB2-UDB-Verzeichnis, und bearbeiten Sie die Datei DB2SRCH.HTM im Verzeichnis /doc/html mit einem Texteditor. Geben Sie in der folgenden Zeile den Anschluß an, den Sie im vorigen Schritt ausgewählt haben: Dabei gilt folgendes: * ist "D" für DBCS und "S" für SBCS xx ist eine aus zwei Zeichen bestehende Kennung für die Sprache, in der die Dokumentation abgefaßt ist 49213 ist der neue Anschluß für 'localhost' 4. Stoppen Sie den Such-Server, und starten Sie ihn anschließend erneut. Klicken Sie zum Stoppen des Such-Servers die Option "HTML-Such-Server stoppen" in der DB2-Menüoption des Menüs "Start" an. Klicken Sie zum Starten des Such-Servers die Option "HTML-Such-Server starten" in der DB2-Menüoption des Menüs "Start" an. 20.2.5 INSTALLIEREN VON DB2 UNIVERSAL DATABASE AUF EINEM MIT DEM LAN VERBUNDENEN LAUFWERK (WINDOWS 95) Wenn Sie DB2 UDB auf einem Laufwerk im LAN unter Windows 95 installieren und das Laufwerk nicht erneut verbunden wird, bevor AUTOEXEC.BAT unter Windows 95 ausgeführt wird, können die Umgebungsvariablen des Suchsystems nicht konfiguriert werden. Das Suchsystem konfiguriert die Umgebungsvariablen mit Hilfe einer Stapeldatei (IMNENV.BAT), die sich im Suchsystemverzeichnis (z. B. F:\IMNNQ_95 befindet). Um dieses Problem zu umgehen, kopieren Sie IMNENV.BAT aus dem Suchsystemverzeichnis in ein anderes Laufwerk/Verzeichnis, das vor dem Ausführen von AUTOEXEC.BAT verbunden wird. Editieren Sie danach die Datei AUTOEXEC.BAT so, daß beim Starten diese Stapeldatei aufgerufen wird. Beispiel: Wenn Sie IMNENV.BAT nach C:\WINDOWS\IMNNQ kopieren, fügen Sie die folgende Zeile in die Datei AUTOEXEC.BAT ein: IF EXIST C:\WINDOWS\IMNNQ\IMNENV.BAT CALL IMNENV.BAT 20.2.6 FEHLERDIAGNOSE BEI DER INSTALLATION DES SUCH-SERVERS Wenn beim Installieren von DB2 UDB eine fehlgeschlagene Such-Server-Installation festgestellt wird, wird die DB2-UDB-Installation bis zum Ende durchgeführt. Die folgenden Hinweise unterstützen Sie beim Erkennen und Beheben möglicher Probleme: Suchen Sie im Verzeichnis \imnnq\install nach der Datei IMNNQ.ERR (dabei ist das Verzeichnis %TEMP% auf Ihrem System). Ist diese Datei nicht vorhanden, starten Sie das System erneut, und versuchen Sie nochmals, das Produkt zu installieren. Wenn die Datei IMNNQ.ERR vorhanden ist, enthält Sie möglicherweise folgende Angaben: 1 - Gibt an, daß der aktuelle Pfad (PATH) zu lang ist; d. h. beim Anfügen des Such-Servers an diesen Pfad (PATH) würde der gesamte Pfad gelöscht. Hinweis: Unter Windows NT 4.0 beträgt die maximale Länge 512 Zeichen, unter Windows 95 dürfen es maximal 255 Zeichen sein. Es empfiehlt sich, folgende Schritte auszuführen: a) Ändern Sie den Namen der Variablen PATH in der Datei AUTOEXEC.BAT (PATHGOOD), sichern Sie die Änderung, und starten Sie das System erneut. b) Entfernen Sie die Datei IMNNQ.ERR aus dem Verzeichnis \imnnq\install. c) Führen Sie die Produktinstallation erneut durch, um das Suchsystem korrekt zu installieren. d) Verbinden Sie die Variable PATHGOOD mit der Variablen PATH, die bei der letzten Installation erstellt wurde. 2 - Sonstiger Fehler - Bitte verständigen Sie den IBM Kundendienst. 3 - Nicht genug Plattenspeicher verfügbar. Stellen Sie sicher, daß mindestens 4,5 MB Plattenspeicher für das Suchsystem sowie genügend Speicherplatz zum Ändern der AUTOEXEC.BAT für Windows 95 verfügbar ist. Wenn die Datei IMNNQ.ERR die Nachricht "XXX.EXE DOES NOT EXIST" enthält, konnten die ausführbaren Dateien des Suchsystems nicht gefunden werden. Führen Sie das Programm zum Installieren/Initialisieren erneut aus. Siehe hierzu die Angaben im Abschnitt "20.3.4 Fehlschläge bei Suchvorgängen (Fehler 500 beim Suchen)". 20.3 VERWENDEN DES HTML-SUCHSYSTEMS 20.3.1 STARTEN UND STOPPEN DES SERVERS Sobald Sie das Suchsystem installiert haben, wird es beim Neustart des Systems automatisch gestartet. Wenn der Such-Server fehlerfrei gestartet wird, von Ihrem Browser jedoch folgende oder ähnliche Fehlernachricht ausgegeben wird, klicken Sie in der DB2-Menüoption des Menüs "Start" zunächst das Symbol "HTML-Such-Server stoppen" und danach das Symbol "HTML-Such-Server starten" an. A network error occurred: unable to connect to server. The server may be down or unreachable. Try connecting again later. Stoppen Sie den Such-Server nach Beendigung des Suchvorgangs, um den von ihm belegten Speicherplatz freizugeben. Klicken Sie dazu die Option "HTML-Such-Server stoppen" in der DB2-Menüoption des Menüs "Start" an. 20.3.2 SUCHEN MIT AKTIVIERTEN PROXY-SERVERN UNTER NETSCAPE ODER INTERNET EXPLORER Wenn Sie Netscape oder Internet Explorer mit manuell aktivierten Proxy-Servern verwenden, können Sie die Suchzeiten durch Ändern Ihrer Proxy-Informationen deutlich verkürzen. In Netscape 3: -------------- 1. Wählen Sie "Optionen" und anschließend "Netzwerkeinstellungen" aus. 2. Klicken Sie die Registerkarte "Proxies" an. 3. Klicken Sie "Anzeigen" unter "Manuelle Proxy-Konfiguration" an. 4. Geben Sie im Feld "Kein Proxy für:" folgendes ein: localhost:49213 Wenn hier mehrere Einträge angegeben werden, müssen sie durch Kommas getrennt sein. 5. Klicken Sie "OK" an, um das Fenster "Manuelle Proxy-Konfiguration" zu schließen. 6. Klicken Sie "OK" an, um das Fenster "Einstellungen" zu verlassen. In Netscape 4 (Communicator): ----------------------------- Im vorliegenden Fall wurde die englische Version des Produkts verwendet. 1. Wählen Sie "Edit" und dann "Preferences" aus. 2. Klicken Sie in der Verzeichnisstruktur "Category" die Option "Advanced" doppelt an. 3. Klicken Sie "Proxies" in der Unterverzeichnisstruktur "Advanced" an. 4. Klicken Sie "View" unter "Manual Proxy Configuration" an. 5. Geben Sie im Feld "Exceptions... Do not use proxy servers for domains beginning with" folgendes ein: localhost:49213 Wenn hier mehrere Einträge angegeben werden, müssen sie durch Kommas getrennt sein. 6. Klicken Sie "OK" an, um das Fenster "Manual Proxy Configuration" zu schließen. 7. Klicken Sie "OK" an, um das Fenster "Preferences" zu verlassen. In Internet Explorer 3: ----------------------- 1. Wählen Sie "Ansicht" und dann "Optionen" aus. 2. Wählen Sie "Verbindung" aus. 3. Wählen Sie im Feld "Proxy Server" das Markierungsfeld "Verbindung über einen Proxy Server herstellen" aus. 4. Wählen Sie anschließend "Einstellungen" aus. 5. Geben Sie im Feld "Ausnahmen" unter "Für Adressen, die wie folgt beginnen, keinen Proxy Server verwenden" folgendes ein: localhost:49213 Wenn hier mehrere Einträge angegeben werden, müssen sie durch Kommas getrennt sein. 4. Wählen Sie das Feld "Für lokale Adressen keinen Proxy Server verwenden" aus. 5. Klicken Sie "OK" an, um das Fenster "Optionen" zu schließen. In Internet Explorer 4: ----------------------- Im vorliegenden Fall wurde die englische Version des Produkts verwendet. 1. Wählen Sie "View... Internet Options" aus. 2. Wählen Sie die Registerkarte "Connection" aus. 3. Wählen Sie das Markierungsfeld "Bypass proxy server for local (Intranet) access" aus. HINWEIS: Dieses Markierungsfeld ist nur verfügbar, wenn Sie eine Proxy- oder Socks-Verbindung verwenden und das Markierungsfeld "Access the Internet Using a Proxy Server" ausgewählt haben. 4. Wählen Sie den Knopf "Advanced" aus. 5. Geben Sie im Feld "Exceptions... Do not use proxy servers for addresses beginning with" folgendes ein: localhost:49213 Wenn hier mehrere Einträge angegeben werden, müssen sie jeweils durch ein Semikolon getrennt sein. 6. Wählen Sie "OK" aus und danach nochmals "OK", um die Registerkarte "Options" zu verlassen. 20.3.3 SUCHEN MIT EINEM LAPTOP-COMPUTER UNTER WINDOWS 95 Namens-Server: Wenn Sie mit einem Laptop-Computer arbeiten, der normalerweise als unabhängige Entwicklungsplattform in ein LAN eingebunden ist, können beim Suchen Probleme auftreten. Um erfolgreich suchen zu können, müssen Sie die IP-Adresse Ihres Namens-Servers in Ihrer TCP/IP-Konfiguration inaktivieren. Sie benötigen also zwei separate TCP/IP-Konfigurationen, eine für Operationen mit Netzwerkverbindung und eine zweite für Operationen ohne Netzwerkverbindung. Korrektur für mehrere TCP/IP-Konfigurationen unter Windows 95: Windows 95 läßt nur eine einzige TCP/IP-Konfiguration zu. Im Internet werden jedoch Shareware-Dienstprogramme angeboten, die es ermöglichen, mehrere Konfigurationen zu definieren und diese je nach Verbindungsstatus (mit oder ohne bestehende LAN-Verbindung) zu aktivieren. TCPSwitch ist ein solches Programm. Socks-Server und Proxy-Server: Wenn Sie sich mit Netscape 3 in eine sichere Site einwählen, um über einen Proxy- oder Socks-Server auf das Internet zuzugreifen, müssen Sie diese Einstellungen in Netscape löschen, damit Suchoperationen ausgeführt werden können. Dieser Programmfehler tritt in Netscape 3 auf und müßte durch die Einstellung für die direkte Verbindung (direct connect) in Netscape Communicator behoben sein. 20.3.4 FEHLSCHLÄGE BEI SUCHVORGÄNGEN (FEHLER 500 BEIM SUCHEN) Wenn das Produkt erfolgreich installiert wurde, beim Suchen jedoch Fehler auftreten, führen Sie die folgenden Schritte aus: 1. Überprüfen Sie, ob das Suchsystem korrekt installiert ist. Die Umgebungsvariablen IMNINST und IMNINSTSRV müssen gesetzt sein, und IMNINSTSRV muß auf das Suchsystemverzeichnis verweisen. (Siehe "20.2.3 Lokalisieren des Suchsystemverzeichnisses".) 2. Das Suchsystemverzeichnis müßte die folgenden Dateien enthalten: o Eine ausführbare Datei DB2SRSxx oder DB2SRDxx (die erstere für SBCS-Dokumente und die zweite für DBCS-Dokumente). Dabei ist xx eine aus zwei Zeichen bestehende Kennung für die Sprache, in der die Dokumente abgefaßt sind. Beispiel: DB2SRSEN ist die ausführbare Datei für die englische Sprache, DB2RDCN für Dokumente in vereinfachtem Chinesisch. o Die Dateien DB2HEAD.HTM und DB2FOOT.HTM 3. Stellen Sie sicher, daß das Suchsystem mit der Produktdokumentation registriert ist. Führen Sie den folgenden Befehl aus, damit die gesamte Produktdokumentation aufgelistet wird, die im Suchsystem registriert ist: NQMAP -A //für SBCS TMMAP -A //für DBCS Die Dokumentationsdateien für DB2 UDB tragen die Namen DB2ADMxx, DB2APDxx oder DB2CONxx. Dabei ist xx eine aus zwei Zeichen bestehende Kennung für die Sprache, in der die Dokumente abgefaßt sind. Mindestens einer dieser Namen muß in der von NQMAP (bzw. TMMAP) zurückgegebenen Namenliste enthalten sein. Über die vom Befehl NQMAP (oder TMMAP) zurückgegebene Indexliste können Sie mit dem folgenden Befehl zusätzliche Detailinformationen zu den einzelnen Indizes abrufen: IMNIXSTA //für SBCS IMQIXSTA //für SBCS Dieser Befehl liefert Detailinformationen wie z. B. den Indexstatus und die Anzahl der im Index enthaltenen Dokumente. Wenn nicht alle oben angegebenen Bedingungen erfüllt sind, können Sie das Installationsprogramm für das Produkt DB2 UDB erneut ausführen. Wenn nur die Dateien DB2SRCH.EXE, DB2HEAD.HTM und DB2FOOT.HTM fehlen, können Sie die Dateien einfach aus dem Verzeichnis \misc in das Suchsystemverzeichnis (z. B. E:\IMNNQ_NT) kopieren. Das Installationsprogramm des Produkts führt die Installation und Initialisierung des Such-Servers erneut aus. 20.3.5 FEHLERNACHRICHTEN ZU NICHT GEFUNDENEN DATEIEN Das Suchsystem durchsucht vordefinierte Indizes. Diese Indizes werden zusammen mit dem Suchsystem installiert, und zwar unabhängig davon, welche DB2-UDB-Produkte Sie installieren. Daher wird bei manchen Suchvorgängen als Ergebnis möglicherweise eine Fehlernachricht zurückgegeben, die auf eine nicht gefundene Datei hinweist (weil die gesuchte Datei zu einem Produkt gehört, das auf Ihrem System nicht installiert ist oder weil das gesuchte Dokument nicht installiert ist). 20.3.6 FEHLER BEIM STARTEN DES SUCHSERVICE Möglicherweise erhalten Sie folgende Fehlernachricht: EHS0410: An error was detected when starting the search service. Stop the service and start it again. Press Enter to continue... (Manchmal wird als Fehlernummer EHS0411 angegeben, aber der Nachrichtentext ist derselbe. Diese Nachricht erscheint auf einem schwarzen Gesamtbildschirm.) Dies kann bedeuten, daß sich der Host-Name seit der Installation geändert hat und Sie ihn neu definieren müssen. Wechseln Sie in das NetQuestion-Verzeichnis, und geben Sie folgendes ein: type netq.cfg Dadurch können Sie feststellen, welcher Host-Name von NetQuestion verwendet wird. Wenn Sie den Host-Namen geändert haben (z. B. beim Konfigurieren von DHCP und DDNS), geben Sie folgendes ein: netqinit Beispiel: netqinit c:\imnnq_nt\data 20.4 ENTFERNEN DER INSTALLATION DES HTML-SUCHSYSTEMS HINWEIS: Vor dem Entfernen der Installation des Produkts DB2 UDB muß das Suchsystem gestoppt werden. Klicken Sie hierzu die Option "HTML-Such-Server stoppen" in der DB2-Menüoption des Menüs "Start" an. Die Installation des Suchsystems wird zusammen mit dem Produkt DB2 UDB entfernt, wenn Sie die Option "Installation entfernen" in der DB2-Menüoption des Menüs "Start" anklicken. 20.4.1 PROBLEME BEIM ENTFERNEN DER INSTALLATION DES SUCHSYSTEMS UNTER WINDOWS NT ODER WINDOWS 95 Wenn die Installation des Suchsystems nicht entfernt wird, kann dies folgende Ursachen haben: o DB2 UDB oder ein anderes Produkt verwendet momentan das Suchsystem, so daß es nicht entfernt werden kann. o Die Installatio des Suchsystems konnte nicht ordnungsgemäß entfernt werden. Geben Sie den folgenden Befehl ein, um festzustellen, welche Produkte noch im Suchsystem registriert sind: NQMAP -A //für SBCS TMMAP -A //für DBCS Wenn dieser Befehl keine Indizes zurückgibt, fahren Sie mit Schritt 6 fort. Wenn die Liste Indizes enthält, die nicht zu DB2 UDB gehören (ihre Namen beginnen nicht mit "DB2"), können Sie den Such-Server nicht entfernen. Enthält die Liste Namen von DB2-Indexdateien (DB2ADMxx, DB2APDxx, DB2CONxx), konnte DB2 UDB die betreffenden Indizes nicht entfernen und daher die Installation des Suchsystems nicht entfernen. Diese Situation tritt ein, wenn die Installation von DB2 UDB nicht korrekt entfernt wurde (z. B. wenn der Ordner SQLLIB gelöscht wurde). In diesem Fall müssen Sie die folgenden Schritte ausführen, um die Registrierung der Indizes manuell zurückzunehmen und das Suchsystemverzeichnis zu entfernen: 1. Geben Sie den folgenden Befehl ein, um sicherzustellen, daß der Such-Server ausgeführt wird: IMNSS START SERVER //für SBCS IMQSS.EXE -START DBCSHELP //für DBCS 2. Führen Sie den folgenden Befehl für jede der Indexdateien aus: NQMAP -D //für SBCS TMMAP -D //für DBCS 3. Führen sie den folgenden Befehl für jede der Indexdateien aus: NQDELET //für SBCS TMDELET //für DBCS 4. Stoppen Sie den Such-Server wie folgt: IMNSS STOP SERVER //für SBCS IMQSS.EXE -STOP DBCSHELP //für DBCS 5. Geben Sie "NQMAP -A" (oder "TMMAP -A") ein, und stellen Sie sicher, daß keine DB2-Indizes (DB2xxxxx) mehr vorhanden sind. Sind noch DB2-Indizes vorhanden, verständigen Sie den IBM Kundendienst. 6. Stellen Sie mit dem folgenden Befehl sicher, daß keine weiteren Indizes aktiv sind: NQCOUNTI //für SBCS TMCOUNTI //für DBCS HINWEIS: Lesen Sie im Abschnitt "20.2..3 Lokalisieren des Suchsystemverzeichnisses" nach, wenn Sie nicht wissen, wo das Suchsystem installiert ist. o Wenn die von diesem Befehl zurückgegebenen Daten darauf hinweisen, daß noch ein oder mehrere Indizes aktiv sind, kann das Suchsystem nicht entfernt werden, weil noch andere Produkte registriert sind. Führen Sie die nachfolgenden Schritte nicht aus. o Wenn das Suchsystem die Nachricht zurückgibt, daß keine Indizes aktiv sind ("0 indices active"), führen Sie UNINSTNQ.EXE aus. Wird die Installation des Suchsystems auch jetzt nicht entfernt, können Sie wie folgt versuchen, das Produkt manuell zu entfernen: 1. Entfernen Sie die Registrierdatenbankeinträge unter \\HKEY_LOCAL_MACHINE\SOFTWARE\IBM\NetQuestion. Entfernen Sie diesen Eintrag mit allen untergeordneten Verzeichnissen. 2. Entfernen Sie das Suchsystemverzeichnis (z. B. D:\IMNNQ_NT) mit allen untergeordneten Verzeichnissen. 3. Entfernen Sie die Umgebungsvariablen IMNINST und IMNINSTSRV, und entfernen Sie den Suchsystempfad aus der Umgebungsvariablen PATH. Wenn Sie die Installation des Suchsystems noch immer nicht entfernen können, verständigen Sie den IBM Kundendienst. 20.4.2 NEUSTART NACH DEM ENTFERNEN DER INSTALLATION DES PRODUKTS Nach dem die Installation von DB2 UDB entfernt wurde, muß das System unbedingt neu gestartet werden, bevor erneut eine Installation ausgeführt wird, weil möglicherweise einige DLL-Dateien des Suchsystems im Betriebssystem erhalten geblieben sind. Sie werden erst beim Neustart des Systems entfernt. Wird vor dem Neustart ein weiterer Installationsvorgang des Suchsystems ausgeführt, werden die neu installierten DLL-Dateien des Suchsystems beim nächsten Systemstart gelöscht, d. h., das Suchsystem ist nicht funktionsfähig. | 21.0 UMGEHUNG VON PROBLEMEN FÜR NETQUESTION | 21.1 PROBLEME BEI DER INSTALLATION VON IMNSEARCH (NETQUESTION) AUF UNIX-PLATTFORMEN | In einigen Umgebungen kann die Komponente IMNSearch (NetQuestion) nicht | mehr installiert werden, nachdem sie bereits installiert war und diese | Installation entfernt wurde. Es ist sind bestimmte Benutzer- und | Gruppen-IDs erforderlich, damit die Komponente korrekt installiert | werden kann. Gelegentlich (normalerweise nachdem IMNSearch unvollständig | entfernt wurde) fehlt eine oder mehrere dieser IDs. In anderen Fällen | haben die Benutzer manchmal nicht das Zugriffsrecht, das zum Erstellen | dieser Gruppen- und Benutzer-IDs bei der Installation erforderlich ist. | In beiden Fällen kann die Komponente IMNSearch nicht korrekt installiert | werden. | PROBLEME BEI DER ERSTMALIGEN INSTALLATION VON IMNSEARCH AUF EINER MASCHINE | Wenn Sie bei der Installation der Komponente IMNSearch Probleme feststellen | und noch keine frühere Version des Produkts installiert war, entfernen Sie | die Komponente bitte vollständig, und installieren Sie sie erneut. | Bitte beachten Sie, daß das Entfernen der Komponente auch die Benutzer- | und Gruppen-ID "imnadm" einschließt. | PROBLEME BEI DER INSTALLATION VON IMNSEARCH, WENN EINE ANDERE | IMNSEARCH-KOMPONENTE BEREITS INSTALLIERT IST ODER BEREITS INSTALLIERT WAR | Wenn Sie bei der Installation der Komponente IMNSearch Probleme feststellen | und bereits eine frühere Version des Produkts installiert ist (oder | installiert war), entfernen Sie Installation der Komponente IMNSearch | nicht. Prüfen Sie stattdessen, ob die Gruppen-ID "imnadm" vorhanden ist. | Ist diese Gruppen-ID vorhanden, können Sie einen der folgenden Schritte | ausführen: | 1. Erstellen Sie die Benutzer-ID "imnadm", und installieren Sie die | Komponente IMNSearch erneut. | 2. Löschen Sie die Gruppen-ID "imnadm", und installieren Sie die | Komponente IMNSearch erneut. | PROBLEME BEI DER INSTALLATION VON IMNSEARCH IN EINER AFS/DCE- ODER | NIS/NIS+-UMGEBUNG | In Umgebungen, in denen die Verwaltung der Benutzer- und Gruppen-IDs | zentralisiert ist, d. h., in denen IDs auf einem Server von einem | autorisierten Verwalter erstellt werden, der die Informationen zu den | IDs dann an Client-Maschinen verteilt, müssen die Benutzer- und Gruppen-IDs | "imnadm" installiert werden, bevor Benutzer die Komponente IMNSearch | installieren. Da diese Benutzer- und Gruppen-IDs für alle Produkte, die die | Komponente IMNSearch verwenden, gemeinsam benutzt werden, muß dieser Schritt | vor der Installation des ersten Produkts, das diese Komponente verwendet, | einmal ausgeführt werden. Nachdem die Installation des letzten Produkts, | das die Komponente IMNSearch verwendet, entfernt wurde, sollte die | Benutzer- und Gruppen-ID entfernt werden. | 21.2 INSTALLIEREN VON NETQUESTION UNTER HPUX-10 | Wenn Sie DB2 Universal Database Version 5.2 für HP-UX 10 installieren | möchten, werden Sie möglicherweise feststellen, daß NetQuestion nicht | von der Produkt-CD-ROM installiert werden kann. Beim Versuch, die | DB2-Produktdokumentation zu suchen, kann eine Fehlernachricht angezeigt | werden, daß die Verbindung vom Server nicht akzeptiert wurde. Prüfen Sie, | ob NetQuestion installiert ist, indem Sie den folgenden Befehl eingeben: | swlist -l product | grep -i imn | Wenn keine Informationen zurückgegeben werden, ist NetQuestion nicht | installiert. | In diesem Fall müssen Sie NetQuestion manuell installieren. Bitte beachten | Sie, daß Sie zur Installation von NetQuestion über die Berechtigung "root" | verfügen müssen. | Kopieren Sie das gesamte Verzeichnis "/NetQ" von der Installations-CD-ROM | auf Ihr lokales Festplattenlaufwerk. Nach dem Kopiervorgang müssen sich die | folgenden Dateien in Ihrem lokalen Verzeichnis "/NetQ/hpux10" befinden: | "IMNSearch", "IMNSearchB", "IMNpkgadd", "IMNpkgaddB", "imnbinstall" und | "imninstall". Geben Sie den folgenden Befehl ein, um die | Installationsprozedur von NetQuestion zu starten: | imninstall | Befolgen Sie die angezeigten Anweisungen, um entweder nur die | SBCS-Suchmaschine oder um sowohl die SBCS- als auch die DBCS-Suchmaschine | zu installieren. | FEHLERBEHEBUNG | Wenn der Befehl "imninstall" einen Fehler zurückgibt, daß "swcopy" | fehlgeschlagen ist und Sie im Handbuch die Informationen zu "swcopy" | nachlesen sollten, konnten möglicherweise andere Dateisysteme, die | nicht mit DB2 zusammenhängen, das System nicht einhängen. In diesem Fall | müssen Sie (als Benutzer mit der Berechtigung "root") Ihrer lokalen Kopie | von "/NetQ/hpux10/IMNpkgadd" die folgende Option zu jedem Vorkommen von | "swcopy", "swremove" oder "swinstall" hinzufügen: | -x mount_all_filesystems=false | 21.3 NETQUESTION UND DB2 CAE AUF UNIX-PLATTFORMEN | Weder die Online-Dokumentation noch NetQuestion werden auf den | UNIX-Produkt-CD-ROMs geliefert. Diese enthalten ausschließlich die | Komponente Client Application Enabler. Wenn Sie jedoch CAE von einer | EE- oder EEE-Produkt-CD-ROMs installieren, können Sie zudem auswählen, | daß die Online-Dokumentation installiert werden soll. NetQuestion wird | automatisch installiert, wenn die entsprechende Dokumentation installiert | wird. | 21.4 NETQUESTION-DBCS AUF AIX-PLATTFORMEN | DB2 Universal Database Version 5.2 für AIX verwendet eine Version der | DBCS-Suchmaschine von NetQuestion, die nicht fehlerfrei arbeitet, wenn sich | bereits andere Versionen von NetQuestion auf dem AIX-Betriebssystem befinden. | Wenn beispielsweise die japanische, koreanische, chinesische oder | taiwanesische Version von DB2 UDB Version 5.2 auf einem AIX-Betriebssystem | installiert ist, auf dem bereits die DBCS-Dokumentation für VisualAge C++ | Professional Version 4.0 für AIX installiert ist, oder wenn dieses Produkt | auf einem AIX-Betriebssytem Version 4.3 installiert ist, auf dem bereits die | DBCS-Hilfe installiert ist, können Sie mit NetQuestion keine möglicherweise | installierte DB2-DBCS-Dokumentation suchen. Dieses Problem entsteht, da die | von anderen Produkten, die NetQuestion nutzen, verwendete Such-CGI | nicht mit der Such-CGI kompatibel ist, die mit DB2 UDB Version 5.2 für | AIX geliefert wird. | Zur Lösung dieses Problems müssen Sie die Such-CGI in den Verzeichnissen | "/var/docsearch/cgi-bin/" und "/usr/docsearch/cgi-bin/" durch eine | aktualisierte Such-CGI ersetzten. Gehen Sie hierzu folgendermaßen vor: | 1. Laden Sie die aktualisierte Such-CGI (mit dem Namen "db2srdbcs") | von folgender Adresse in die Verzeichnisse "/var/docsearch/cgi-bin" | und "/usr/docsearch/cgi-bin" herunter: | ftp.software.ibm.com/ps/products/db2/info | Hierdurch werden die vorhandenen "db2srdbcs"-Dateien in diesen | Verzeichnissen überschrieben. | 2. Stoppen und starten Sie die DB2-DBCS-Suchmaschine, damit diese Änderung | wirksam werden kann. Gehen Sie hierzu folgendermaßen vor: | o Geben Sie zum Stoppen der Suchmaschine folgenden Befehl ein: | usr/IMNSearch/bin imqss -stop dbcshelp | o Geben Sie zum Starten der Suchmaschine folgenden Befehl ein: | usr/IMNSearch/bin imqss -start dbcshelp 6.0 VERSCHIEDENES 22.0 INFORMATIONEN ZU SCOHELP _____________________________ Die folgenden Informationen sind für SCOhelp verfügbar: o 22.1, "Zugreifen auf SCOhelp" o 22.2, "Arbeiten mit Landessprachen und SCOhelp" o 22.3, "Hilfefunktion von Web Control Center und SCOhelp" o 22.4, "Support Level Supplement (SLS) PTF7004A, die Erweiterung für die UnixWare 7-Sprache" 22.1 ZUGREIFEN AUF SCOHELP Sie können mit einer der folgenden Methoden auf SCOhelp zugreifen: o An der Befehlszeile: Setzen Sie den Befehl "scohelp" (/usr/bin/X11/scohelp) an der Befehlszeile ab. o Auf dem CDE-Desktop: Öffnen Sie das Menü "Help" (oberhalb des Hilfesymbols im Control Panel), anschließend wählen Sie "SCO Help" aus. o Auf dem Panorama-Desktop: Öffnen Sie das Menü "Root", anschließend wählen Sie "Help" aus. 22.2 ARBEITEN MIT LANDESSPRACHEN UND SCOHELP 22.2.1 ÄNDERN DER STANDARDSPRACHE VON SCOHELP AUF DEM SERVER Wenn Sie die Sprache, die von SCOhelp standardmäßig auf dem Server zurückgegeben wird, ändern möchten, ändern Sie die Datei "/usr/ns-home/httpd-scohelphttp/config/lang.conf", indem Sie "DocumentRoot" auf die gewünschte Sprache setzen. Beispiel: DocumentRoot /usr/lib/scohelp/fr Wenn Sie die Änderung vorgenommen haben, müssen Sie den WWW-Server mit dem folgenden Befehl erneut starten: /usr/ns-home/httpd-scohelphttp/restart Wenn dies nicht funktioniert, stoppen Sie den WWW-Server, und starten Sie ihn erneut mit den folgenden Befehlen: /usr/ns-home/httpd-scohelphttp/stop /usr/ns-home/httpd-scohelphttp/start 22.2.2 EINSTELLEN DER SPRACHE, DIE VON SCOHELP FÜR EINEN SPEZIFISCHEN CLIENT ZURÜCKGEGEBEN WIRD Informationen können von SCOhelp an verschiedene Clients in unterschiedlichen Sprachen zurückgegeben werden. Der SCOhelp-Server verwendet die Ressource "*httpAcceptLanguage", um festzustellen, welche Sprache verwendet werden soll, wenn eine Anforderung empfangen wurde. Sie können "*httpAcceptLanguage" wie folgt auf die gewünschte Sprache setzen: o Netscape 3: Ändern Sie die Netscape-Datei "app-defaults" (ein Beispiel finden Sie unter /usr/X/lib/app-defaults), und fügen Sie diese Zeile hinzu: *httpAcceptLanguage: fr, en o Netscape 4: Wählen Sie den Menüpunkt für Bearbeiten und anschließend für Einstellungen aus. Wählen Sie in der Baumstruktursicht die Option für Navigator und anschließend die Option für die Sprachen aus. Fügen Sie die gewünschte Sprache hinzu, und stellen Sie sicher, daß diese als erste in der Liste aufgeführt wird. Wenn SCOhelp immer noch die englische Sprache verwendet, selbst nachdem Sie "*httpAcceptLanguage" gesetzt haben, sollten Sie den Eintrag für die englische Sprache aus der Liste entfernen. 22.2.3 VERWENDEN DER SUCHFUNKTION Sie können mehrere Sprachen zum Durchsuchen auswählen, indem Sie den Druckknopf für Optionen in der Suchanzeige von SCOhelp anklicken. Die Liste mit den installierten Sprachen wird angezeigt; wählen Sie die Sprachen aus, die Sie durchsuchen möchten. 22.3 HILFEFUNKTION VON WEB CONTROL CENTER UND SCOHELP Es gibt keine direkte Verbindung von der Hilfefunktion von Web Control Center zu den DB2-Büchern (die mit Hilfe von SCOhelp angezeigt werden). Verwenden Sie eine der unter Abschnitt 2.1, "Zugreifen auf SCOhelp" beschriebenen Methoden, um SCOhelp auszuführen und auf die DB2-Bücher zuzugreifen. In der Hifefunktion von SCO DB2 Web Control Center gibt es keine Suchfunktion. 22.4 SUPPORT LEVEL SUPPLEMENT (SLS) PTF7004A, DIE ERWEITERUNG FÜR DIE UNIXWARE 7-SPRACHE Die Ergänzung "Support Level Supplement (SLS) PTF7004A" ist unter der folgenden FTP-Adresse von SCO verfügbar: ftp://ftp.sco.com/SLS/. Laden Sie die Dateien ptf7004a.Z und ptf7004a.txt herunter. Mit PTF7004A können Sie Probleme beheben, die bei der Konfiguration der Suchmaschine Verity innerhalb von SCOhelp sowie beim Auffinden verschiedener Dienstprogramme und SCO-Verwaltungsfunktionen (SCOadmin Manager) auftreten. Es ist erforderlich, daß Sie diese SLS installieren, wenn Sie die DB2-Dokumentation anzeigen. Weitere Einzelheiten finden Sie in der Datei "ptf7004a.txt". 22.5 SUCHINDEXDATEIEN VON SCOHELP SCOhelp speichert alle seine Suchindexdateien im Verzeichnis "/usr/lib/scohelp//_SearchIndex/parts". Diese Dateien werden bei der Installation von Produkten größer, durch das Entfernen von Produkten werden sie jedoch nicht kleiner (bei Verwendung der aktuellen Dienstprogramme von UnixWare 7). Dies gilt für DB2 sowie auch für andere Produkte. Wenn Sie diese Dateien löschen, wird die Suchfunktion von SCOhelp nicht mehr ordnungsgemäß funktionieren. (C) Copyright IBM Corp. 1999 (C) Copyright IBM Deutschland Informationssysteme GmbH 1999