(C) IBM Corp. 2003
DB2 Net Search Extender Verwaltung und Programmierung
In Net Search Extender werden verschiedene Sperrentypen verwendet, die den
gleichzeitigen Zugriff auf einen Index steuern. Die Verwendung der
verschiedenen Sperren hängt davon ab, ob der Textindex nur gelesen wird, wie
dies z. B. bei einer Suchanforderung der Fall ist, oder ob
Änderungen am Textindex berechnet und anschließend auch in den zugehörigen
Dateien nachvollzogen werden müssen.
Während der Ausführung des Befehls db2text start werden die
Sperrenservices automatisch gestartet. Es gibt folgende Typen von
Sperren für einen Textindex:
- S-Sperre
- Für den gemeinsamen Lesezugriff, z. B. bei
Suchanforderungen.
- U-Sperre
- Für den Schreib-/Lesezugriff während der Berechnung von Indexänderungen
(Aktualisierungen) bei gleichzeitigem Lesezugriff, z. B. bei
Suchanforderungen.
- X-Sperre
- Für den exklusiven Schreib-/Lesezugriff für einen kurzen Zeitraum, während
dem Änderungen tatsächlich in den Index geschrieben werden.
- IX-Sperre
- Für den beabsichtigten Schreib-/Lesezugriff, um neue S-Sperren zu
verhindern, während der Aktualisierungsprozess auf eine X-Sperre
wartet.
Pro DB2-Exemplar ist ein Net Search Extender-Sperrenservice
vorhanden. Der Sperrenservice verwaltet die Sperren für mehrere
Datenbanken.
Die Konfigurationsdatei für die Sperrenservices hat den Namen
db2extlm.cfg. Sie ist auf UNIX-Systemen unter
<instance_owner_home>/sqllib/db2ext und auf Windows-Systemen
unter <sqllib>\<DB2INSTANCE>\db2ext gespeichert.
Änderungen der Konfigurationsdatei werden erst dann wirksam, wenn die Net
Search Extender-Exemplarservices mit db2text start gestartet
werden. Weitere Informationen finden Sie unter CONTROL. Der Benutzer kann die folgenden Werte
definieren:
- Die maximale Anzahl von Datenbanken
- Die maximale Anzahl von Indizes pro Datenbank
- Die maximale Anzahl zulässiger Sperren (gleichzeitige Benutzer) pro Index
- Wartezeiten und die Anzahl von Versuchen, eine Sperre zu aktivieren
Die Standardwerte für die Konfigurationsdatei lauten wie folgt:
<default
maxDbs = " 8"
maxIdxPerDb = " 50"
maxLocksPerIdx = "100"
sWait = " 50"
uWait = " 500"
xWait = " 500"
sAttempt = "50"
uAttempt = "10"
xAttempt = "60"
latchTimeout = "80"
/>
Die Syntax lautet
<standardattribut=wert.../>, wobei die
Attribute folgende Bedeutungen haben:
- maxDbs
- Die Anzahl der Datenbanken, die von den Sperrenservices verwaltet werden
können (integer >1).
- maxIdxPerDb
- Die Anzahl der Indizes pro Datenbank, die gesperrt werden können (integer
>1). Dieser Wert ist für alle Datenbanken gleich.
- maxLocksPerIdx
- Die Anzahl der Sperren, die gleichzeitig für einen Index vorhanden sein
können (integer>1). Dieser Wert ist für alle Indizes gleich.
- sWait/sAttempt
- Bei der Anforderung einer S-Sperre ist 'sAttempt' die Anzahl der
unternommenen Versuche, falls die Sperre nicht sofort erteilt wird.
'sWait' ist die Wartezeit zwischen diesen Versuchen (integer
>1). Diese Parameter gelten auch für IX-Sperren.
- uWait/uAttempt
- Bei der Anforderung einer U-Sperre ist 'uAttempt' die Anzahl der
unternommenen Versuche, falls die Sperre nicht sofort erteilt wird.
'uWait' ist die Wartezeit zwischen diesen Versuchen (integer
>1).
- xWait/xAttempt
- Bei der Anforderung einer X-Sperre ist 'xAttempt' die Anzahl der
unternommenen Versuche, falls die Sperre nicht sofort erteilt wird.
'xWait' ist die Wartezeit zwischen diesen Versuchen (integer
>1).
- latchTimeout
- Dies ist die zusätzliche Wartezeit für die
Intervallsperrenservices. Ermitteln Sie die Gesamtwartezeit für eine
Sperre unter Verwendung folgender Berechnung:
Wartezeit = # Versuche * (# Wartezeiten + (2 * # latchTimeout))
Die Wartezeit wird in Millisekunden berechnet. Beachten Sie, dass
mit jedem Versuch der Wert für latchTimeout verdoppelt wird, wenn er zur
Gesamtwartezeit hinzuaddiert wird.
[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]