DB2 Universal Database - Systemverwaltung


Server-Optionen mit Auswirkung auf Abfragen für zusammengeschlossene Datenbanken

Ein System mit zusammengeschlossenen Datenbanken (Federated System) besteht aus einem DB2-Datenbankverwaltungssystem (DBMS), d. h. der zusammengeschlossenen Datenbank, und einer oder mehreren Datenquellen. Datenquellen werden für die zusammengeschlossene Datenbank mit Hilfe von Anweisungen CREATE SERVER angegeben. Beim Absetzen dieser Anweisungen können außerdem Server-Optionen angegeben werden, die bestimmte Aspekte des Betriebs des Systems mit der zusammengeschlossenen Datenbank bezüglich DB2 und der angegebenen Datenquelle differenzieren und steuern. Server-Optionen können später mit Hilfe von Anweisungen ALTER SERVER geändert werden. Im Handbuch SQL Reference finden Sie weitere Informationen zu den Anweisungen CREATE SERVER und ALTER SERVER.
Anmerkung:Sie müssen die Installationsoption distributed join installieren und den Parameter FEDERATED des Datenbankmanagers auf den Wert YES setzen, bevor Server erstellt und Server-Optionen angegeben werden können.

Server-Optionen und ihre zugehörigen Werte erleichtern die Pushdown-Analyse von Abfragen, die globale Optimierung und andere Aspekte von Operationen mit zusammengeschlossenen Datenbanken. Beispiel: in der Anweisung CREATE SERVER können Sie bestimmte Leistungsstatistiken als Server-Optionswerte angeben. Das heißt, Sie können die Option cpu_ratio auf einen Wert setzen, der die relativen Geschwindigkeiten der CPUs der Datenquelle und des zusammengeschlossenen Servers angibt. Und Sie können die Option io_ratio auf einen Wert setzen, der die relativen Übertragungsgeschwindigkeiten der E/A-Einheiten der Datenquelle und des zusammengeschlossenen Servers angibt. Bei der Ausführung der Anweisung CREATE SERVER werden diese Daten der Katalogsicht SYSCAT.SERVEROPTIONS hinzugefügt, und das Optimierungsprogramm bezieht sie in die Entwicklung eines Zugriffsplans für die Datenquelle mit ein. Falls sich ein Statistikwert ändert (wie es beispielsweise bei einer Aufrüstung der CPU der Datenquelle möglich ist), können Sie die Katalogsicht SYSCAT.SERVEROPTIONS mit Hilfe der Anweisung ALTER SERVER mit dieser Änderung aktualisieren. Das Optimierungsprogramm verwendet dann diese aktualisierten Werte bei der Entwicklung des nächsten Zugriffsplans für die Datenquelle.

Tabelle 43. Server-Optionen und zugehörige Einstellungen
Option Gültige Einstellungen Standardeinstellung
collating_sequence Gibt auf der Basis des codierten Zeichensatzes und der länderspezifischen Informationen an, ob die Datenquelle die gleiche Standardsortierfolge wie die zusammengeschlossene Datenbank verwendet. Wenn eine Datenquelle eine Sortierfolge besitzt, die von der Sortierfolge von DB2 abweicht, können die meisten Operationen, die von der Sortierfolge von DB2 abhängig sind, nicht fern an einer Datenquelle ausgewertet werden. Ein Beispiel hierfür wäre die Ausführung von Spaltenfunktionen MAX an der Zeichenspalte für Kurznamen an einer Datenquelle mit einer anderen Sortierfolge. Da die Ergebnisse verschieden ausfallen könnten, wenn die Funktion MAX an der fernen Datenquelle ausgewertet würde, führt DB2 die Datenverbundoperation und die Funktion MAX lokal aus.

Wenn die Abfrage ein Gleichheitszeichen enthält, ist es möglich, diesen Teil der Abfrage zu verschieben (Pushdown), auch wenn die Sortierfolgen unterschiedlich (Wert 'N') sind. Zum Beispiel könnte das Vergleichselement C1 = 'A' an eine Datenquelle verschoben werden. Natürlich können Abfragen nicht verschoben werden, wenn die Sortierfolge an der Datenquelle die Groß-/Kleinschreibung nicht beachtet. Wenn eine Datenquelle die Groß-/Kleinschreibung nicht beachtet, sind die Ergebnisse der Vergleichselemente C1= 'A' und C1 = 'a' identisch, was in einer Umgebung mit Beachtung der Groß-/Kleinschreibung (DB2) nicht akzeptabel ist.

Administratoren können zusammengeschlossene Datenbanken mit einer bestimmten Sortierfolge erstellen, die der Sortierfolge der Datenquellen entspricht. Diese Lösung kann die Leistung erhöhen, wenn alle Datenquellen die gleiche Sortierfolge besitzen bzw. wenn die meisten oder alle Spaltenfunktionen auf Datenquellen gerichtet sind, die die gleiche Sortierfolge verwenden.

'Y'
Die Sortierfolge der Datenquelle stimmt mit der Sortierfolge der zusammengeschlossenen Datenbank überein.

'N'
Die Sortierfolge der Datenquelle stimmt nicht mit der Sortierfolge der zusammengeschlossenen Datenbank überein.

'I'
Die Sortierfolge der Datenquelle stimmt nicht mit der Sortierfolge der zusammengeschlossenen Datenbank überein und macht keinen Unterschied zwischen Groß- und Kleinschreibung (z. B. werden 'TOLLESON' und 'TolLESon' als gleichwertig angesehen).

'N'
comm_rate Gibt die Übertragungsgeschwindigkeit zwischen einem Server einer zusammengeschlossenen Datenbank und den zugeordneten Datenquellen an. Der Wert wird in MB pro Sekunde angegeben.

Gültige Werte sind größer als 0 und kleiner als 2147483648. Werte können nur in in ganzen Zahlen angegeben werden, z. B. 12.

2
connectstring Gibt die zum Herstellen einer Verbindung zu einem OLE-Datenbankbetreiber erforderlichen Initialisierungsmerkmale an. Die vollständige Syntax und Semantik der Verbindungszeichenfolge finden Sie im Abschnitt über die API für Kommunikationsverbindung der Kernkomponenten von OLE DB des Handbuchs Microsoft OLE DB 2.0 Programmer's Reference and Data Access SDK, Microsoft Press, 1998.
Keine
cpu_ratio Gibt den Geschwindigkeitsunterschied zwischen der CPU einer Datenquelle und der CPU des Servers für eine zusammengeschlossene Datenbank an.

Gültige Werte sind größer als 0 und kleiner als 1x1023 . Werte können in einer beliebigen kombinierten Schreibweise ausgedrückt werden, z. B. 123E10, 123 oder 1,21E4.

'1.0'
dbname Name der Datenbank einer Datenquelle, auf die der Server einer zusammengeschlossenen Datenbank zugreifen soll. Diese Angabe ist für Datenquellen der DB2-Familie erforderlich, gilt jedoch nicht für Datenquellen von Oracle, da bei Oracle-Exemplaren nur eine Datenbank enthalten ist. Bei DB2 entspricht dieser Wert einer spezifischen Datenbank in einem Exemplar bzw. bei DB2 für OS/390 dem Datenbankwert LOCATION.
Keine.
fold_id (Siehe Anmerkungen 1 und 4 im Anschluß an diese Tabelle.) Gilt für Benutzer-IDs, die der Server einer zusammengeschlossenen Datenbank an Datenquellen zur Identifikationsüberprüfung sendet. Gültige Werte:

'U'
Der Server einer zusammengeschlossenen Datenbank setzt die Benutzer-ID vor dem Senden an die Datenquelle in Großbuchstaben um. Dies ist eine logische Auswahl für Datenquellen der DB2-Familie und von Oracle (siehe Anmerkung 2 im Anschluß an diese Tabelle).

'N'
Der Server einer zusammengeschlossenen Datenbank sendet die Benutzer-ID unverändert an die Datenquelle. (Siehe Anmerkung 2 im Anschluß an diese Tabelle.)

'L'
Der Server einer zusammengeschlossenen Datenbank setzt die Benutzer-ID vor dem Senden an die Datenquelle in Kleinbuchstaben um.

Wenn keine dieser Einstellungen verwendet wird, versucht der Server einer zusammengeschlossenen Datenbank die Benutzer-ID in Großbuchstaben an die Datenquelle zu senden. Wird die Benutzer-ID nicht akzeptiert, versucht der Server, sie in Kleinbuchstaben zu senden.

Keine.
fold_pw (Siehe Anmerkungen 1, 3 und 4 im Anschluß an diese Tabelle.) Gilt für Kennwörter, die der Server einer zusammengeschlossenen Datenbank an Datenquellen zur Identifikationsüberprüfung sendet. Gültige Werte:

'U'
Der Server einer zusammengeschlossenen Datenbank setzt das Kennwort vor dem Senden an die Datenquelle in Großbuchstaben um. Dies ist eine logische Auswahl für Datenquellen der DB2-Familie und von Oracle.

'N'
Der Server einer zusammengeschlossenen Datenbank sendet das Kennwort unverändert an die Datenquelle.

'L'
Der Server einer zusammengeschlossenen Datenbank setzt das Kennwort vor dem Senden an die Datenquelle in Kleinbuchstaben um.

Wenn keine dieser Einstellungen verwendet wird, versucht der Server einer zusammengeschlossenen Datenbank das Kennwort in Großbuchstaben an die Datenquelle zu senden. Wird das Kennwort nicht akzeptiert, versucht der Server, es in Kleinbuchstaben zu senden.

Keine.
io_ratio Gibt den Geschwindigkeitsunterschied zwischen dem E/A-System einer Datenquelle und dem E/A-System des Servers einer zusammengeschlossenen Datenbank an.

Gültige Werte sind größer als 0 und kleiner als 1x1023 . Werte können in einer beliebigen kombinierten Schreibweise ausgedrückt werden, z. B. 123E10, 123 oder 1,21E4.

'1.0'
node Name, durch den eine Datenquelle als Exemplar des zugehörigen Verwaltungssystems für relationale Datenbanken definiert wird. Diese Angabe ist für alle Datenquellen erforderlich.

Für eine Datenquelle der DB2-Familie ist dies der im DB2-Knotenverzeichnis der zusammengeschlossenen Datenbank angegebene Knoten. Dieses Verzeichnis kann mit dem Befehl db2 list node directory angezeigt werden.

Für eine Datenquelle von Oracle ist dieser Name der Server-Name, der in der Datei tnsnames.ora von Oracle angegeben ist. Sie können auf der Windows NT-Plattform mit Hilfe der Option zum Anzeigen von Konfigurationsinformationen (View Configuration Information) des Oracle-Programms SQL Net Easy Configuration auf diesen Namen zugreifen.

Keine.
password Gibt an, ob Kennwörter an eine Datenquelle gesendet werden.

'Y'
Kennwörter werden immer an die Datenquelle gesendet und ausgewertet. Dies ist der Standardwert.

'N'
Kennwörter werden nicht an die Datenquelle gesendet (ohne Rücksicht auf mögliche Benutzerzuordnungen) und werden nicht ausgewertet.

'ENCRYPTION'
Kennwörter werden immer in verschlüsselter Form an die Datenquelle gesendet und ausgewertet. Dieser Wert ist nur für Datenquellen der DB2-Familie gültig, die verschlüsselte Kennwörter unterstützen.

'Y'
plan_hints Gibt an, ob Planhinweise (plan hints) aktiviert werden sollen. Planhinweise sind Anweisungsfragmente, die zusätzliche Informationen für Optimierungsprogramme von Datenquellen bereitstellen. Diese Informationen können bei einigen Abfragearten die Abfrageleistung verbessern. Die Planhinweise können das Optimierungsprogramm der Datenquelle bei der Entscheidung unterstützen, ob ein Index, und wenn ja, welcher, zu verwenden ist oder nach welcher Reihenfolge bei der Verknüpfung von Tabellen vorzugehen ist.

'Y'
Planhinweise sollen an der Datenquelle aktiviert werden, wenn die Datenquelle Planhinweise unterstützt.

'N'
Planhinweise sollen an der Datenquelle nicht aktiviert werden.

'N'
pushdown

'Y'
DB2 zieht in Betracht, die Datenquelle Operationen auswerten zu lassen.

'N'
DB2 ruft lediglich Spalten von der fernen Datenquelle ab und läßt die Datenquelle keine anderen Operationen, wie zum Beispiel Verknüpfungen, auswerten.

'Y'
varchar_no_trailing_blanks Gibt an, ob diese Datenquelle eine VARCHAR-Vergleichssemantik für nicht mit Leerzeichen aufgefüllte Zeichenfolgen verwendet. Für Zeichenfolgen variabler Länge, die keine folgenden Leerzeichen enthalten, liefert die Vergleichssemantik für nicht mit Leerzeichen aufgefüllte Zeichenfolgen einiger DBMSs die gleichen Ergebnisse wie die Vergleichssemantik von DB2. Wenn Sie sicher sind, daß alle VARCHAR-Spalten von Tabellen und Sichten an einer Datenquelle keine folgenden Leerzeichen enthalten, können Sie in Betracht ziehen, diese Server-Option auf den Wert 'Y' für eine Datenquelle zu setzen. Diese Option wird häufig für Datenquellen von Oracle verwendet. Stellen Sie sicher, daß Sie alle Objekte, die potentiell Kurznamen haben können (einschließlich Sichten), berücksichtigen.

'Y'
Diese Datenquelle verfügt über eine Vergleichssemantik für nicht mit Leerzeichen aufgefüllte Zeichenfolgen, die der Vergleichssemantik von DB2 ähnlich ist.

'N'
Diese Datenquelle verfügt über keine mit DB2 vergleichbare Vergleichssemantik für nicht mit Leerzeichen aufgefüllte Zeichenfolgen.

'N'

Anmerkungen zu Tabelle 43:

  1. Dieses Feld wird unabhängig von dem für die Identifikationsüberprüfung (Authentication) angegebenen Wert angewendet.
  2. Da DB2 die Benutzer-IDs in Großbuchstaben speichert, sind die Werte 'N' und 'U' logisch äquivalent zueinander.
  3. Die Einstellung für 'fold_pw' hat keine Bedeutung, wenn die Einstellung für 'password' den Wert 'N' hat. Da kein Kennwort gesendet wird, spielt die Groß-/Kleinschreibung keine Rolle.
  4. Vermeiden Sie Nullwerte für diese Optionen. Ein Nullwert könnte attraktiv erscheinen, weil DB2 mehrere Versuche unternimmt, Benutzer-IDs und Kennwörter aufzulösen. Aber die Leistung könnte dadurch beeinträchtigt werden (es ist möglich, daß DB2 bis zu viermal eine Benutzer-ID und ein Kennwort sendet, bevor die Identifikationsüberprüfung an der Datenquelle erfolgreich durchgeführt wird).


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