Wird die Tabellenfunktion SNAP_GET_DB in einer DPF-Umgebung (Datenbankpartitionierungsfunktion) aufgerufen und -2 (globale Momentaufnahme) als Eingabe angegeben, übergibt die Funktion für die folgenden vier Spalten unvollständige Ergebnisse:
Diese Elemente können nicht für eine globale Momentaufnahme zusammengefasst werden. Zum Abrufen der vollständigen Werte für diese Momentaufnahmenele- mente sollte die Tabellenfunktion SNAP_GET_DB für jede Partition einzeln aufgerufen werden.
Die Option REPLACE des Befehls IMPORT berücksichtigt nicht die Klausel NOT LOGGED INITIALLY (NLI) der Anweisung CREATE TABLE oder die Klausel ACTIVATE NOT LOGGED INITIALLY der Anweisung ALTER TABLE.
Wenn ein Import mit der Aktion REPLACE innerhalb der gleichen Transaktion durchgeführt wird wie eine Anweisung CREATE TABLE oder ALTER TABLE, bei der die NLI-Klausel aufgerufen ist, wird diese NLI-Klausel vom Import nicht berücksichtigt. Alle Einfügungen werden protokolliert.
Diese Einschränkung bezieht sich auf DB2 UDB Version 7 und DB2 UDB Version 8.
| | |Während der Inplace- oder Onlinereorganisation von Tabellen können Spalten mit sehr langen Zeichenfolgen und LOB-Daten nicht reorganisiert werden. Spalten mit sehr langen Zeichenfolgen und LOB-Daten können mit einer herkömmlichen Reorganisation oder einer Offlinereorganisation von Tabellen reorganisiert werden. Dazu wird für den Befehl REORG TABLE der Parameter LONGLOBDATA angegeben. |Sie müssen jedoch Folgendes beachten: Obwohl die Reorganisation von Spalten mit sehr langen Zeichenfolgen und mit LOB-Daten das Zurückfordern freier Speicherbereiche ermöglicht, wird dadurch das Clustering nicht verbessert, und der Zeitaufwand für die Reorganisation kann beträchtlich steigen.
| | |Bei der Isolationsstufe CS (Cursorstabilität) ist die der Zeile auf dem Datenbankserver zugeordnete aktuelle Cursorposition immer gesperrt. Bei einem Blockabruf können mehrere Zeilen in einem einzelnen Puffer zurückgegeben werden. Meist passt die letzte auf Serverseite verarbeitete Zeile nicht genau in einen Puffer und wird auf zwei Puffer aufgeteilt. Für die Anwendung ist diese Aufteilung der Zeile so lange nicht erkennbar, bis Sie den zweiten Pufferinhalt empfängt. Daher wird keine an die Anwendung zurückgegebene Zeile gesperrt.
|Im seltenen Fall, in dem die letzte auf Serverseite verarbeitete Zeile genau in den Puffer passt, bleibt die Cursorposition in der letzten Zeile innerhalb des Puffers. Dies bedeutet, dass die letzte an die Anwendung zurückgegebene Zeile gesperrt wird.
Das Data Warehouse-Programm 'Daten mit ODBC in Datei exportieren' unterstützt folgende Sybase-Datentypen nicht:
Die folgenden Datentypen werden im SQL-Debugger, der in der Entwicklungszentrale integriert ist, nicht unterstützt:
Die Entwicklungszentrale unterstützt die Erstellung strukturierter Typen nicht mehr.
Ein Debug gespeicherter Java-Prozeduren für einen 64-Bit-Server wird von der Entwicklungszentrale nicht unterstützt. Ein Debug gespeicherter SQL-Prozeduren wird auf 64-Bit-Windows-Betriebssystemen unterstützt. Die Entwicklung von OLE-Datenbankfunktionen oder von benutzerdefinierten XML-Funktionen wird für 64-Bit-Server nicht unterstützt.
Sie können die Entwicklungszentrale nicht für den Debug gespeicherten Java-Prozeduren verwenden, die auf einer der Linux-Varianten (32-Bit, 64-Bit, Intel, zSeries oder iSeries) ausgeführt werden.
Die Entwicklungszentrale unterstützt kein Debug für eine gespeicherte Prozedur, bei der im Namen, im Schema oder im spezifischem Namen der gespeicherten Prozedur ein doppeltes Anführungszeichen (") vorkommt.
Damit Java-Routinen von der Entwicklungszentrale kompiliert werden können, muss bekannt sein, wo Ihre Versionen von Developer Kit installiert sind. Standardverzeichnisse für diese Developer Kit-Versionen werden beim ersten Start der Entwicklungszentrale in Ihre Datei $HOME/.ibm/db2/dc/DB2DC.settings geschrieben. Sie können diese Verzeichnisse in Ihre Datei $USER.settings kopieren und mit einem Unicode-Editor modifizieren oder symbolische Verknüpfungen zu Ihren Developer Kit-Verzeichnissen an den Standardspeicherpositionen erstellen.
Die Entwicklungszentrale unterstützt nicht das gleichzeitige Ausführen und Debuggen gespeicherter Java-Prozeduren. In der Entwicklungszentrale können Sie mehrere gespeicherte Java-Prozeduren gleichzeitig ausführen oder ein Debug für eine einzelne gespeicherte Java-Prozedur ausführen. Es ist nicht möglich, eine gespeicherte Java-Prozedur und parallel dazu ein Debug für eine andere gespeicherte Java-Prozedur auszuführen. Das Konfigurationsschlüsselwort KEEPFENCED des Datenbankmanagers ist standardmäßig auf KEEPFENCED=YES gesetzt, um ein Debug gespeicherter SQL-Prozeduren zu ermöglichen. Wenn das Schlüsselwort KEEPFENCED auf den Standardwert YES gesetzt ist, bleibt der Routineprozess aktiv und JVM-Portkonflikte treten auf. Gespeicherte Java-Prozeduren verursachen eine JVM-Ausnahmebedingung und können bei Verwendung der Standardeinstellung KEEPFENCED=YES in den folgenden Fällen nicht ausgeführt werden:
Zur Umgehung dieser Einschränkung stellen Sie sicher, dass das Konfigurationsschlüsselwort KEEPFENCED des Datenbankmanagers auf NO gesetzt ist. Führen Sie hierzu die folgenden Befehle aus:
db2 update dbm cfg using KEEPFENCED NO db2stop db2start
Wenn KEEPFENCED auf NO gesetzt ist, wird der db2fmp-Prozess beendet, sobald der Aufruf einer gespeicherten Java-Prozedur abgeschlossen ist. Zur Verarbeitung des nächsten Routinenaufrufs startet DB2 Universal Database einen neuen db2fmp-Prozess. Dadurch wird sichergestellt, dass sich keine vorhandene JVM im Debugmodus befindet, wenn Sie mit dem Debug einer gespeicherten Java-Prozedur beginnen.
Die Einstellung KEEPFENCED=YES ist zur Erzeugung gespeicherter SQL-Prozeduren für Debugs und für das Debug gespeicherter SQL-Prozeduren erforderlich. Wenn KEEPFENCED=NO eingestellt ist, können gespeicherte SQL-Prozeduren erzeugt und ausgeführt werden, aber es kann kein Debug erfolgen.
Die DB2(R) Universal JDBC-Treibermethode DB2SystemMonitor.getServerTimeMicros() wird von DB2(R) Universal Database(TM) für Linux(TM), UNIX(R) und Windows(R)-Server zurzeit nicht unterstützt. Die Methode DB2SystemMonitor.getServerTimeMicros() gibt für Linux-, UNIX- und Windows-Server 0 zurück, wenn eine Verbindung zu DB2 Universal Database(TM) hergestellt wird.
| | |Vor der Installation von 64-Bit-DB2 für Linux auf iSeries(TM)- und pSeries(R)-Systemen müssen die folgenden Voraussetzungen erfüllt sein:
|http://www.ibm.com/support/docview.wss?uid=swg24007906Oder führen Sie die folgenden Schritte durch: |
DB2 Universal Database (UDB) Version 8.2.2 (äquivalent zu Version 8.1 FixPak 9) unter Linux AMD64 unterstützt Universal JDBC Driver Type 2 nicht. Die Unterstützung ist in einem zukünftigen FixPak vorgesehen. JDBC-Unterstützung ist in Version 8.2.2 über Universal JDBC Driver Type 4 und der früheren Version von Type 2 JDBC Driver verfügbar (COM.ibm.db2.jdbc.app.DB2Driver).
Wenn der PHP-Interpreter im Auftrag einer Anwendung einen Cursor erstellt, wird dieser Cursor standardmäßig als verschiebbarer schlüsselsatzgesteuerter Cursor erstellt. In seltenen Fällen werden dadurch unerwartete Ergebnisse zurückgegeben. Geben Sie daher zur Vermeidung dieses Problems für jede Anweisung SELECT, die für die Aktualisierung von Daten verwendet wird, explizit die Klausel "FOR READ ONLY" an. Weitere Möglichkeiten sind das Setzen der CLI-Konfigurationspara- meter "Patch2=6", "Patch2=42" oder "DisableKeysetCursor=1". Jede dieser Möglich- keiten kann jedoch eigene Konsequenzen haben. Einzelheiten zu diesen Konfigu- rationsschlüsselwörtern finden Sie im Handbuch CLI Guide and Reference.
| | |Das Schlüsselwort ConnectNode wirkt sich nicht auf die Steuerzentrale aus. Die Steuerzentrale stellt immer eine Verbindung zum Katalogknoten her, der in der Einstellung SQL_CONN_CATALOG_NODE angegeben ist.
| | |Die Funktion SQLColumns() unterstützt keine Datenrückgabe von einem Aliasnamen eines Aliasnamens. Wenn Sie die Funktion SQLColumns() für den Aliasnamen eines Aliasnamens aufrufen, wird eine leere Ergebnismenge zurückgegeben.
Wenn Sie CLI-Pakete mit einer der folgenden Listdateien binden, werden bestimmte Bindeoptionen möglicherweise nicht wirksam: db2cli.lst, ddcsmvs.lst, ddcs400.lst, ddcsvm.lst oder ddcsvse.lst. Da CLI-Pakete von vielen Anwen- dungstypen verwendet werden (CLI, ODBC, JDBC, OLE DB, .NET und ADO), wirken sich Änderungen an den CLI-Paketen auf alle Anwendungen dieser Typen aus. Beim Binden von CLI-Paketen wird daher nur ein Teil der Bindeoptionen standardmäßig unterstützt. Folgende Optionen werden unterstützt: ACTION, COLLECTION, CLIPKG, OWNER und REPLVER. Alle anderen Bindeoptionen, die sich auf CLI-Pakete auswirken, werden ignoriert.
Zum Erstellen von CLI-Paketen mit Bindeoptionen, die nicht standardmäßig unterstützt werden, geben Sie die Bindeoption COLLECTION zusammen mit einer Objektgruppen-ID an, die sich von der Standardobjektgruppen-ID NULLID unterscheidet. Alle angegebenen Bindeoptionen werden dann akzeptiert. Geben Sie beispielsweise zum Erstellen von CLI-Paketen mit der Bindeoption KEEPDYNAMIC YES (nicht standardmäßig unterstützt) folgenden Befehl ein:
db2 bind @db2cli.lst collection neue_id keepdynamic yes
Damit die CLI/ODBC-Anwendungen auf die in der neuen Objektgruppe erstellten CLI-Pakete zugreifen können, legen Sie für das CLI/ODBC-Schlüsselwort CurrentPackageSet in der Initialisierungsdatei db2cli.ini die neue Objektgruppen-ID fest.
Zum Überschreiben von CLI-Paketen, die bereits mit einer bestimmten Objektgruppen-ID vorhanden sind, führen Sie eine der folgenden Aktionen aus:
Das CLI-Dienstprogramm LOAD unterstützt keine Parametermarken, wenn die vorbereitete SQL-Anweisung zum Einfügen von Daten eine SELECT-Klausel enthält.
|Vor Version 8.2 FixPak 3 (äquivalent zu Version 8.1 FixPak 10) konnten für das CLI-Dienstprogramm LOAD keine Zielspalten angegeben werden, wenn die Anweisung INSERT die Klausel VALUES enthielt.
|Ab Version 8.2 FixPak 3 (äquivalent zu Version 8.1 FixPak |10) können jedoch mit dem CLI-Dienstprogramm LOAD in der Anweisung INSERT mit einer VALUES-Klausel Zielspalten angegeben werden. Die folgende Anweisung z. B. wird nun vom CLI-Dienstprogramm LOAD unterstützt:
|INSERT into tabelleA (spalte1, spalte2, spalte3) VALUES (?, ?, ?)
Die Erstellung der Toolskatalogdatenbank auf einem 64-Bit-Exemplar von DB2 Universal Database (UDB) unter Linux (AMD64) wird nicht unterstützt. Versuchen Sie nicht, den Toolskatalog auf einem 64-Bit-Exemplar unter Verwendung einer der folgenden Methoden zu erstellen:
Die Erstellung der Toolskatalogdatenbank auf einem 32-Bit-Exemplar unter Linux (AMD64) wird ab Version 8.1.4 unterstützt.
Die Erstellung des Toolskatalogs während der Installation von DB2 Universal Database (UDB) für 64-Bit-Exemplare auf den 64-Bit-Hybridplattformen wird nicht unterstützt. Es gibt folgende Hybridplattformen:
Wenn Sie einen Toolskatalog für ein 64-Bit-Exemplar erstellen möchten, können Sie dies nach der Installation von DB2 UDB über den Befehlszeilenprozessor (CLP) mit dem Befehl CREATE TOOLS CATALOG CLP oder unter Verwendung der Steuerzentrale tun. Sie müssen für diese Operation außerdem ein IBM Developer Kit (64 Bit) für Java installieren. Weitere Details finden Sie im Abschnitt zum DB2-Ver- waltungsserver im Handbuch DB2 Systemverwaltung.
Es gibt Speicherbegrenzungen für die folgenden Produkte:
Wenn Sie einen Warehouse-Prozess planen, der in Intervallen ausgeführt werden soll, müssen Sie ermitteln, wie lange die Ausführung aller Produktionsschritte im Prozess im Höchstfall dauert, und die Intervalle entsprechend planen. Wenn ein Prozess das geplante Zeitintervall überschreitet, werden alle nachfolgend geplanten Vorkommen dieses Prozesses nicht ausgeführt und nicht erneut geplant.
Die folgende Unterstützung wurde von DB2 Universal Database (UDB) Enterprise Server Edition (ESE) Version 8 für Windows- und UNIX-Betriebssysteme und von DB2 Connect Enterprise Edition (CEE) Version 8 für Windows- und UNIX-Betriebssysteme zurückgezogen:
Wenn Sie Sicherheits-Plug-ins entwickeln, die auf DB2-Clients unter Windows-Betriebssystemen eingesetzt werden, entladen Sie bei der Plug-in-Beendigungsfunktion keine Zusatzbibliotheken. Diese Einschränkung gilt für alle Typen von Clientsicherheits-Plug-ins, wie z. B. Plug-ins für Gruppen, Benutzer-IDs und Kennwörter, Kerberos und GSS-API.
Diese Einschränkung wird vom DB2 Universal Database-Problem beim Entladen von Sicherheits-Plug-ins auf DB2-Clients unter Windows-Betriebssystemen verursacht.
Bei Verwendung der Betriebssystemauthentifizierung unter AIX versucht DB2 Universal Database (UDB), nach erfolgter Authentifizierung während einer Verbin- dungsherstellung eine erfolgreiche Anmeldung an AIX zu melden. Vor Version 8 FixPak 5 wurde die Verbindung trotz Authentifizierung des Benutzers nicht hergestellt, wenn DB2 UDB keine erfolgreiche Anmeldung melden konnte. Ab Version 8 FixPak 5 bleibt die Verbindung bestehen, und der Fehler wird in der Datei db2diag.log protokolliert.
Die zweiteilige Benutzer-ID für die Anweisung CONNECT und den Befehl ATTACH, wie beispielsweise domänenname\benutzername wird unter Windows ME nicht unterstützt.
Wenn Sie den Ladeassistenten oder das Notizbuch für den Import verwenden, um eine Lade- oder Importoperation aus einer IXF-Eingabedatei einzurichten, die DBCS-Zeichen enthält, werden die Spaltennamen, die in der Datei enthalten sind, auf der Seite Spalten nicht korrekt angezeigt.
| | |Die GUI-Tools, die mit DB2 Universal Database (UDB) ausgeliefert werden, sind Java-basierte Dienstprogramme mit grafischer Benutzerschnittstelle. Beispiele für DB2 UDB-GUI-Tools:
|Da Linux-Betriebssysteme auf AMD64-Systemen zurzeit nicht über ein 64-Bit-Java(TM) SDK oder eine Java-Laufzeitumgebung (JRE) verfügen, müssen Sie diese Tools über ein 32-Bit-DB2 UDB-Exemplar ausführen.
|Diese Tools können Sie dennoch verwenden, um Datenbanken in lokalen oder fernen 64-Bit-Exemplaren zu verwalten. Wenn Sie z. B. die Steuerzentrale verwenden möchten, müssen Sie zuerst ein 32-Bit-Exemplar erstellen. Nach der Erstellung eines 32-Bit-Exemplars müssen Sie das zu verwaltende lokale 64-Bit-Exemplar manuell katalogisieren.
|Weitere Informationen zu DB2 für Linux auf AMD64-Systemen finden Sie unter der folgenden URL-Adresse:
|http://www-1.ibm.com/support/docview.wss?uid=swg450ec44e63a9da8f588256d8d004ff3ab
Damit die GUI-Tools, wie die Steuerzentrale, korrekt funktionieren, müssen Sie eine Bildschirmauflösung von mindestens 800 x 600 und eine Anzeigepalette mit mindestens 32 Farben verwenden.
Chinesische Zeichen, die mit dem Codierungsstandard GB18030 verschlüsselt wurden, werden in der Titelleiste von Fenstern möglicherweise als Fragezeichen oder Quadrate dargestellt.
Tabellen, die vom Information Catalog Manager verwendet werden, dürfen in nur einer Datenbankpartition enthalten sein. Es gibt mehrere Möglichkeiten, um die Tabellen in eine einzelne Partition zu versetzen. Gehen Sie beispielsweise wie folgt vor:
CREATE DATABASE PARTITION GROUP name-der-partitionsgruppe ON DBPARTITIONNUM partitionsnummer
CREATE REGULAR TABLESPACE tabellenbereichsname IN DATABASE PARTITION GROUP name-der-partitionsgruppe MANAGED BY SYSTEM USING ('katalogname')
Query Patroller kann die folgenden Aktionen nicht ausführen, wenn der Datenbankkonfigurationsparameter DYN_QUERY_MGMT inaktiviert ist:
Wenn Sie versuchen, eine Abfrage aus einem Status "Angehalten" freizugeben oder eine Vordergrundabfrage in eine Hintergrundabfrage zu ändern, wenn DYN_QUERY_MGMT auf DISABLE (inaktivieren) gesetzt ist, wird eine Fehlernachricht angezeigt und der Status der Abfrage wird nicht geändert. Wenn angehaltene Abfragen für die Ausführung terminiert sind und DYN_QUERY_MGMT zum Zeitpunkt ihres Ausführungsbeginns inaktiviert ist, wird eine Fehlernachricht in die Datei qpdiag.log geschrieben, und die Abfragen verbleiben im Status "Angehalten".
Ab FixPak 5 werden alle neuen Ergebnistabellen im Schema DB2QPRT anstatt im Schema des übergebenden Benutzers erstellt.
Das Zugriffsrecht DROPIN für das Schema DB2QPRT wird Operatoren erteilt, deren Profile vor der Installation von FixPak 5 erstellt wurden und über eines der folgenden Zugriffsrechte verfügten:
Das Zugriffsrecht DROPIN für das Schema DB2QPRT wird erteilt, wenn Query Patroller zum ersten Mal eine Ergebnistabelle in diesem Schema erstellt.
Bedienern, denen das Zugriffsrecht MONITORING mit Editierberechtigung oder das Zugriffsrecht HISTORICAL ANALYSIS mit Editierberechtigung nach der Installation von FixPak 5 erteilt wurde, wird ebenfalls das Zugriffsrecht DROPIN für das Schema DB2QPRT beim Erstellen oder Aktualisieren Ihrer Profile erteilt.
Der Diagnosemonitor kann keine Aktionen für den Diagnoseanzeiger db2.db2_op_status ausführen, wenn der Diagnoseanzeiger in den inaktiven Status versetzt wird. Dieser Status kann z. B. verursacht werden, wenn ein vom Diag- noseanzeiger überwachtes Exemplar aufgrund einer expliziten STOP-Anforderung oder einer abnormalen Beendigung inaktiviert wird. Wenn das Exemplar nach einer abnormalen Beendigung automatisch erneut gestartet werden soll, müssen Sie den Fault Monitor konfigurieren, um die hohe Verfügbarkeit des Exemplars beizubehalten.
Wenn der Befehl export mit einem IXF-Dateiformat und der |Klausel SELECT * abgesetzt wird, werden ggf. Indexierungsinformationen erfasst.
|Wenn die im Index angegebenen Spaltennamen die Zeichen - oder + enthalten, werden die Indexierungsinformationen nicht erfasst, und Sie erhalten den SQL-Code SQL27984W. Der Export wird beendet, ohne dass sich dies auf die exportierten Daten auswirkt. |Die Indexierungsinformationen werden jedoch nicht in der IXF-Datei gespeichert.
Wenn Sie die Tabelle mit dem Befehl import und dem Parameter CREATE erneut erstellen, werden die Indizes nicht erneut erstellt. |Die Indizes können Sie mit dem Dienstprogramm db2look separat erstellen.
Wenn Sie die API db2ReadLog über eine Anwendung aufrufen, kann dies beim Trennen der Anwendung von der Datenbank einen Fehler verursachen, falls zuvor keine COMMIT- oder ROLLBACK-Operation ausgeführt wird:
|Schalten Sie für nicht eingebettete SQL-Anwendungen den Modus für automatisches Festschreiben ein, bevor Sie die API db2ReadLog aufrufen.
Setzen Sie nach dem Aufruf der API db2ReadLog eine COMMIT- oder ROLLBACK-Anweisung ab, bevor Sie die Verbindung zur Datenbank trennen.
Der Befehl 'db2gcf' startet, stoppt oder überwacht ein DB2 Universal Database-Exemplar in der Regel in einer automatisierten Prozedur, wie z. B. in einem Cluster mit hoher Verfügbarkeit.
Die Verwendung des Systembefehls 'db2gcf' mit dem Parameter -k unter DB2 UDB Workgroup Server schlägt fehl.
Der Befehl "db2gcf -k" kann nur unter DB2 UDB Enterprise Server Edition, nicht jedoch unter DB2 UDB Workgroup Server Edition eingesetzt werden.
Wenn ein 32-Bit-DB2 Universal Database-Server auf einem AIX-System ausgeführt wird und eine Anwendung, die auf demselben System aktiv ist, mehrere Daten- bankverbindungen über den DRDA-Wrapper aufweist, empfängt die Anwendung möglicherweise den folgenden Fehler:
SQL1822N Es wurde ein unerwarteter Fehlercode "-1224" von der Datenquelle "W3_SERVER2" empfangen. Zugeordneter Text und Token sind func="DriverConnect" msg="SQL1224N Ein Datenbankagent konnte nicht für die Anforderung gestartet werden, oder er wurde auf Grund eines Systemabschlusses der Datenbank bzw. durch den Befehl FORCE beendet." SQLSTATE=560BD
Sie vermeiden diesen Fehler, indem Sie in die Konfigurationsdatei für zusammengeschlossene Datenbanken (exemplarverzeichnis/cfg/db2dj.ini) den folgenden Eintrag einfügen:
EXTSHM=ON
Sie können jedoch auch die lokale DB2 UDB-Datenbank so katalogisieren, dass sie sich auf einem TCP/IP-Knoten befindet. Beispiel:
CATALOG TCPIP NODE mein_knoten REMOTE mein_host SERVER 123; CATALOG DB meinedb AT NODE mein_knoten; CREATE WRAPPER drda; CREATE SERVER mein_server TYPE DB2/UDB VERSION 8 WRAPPER drda AUTHORIZATION "meine_id" PASSWORD "mein_kennwort" OPTIONS(ADD DBNAME 'MEINEDB');
Wenn Ihre Direktaufrufe in Microsoft Visual Studio .NET Framework 1.1 nicht funktionieren, können Sie von der Website von Microsoft ein Hotfix herunterladen. Sie finden das Hotfix in der Microsoft Knowledge Base unter Artikel Q836745.
Unter AIX wurde der codierte Zeichensatz für die Ländereinstellung für vereinfachtes Chinesisch Zh_CN für folgende Versionen geändert:
Der Zeichensatz wurde von GBK (Codepage 1386) in GB18030 (Codepage 5488 oder 1392) geändert. Da DB2 Universal Database (UDB) für AIX den Zeichensatz GBK nativ und den Zeichensatz GB18030 über Unicode unterstützt, legt DB2 UDB den codierten Zeichensatz der Ländereinstellung Zh_CN standardmäßig auf ISO 8859-1 (Codepage 819) fest. Darüber hinaus wird bei einigen Operationen als Gebiet der Ländereinstellung die USA (US) festgelegt.
Es gibt zwei Möglichkeiten, um diese Einschränkung zu umgehen:
Wenn Sie sich für die erste Möglichkeit entscheiden, setzen Sie die folgenden Befehle ab:
db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start
Wenn Sie sich für die zweite Möglichkeit entscheiden, ändern Sie die Ländereinstellung von Zh_CN in ZH_CN oder zh_CN. Der codierte Zeichensatz der Ländereinstellung ZH_CN ist Unicode (UTF-8), der codierte Zeichensatz der Ländereinstellung zh_CN ist eucCN (Codepage 1383).
In Red Hat Version 8 oder höher (einschließlich Red Hat Enterprise Linux [RHEL] Version 2.1 und Version 3) wurde der Standardwert für den codierten Zeichensatz für vereinfachtes Chinesisch von GBK (Codepage 1386) in GB18030 (Codepage 5488 oder 1392) geändert.
Da DB2 Universal Database (UDB) für Linux den Zeichensatz GBK nativ und den Zeichensatz GB18030 über Unicode unterstützt, legt DB2 UDB seinen codierten Zeichensatz standardmäßig auf ISO 8859-1 (Codepage 819) fest. Darüber hinaus wird bei einigen Operationen als Gebiet die USA (US) festgelegt.
Es gibt zwei Möglichkeiten, um diese Einschränkung zu umgehen:
Wenn Sie sich für die erste Möglichkeit entscheiden, setzen Sie die folgenden Befehle ab:
db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start
Wenn Sie sich für die zweite Möglichkeit entscheiden, setzen Sie einen der folgenden Befehle ab:
export LANG=zh_CN.gbk export LANG=zh_CN export LANG=zh_CN.utf8
Dabei ist der codierte Zeichensatz, der zh_CN zugeordnet ist, eucCN oder Codepage 138, und der codierte Zeichensatz, der zh_CN.utf8 zugeordnet ist, Codepage 1208.
Bei der Unicode-Unterstützung sind Inkompatibilitäten vorhanden, wenn Merant Driver Manager unter UNIX auf den ODBC-Treiber von DB2 zugreift. Auf Grund dieser Inkompatibilitäten wird Merant Driver Manager zur Verwendung von Unicode veranlasst, selbst wenn die Anwendung die Unicode-Verwendung nicht angefordert hat. Dies kann zu Problemen mit Komponenten wie der Data Warehouse-Zentrale, Information Catalog Manager und MQSI führen, die Merant Driver Manager zur Unterstützung von Nicht-IBM Datenquellen benötigen. Sie können eine alternative DB2-ODBC-Treiberbibliothek ohne aktivierte Unicode-Unterstützung verwenden, bis eine dauerhafte Lösung zur Verfügung steht.
Eine alternative DB2-ODBC-Treiberbibliothek ohne aktivierte Unicode-Unterstützung ist in DB2 Universal Database (UDB) Version 8.1 für AIX, HP-UX und die Solaris-Betriebsumgebung enthalten. Zur Verwendung der alternativen Bibliothek müssen Sie eine Kopie von dieser erstellen und die Kopie mit dem Originalnamen der DB2-ODBC-Treiberbibliothek benennen.
Beachten Sie folgende Hinweise, um zur Nicht-Unicode-ODBC-Bibliothek unter AIX, HP-UX oder der Solaris-Betriebsumgebung umschalten zu können: Da es sich dabei um einen manuellen Prozess handelt, müssen Sie diesen bei jeder Aktualisierung Ihres Produkts ausführen, ebenso nach Anwendung nachfolgender FixPaks oder Modifikationsstufen.
Gehen Sie wie folgt vor, um die alternative Bibliothek unter AIX zu erstellen:
cp db2_36.o db2.o -r--r--r-- bin:bin for db2.o
Um wieder zum Originalobjekt zu wechseln, führen Sie dieselbe Prozedur aus. Verwenden Sie dabei die Sicherungsdatei an Stelle der Datei db2_36.o.
Gehen Sie wie folgt vor, um die alternative Bibliothek in einer Solaris-Betriebsumgebung zu erstellen:
cp libdb2_36.so.1 libdb2.so.1 -r-xr-xr-x bin:bin libdb2.so.1
Um wieder zum Originalobjekt zu wechseln, führen Sie dieselbe Prozedur aus. Verwenden Sie dabei die Sicherungsdatei an Stelle der Datei libdb2_36.so.1.
Gehen Sie wie folgt vor, um die alternative Bibliothek unter HP-UX PA-RISC zu erstellen:
cp libdb2_36.sl libdb2.sl -r-xr-xr-x bin:bin for libdb2.sl
Um wieder zum Originalobjekt zu wechseln, führen Sie dieselbe Prozedur aus. Verwenden Sie dabei die Sicherungsdatei an Stelle der Datei libdb2_36.sl.
Gehen Sie wie folgt vor, um die alternative Bibliothek unter HP-UX auf IA64-Plattformen zu erstellen:
cp libdb2_36.so libdb2.so -r-xr-xr-x bin:bin for libdb2.so
Um wieder zum Originalobjekt zu wechseln, führen Sie dieselbe Prozedur aus. Verwenden Sie dabei die Sicherungsdatei an Stelle der Datei libdb2_36.so.
Wenn Sie Unterstützung für DB2 UDB und Merant Driver Manager auf anderen UNIX-Betriebssystemen benötigen, wenden Sie sich bitte an die IBM Unterstützungsfunktion.
NFS-APAR IY32512 für AIX 5 kann bewirken, dass der Befehl db2stop auf Systemen mit einer großen Partitionsanzahl fehlschlägt.
Auf einem Server, der viele Anforderungen für Blocksperren für Dateien empfängt, die bereits gesperrt sind, antwortet der Sperrdämon möglicherweise nicht mehr. Dies tritt auf, wenn alle verfügbaren gesperrten Threads den Threads zugeordnet werden, die darauf warten, dass Sperren verfügbar werden, so dass kein Thread verfügbar ist, um die Arbeit wiederaufzunehmen, wenn die Entsperranforderung erfolgt.
In dieser Situation müssen die gestoppten Knoten erneut gestartet werden. Es gibt in dieser Situation eine Fehlerumgehung für DB2 Universal Database: Sie stoppen die Knoten jeweils einzeln, indem Sie die Option NODENUM des Befehls db2stop verwenden.
Wenn die Precompileroption SQLFLAG(STD) aktiviert ist, wird ein Fehler angezeigt, dass es bei der Ausführung des Precompilerprogramms DSNHPC zu einer abnormalen Beendigung C6 kam.
Entfernen Sie die Precompileroption SQLFLAG(STD), wenn Sie die Entwicklungszentrale zum Erstellen gespeicherter SQL-Prozeduren verwenden, die unter DB2 Universal Database für z/OS Version 8 ausgeführt werden.
| | |DB2 Connect(TM) leitet Verbindungen zu anderen Elementen einer Distributed |Data Facility (DDF) nicht weiter, wenn das die Verbindung herstellende Element der DDF in einer Gruppe mit gemeinsamer Datennutzung für OS390 beendet wurde. Wenn Sysplex aktiviert ist, leitet DB2 Connect Verbindungen zu einem anderen Element in der DDF gemäß der Serverliste weiter.
|Sysplex für DB2 Connect Version 8 wurde unter Berücksichtigung der Verwendung von Agentenpools entworfen. |Die Sysplex-Serverliste wird freigegeben, falls für eine Datenbank keine Agenten und keine Verbindungen vorhanden sind. Daher muss mindestens ein Agent beibehalten werden, wenn die Sysplex-Serverliste beibehalten werden soll.
Aktivieren Sie das Verbindungspooling mit den folgenden Befehlen:
|db2 update dbm cfg using num_poolagents anzahl |db2stop |db2start
Dabei steht anzahl für die maximale Anzahl Agenten, die für Pools des DB2-Exemplars zugelassen sind. Das Verbindungspooling ist aktiviert, wenn anzahl größer als null ist.
|Setzen Sie num_poolagents auf -1, was der Hälfte des Werts entspricht, auf den der Konfigurationsparameter maxagents gesetzt ist.
Obwohl DB2 Connect Custom Advisor im DB2 Connect Benutzerhandbuch dokumentiert ist, wird er in Version 8.2 nicht mehr unterstützt.
Dieser Fehler kann auch auftreten, wenn Sie DB2 UDB Version 8.1 FixPak 7 installieren, falls Sie den Konfigurationsparameter jdk_path des DB2-Verwaltungsservers manuell so aktualisiert haben, dass er auf HP-UX SDK 1.4 zeigt, oder falls Sie den DB2-Verwaltungsserver (DVS) gelöscht und erneut erstellt haben. Der Fehler tritt auf, da Sie in beiden Fällen den Konfigurationsparameter jdk_path so geändert haben, dass er auf HP-UX SDK 1.4 zeigt.
Ein 32-Bit-Exemplar von DB2 UDB Version 8.2 erfordert HP-UX SDK 1.3, um erfolgreich ausgeführt zu werden.
db2 update admin config using JDK_PATH /opt/java1.3
db2admin stop db2admin start
Wenn Sie bei der Verwendung der GUI-Tools von DB2 Probleme mit der Anzeige von indischen Schriftzeichen haben, haben Sie die erforderlichen Schriftarten möglicherweise nicht auf Ihrem System installiert.
DB2 Universal Database (UDB) wird mit den folgenden proportionalen IBM TrueType- und OpenType-Schriftarten für indische Sprachen geliefert. Sie können diese Schriftarten im Verzeichnis font auf einer der folgenden CDs finden:
Diese Schriftarten sind nur für die Verwendung mit DB2 UDB bestimmt. Diese Schriftarten dürfen weder im allgemeinen noch im uneingeschränkten Verkauf noch zur Verteilung angeboten werden:
Schriftbild | Schriftstärke | Name der Schriftartdatei |
---|---|---|
Devanagari MT für IBM | Mittel | devamt.ttf |
Devanagari MT für IBM | Fett | devamtb.ttf |
Tamil | Mittel | TamilMT.ttf |
Tamil | Fett | TamilMTB.ttf |
Telugu | Mittel | TeluguMT.ttf |
Telugu | Fett | TeleguMTB.ttf |
Genaue Anweisungen zur Installation der Schriftarten und zur Modifizierung der Datei font.properties finden Sie im Abschnitt zur Internationalisierung in der Dokumentation zu IBM Development Kit für Java.
Darüber hinaus werden die folgenden Produkte von Microsoft mit Schriftarten für indische Sprachen geliefert. Sie können ebenfalls mit den GUI-Tools von DB2 verwendet werden:
Mit Ausnahme des DB2-Installationsassistenten funktionieren die GUI-Tools auf zSeries-Servern mit Linux-Betriebssystem nicht. Diese Einschränkung umfasst alle Elemente, die normalerweise über die Klickstartleiste für die Installation gestartet werden, wie beispielsweise der Kurzüberblick.
Wenn Sie die GUI-Tools mit einem dieser Systeme verwenden möchten, instal- lieren Sie die Verwaltungstools auf einem Clientsystem mit einer anderen Systemkonfiguration, und verwenden Sie diesen Client, um eine Verbindung zu Ihrem zSeries-Server herzustellen.
Wenn Sie in 'DB2 Information - Unterstützung' genaue Suchergebnisse erhalten möchten, müssen Sie Suchbegriffe, die Ziffern enthalten, in Anführungszeichen einschließen.
Wenn Sie z. B. nach dem folgenden Begriff suchen, erhalten Sie keine Ergebnisse:
1.4.1
Wenn Sie jedoch diesen Suchbegriff in Anführungszeichen einschließen, erhalten Sie die entsprechenden Ergebnisse:
"1.4.1"
Eine Suche nach dem folgenden Suchbegriff gibt mehr Themen als erwartet zurück:
DB20000I
Eine Suche nach dem folgenden Begriff funktioniert jedoch wie erwartet:
"DB20000I"
Wenn die Protokolldatei der Informationskatalogzentrale beim Importieren von Befehlssprachendateien in die Informationskatalogzentrale nicht generiert wird, führen Sie folgende Schritte zur Fehlerbehebung durch:
db2javit -j:com.ibm.db2.common.icm.tag.IcmImport -w: -i: -o:"-Xmx128m -Xms32m" -g:"d:\temp\myimport.trc" ...
Wenn die Query Patroller-Pakete nach Anwendung eines FixPaks nicht gebunden werden, besteht die Möglichkeit, dass ein Benutzer ohne Datenbankadministratorberechtigung oder entsprechende Query Patroller-Zugriffsrechte bei Verwendung der Query Patroller-Zentrale oder der Query Patroller-Befehlszeile den folgenden Fehler empfängt:
SQL0001N - Binden oder Vorkompilieren nicht erfolgreich abgeschlossen.
Wenn Sie mit der Query Patroller-Zentrale arbeiten, wird der Fehler SQL0001N in der Datei qpdiag.log protokolliert. Wenn Sie mit der Query Patroller-Befehlszeile arbeiten, wird SQL0001N an die Konsole zurückgegeben.
Zum Einleiten einer automatischen Bindung steht ein entsprechender Code zur Verfügung. Die automatische Bindung schlägt jedoch fehl, wenn der Benutzer, der die Verbindung herstellt, nicht über die erforderlichen Zugriffsrechte zur Ausführung aller Anweisungen in den Query Patroller-Paketen verfügt. Eine Folge dieses Fehlers ist, dass in der Query Patroller-Zentrale Ordner fehlen.
Zur Vermeidung dieses Fehlers sollten die qpserver.lst-Pakete nach Anwendung eines FixPaks von einem Benutzer mit DBADM-Berechtigung oder entsprechenden Zugriffsrechten manuell gebunden werden.
Übergebene Abfragen in Query Patroller empfangen möglicherweise den SQL-Code -29007, wenn unter Windows XP oder Windows 2003 keine Ports mehr verfügbar sind. Die Wahrscheinlichkeit dieses Fehlers nimmt zu, wenn die Anzahl der Clients zunimmt, die auf Query Patroller zugreifen.
Setzen Sie die folgenden Windows-Registrierdatenbankvariablen:
MaxUserPort=65534 TcpTimedWaitDelay=30
Starten Sie anschließend das System erneut, damit die Änderungen wirksam werden.
Details zum Setzen von Windows-Registrierdatenbankvariablen finden Sie unter der URL-Adresse http://support.microsoft.com/ auf der Microsoft(R)-Website für Hilfe und Unterstützung.
Wenn Sie DB2 Universal Database (UDB) unter Windows verwenden und für das Windows-System keine Administratorrechte haben, können Dateiberechtigungsprobleme auftreten. Wenn Sie die Fehlernachricht SQL1035N, SQL1652N oder SQL5005C empfangen, sind folgende Ursachen und Fehlerumgehungen möglich:
Erteilen Sie den Benutzern mindestens die Berechtigung zum Modifizieren (MODIFY) für das Verzeichnis exemplarverzeichnis auf Dateisystemebene.
Die Namen einiger XML Extender-Beispielprogramme sind möglicherweise mit den Namen anderer installierter Programme identisch. Wenn versehentlich ein anderes Programm mit demselben Namen wie das XML Extender-Beispielprogramm aufgerufen wird, können Ihre XML-Dateien beschädigt werden. In der folgenden Liste sind die alten Namen der XML Extender-Beispielprogramme sowie neue Pro- grammnamen aufgeführt, die seltener Konflikte verursachen. Verwenden Sie an Stelle der alten Namen unbedingt die neuen Namen für die Beispielprogramme, damit keine XML-Dateien beschädigt werden.
Altes Programm (Nicht mehr verwenden) | Neues Programm (Verwenden) |
---|---|
insertx.exe | dxxisrt.exe |
retrieve.exe | dxxretr.exe |
retrieve2.exe | dxxretr2.exe |
retrievec.exe | dxxretrc.exe |
shred.exe | dxxshrd.exe |
tests2x.exe | dxxgenx.exe |
tests2xb.exe | dxxgenxb.exe |
tests2xc.exe | dxxgenxc.exe |
Altes Programm (Nicht mehr verwenden) | Neues Programm (Verwenden) |
---|---|
insertx | dxxisrt |
retrieve | dxxretr |
retrieve2 | dxxretr2 |
retrievec | dxxretrc |
shred | dxxshrd |
tests2x | dxxgenx |
tests2xb | dxxgenxb |
tests2xc | dxxgenxc |
Der Quellcode (sqx-Dateien) für die oben aufgeführten ausführbaren Dateien befindet sich im Verzeichnis samples\db2xml\c Ihrer Installation. Die Quellendateien werden immer noch mit ihren alten Namen bezeichnet. Wenn Sie Änderungen am Quellcode vornehmen, kopieren Sie Ihre neu kompilierten ausführbaren Dateien (mit den alten Namen) in das Verzeichnis sqllib\bin.
Auf Windows-Plattformen müssen Sie eine zusätzliche Kopie erstellen, diese mit ihrem oben aufgeführten, neuen Namen benennen und in das Verzeichnis bin kopieren. Beide Kopien ersetzen die im bin-Verzeichnis vorhandenen Dateien. Nach dem Kompilieren Ihrer neuen Version von shred.exe müssen Sie zum Beispiel zwei Kopien machen und die Dateien im bin-Verzeichnis ersetzen: eine Datei shred.exe und die andere umbenannte Datei dxxshrd.exe.
Auf Linux- und UNIX-Plattformen müssen Sie nur die Datei mit dem alten Namen durch Ihre neu kompilierte Version ersetzen. Wenn Sie anhand dieser Programme neue ausführbare Dateien erstellen, müssen Sie die neuen Dateien aus dem Verzeichnis \SQLLIB\samples\db2xml\c\ in das Verzeichnis \SQLLIB\bin\ kopieren. Erstellen Sie dann eine zusätzliche Kopie, indem Sie die Dateien gemäß der obigen Tabelle umbenennen.
Sie können jetzt Dokumente zerlegen, die nicht eindeutige Attribute oder Elementnamen enthalten, die verschiedenen Spalten (der gleichen oder verschiedener Tabellen) zugeordnet sind, ohne die Fehlermeldung DXXQ045E zu erhalten. Es folgt ein ein Beispiel eines XML-Dokuments mit nicht eindeutigen Attributen und nicht eindeutigen Elementnamen:
<Order ID="0001-6789"> <!-- Anmerkung: Die Attributnamen-ID ist nicht eindeutig --> <Customer ID = "1111"> <Name>John Smith</Name> </Customer> <!-- Anmerkung: Der Elementname 'Name' ist nicht eindeutig --> <Salesperson ID = "1234"> <Name>Jane Doe</Name> </Salesperson> <OrderDetail> <ItemNo>xxxx-xxxx</ItemNo> <Quantity>2</Quantity> <UnitPrice>12.50</UnitPrice> </OrderDetail> <OrderDetail> <ItemNo>yyyy-yyyy</ItemNo> <Quantity>4</Quantity> <UnitPrice>24.99</UnitPrice> </OrderDetail> </Order>
Die zugehörige DAD, welche die kopierten Elemente und Attribute anderen Spalten zuordnet, sieht wie folgt aus:
<element_node name="Order"> <RDB_node> <table name="order_tab" key="order_id"/> <table name="detail_tab"/> <condition> order_tab.order_id=detail_tab.order_id </condition> </RDB_node> <!-- Attribut-ID unten kopiert, aber einer anderen Spalte zugeordnet --> <attribute_node name="ID"> <RDB_node> <table name="order_tab" /> <column name="order_id" type="char(9)"/> </RDB_node> </attribute_node> <element_node name="Customer"> <!-- Attribut-ID oben kopiert, aber einer anderen Spalte zugeordnet --> <attribute_node name="ID"> <RDB_node> <table name="order_tab" /> <column name="cust_id" type="integer"/> </RDB_node> </attribute_node> <!-- Elementname unten kopiert, aber einer anderen Spalte zugeordnet --> <element_node name="Name"> <text_node> <RDB_node> <table name="order_tab" /> <column name="cust_name" type="char(20)" /> </RDB_node> </text_node> </element_node> </element_node> <element_node name="Salesperson"> <!-- Attribut-ID oben kopiert, aber einer anderen Spalte zugeordnet --> <attribute_node name="ID"> <RDB_node> <table name="order_tab" /> <column name="salesp_id" type="integer"/> </RDB_node> </attribute_node> <!-- Elementname oben kopiert, aber einer anderen Spalte zugeordnet --> <element_node name="Name"> <text_node> <RDB_node> <table name="order_tab" /> <column name="salesp_name" type="char(20)" /> </RDB_node> </text_node> </element_node> </element_node> <element_node name="OrderDetail" multi_occurrence="YES"> <element_node name="ItemNo"> <text_node> <RDB_node> <table name="detail_tab" /> <column name="itemno" type="char(9)"/> </RDB_node> </text_node> </element_node> <element_node name="Quantity"> <text_node> <RDB_node> <table name="detail_tab" /> <column name="quantity" type="integer"/> </RDB_node> </text_node> </element_node> <element_node name="UnitPrice"> <text_node> <RDB_node>detail_tab" /> <table name="detail_tab" /> <column name="unit_price" type="decimal(7,2)"/> </RDB_node> </text_node> </element_node> </element_node> </element_node>
Der Inhalt der Tabellen würde nach dem Zerlegen des vorangegangenen Dokuments wie folgt aussehen:
ORDER _TAB: ORDER_ID CUST_ID CUST_NAME SALESP_ID SALESP_NAME 0001-6789 1111 John Smith 1234 Jane Doe DETAIL_TAB: ORDER_ID ITEMNO QUANTITY UNIT_PRICE 0001-6789 xxxx-xxxx 2 12.50 0001-6789 yyyy-yyyy 4 24.99
Bei der Herstellung einer Verbindung zu einem OS/390-System über SNA führt die VTAM-Schicht bei einer neuen Verbindung automatisch eine COMMIT-Operation aus. Die automatische COMMIT-Operation lässt zu, dass der Threadstatus des Hosts inaktiv ist. Deshalb wird der Thread sofort inaktiviert.
Bei der Herstellung einer Verbindung zu einem OS/390-System über TCP/IP gibt es jedoch keine automatische COMMIT-Operation. Die Anwendung selbst muss nach Herstellung der Verbindung eine explizite COMMIT-Operation ausführen, damit der Thread auf dem Host inaktiviert werden kann. Ohne die explizite COMMIT-Operation unterliegt der Thread einem Zeitlimit für ruhende Threads.
Zur Umgehung dieses Problems wird empfohlen, die Anwendung so umzuschreiben, dass eine explizite COMMIT-Operation ausgeführt wird, wenn die Verbindung nach deren Herstellung inaktiviert wird.
[ Seitenanfang |Vorherige Seite | Nächste Seite | Inhaltsverzeichnis ]