Für jede Datenbank ist mindestens ein Pufferpool erforderlich. Jedoch können je nach individuellen Anforderungen auch mehrere Pufferpools unterschiedlicher Größen für eine einzelne Datenbank erstellt werden. Mit den Anweisungen CREATE, ALTER und DROP BUFFERPOOL können Sie einen Pufferpool erstellen, ändern bzw. löschen. Mit den Anweisungen CREATE TABLESPACE und ALTER TABLESPACE können Sie angeben, welche Daten in einem Pufferpool zwischengespeichert werden.
Der Konfigurationsparameter buffpage definiert die Größe jedes Pufferpools, dessen Größe in der Katalogtabelle SYSCAT.BUFFERPOOLS mit dem Wert -1 angegeben ist. (Ansonsten wird dieser Parameter ignoriert.) Eine Pufferpoolgröße kann mit den DDL-Anweisungen ALTER BUFFERPOOL oder CREATE BUFFERPOOL definiert werden.
Eine neue Datenbank besitzt einen Standardpufferpool namens IBMDEFAULTBP mit einer Größe, die von der Plattform festgelegt wird. Wenn eine Datenbank einmal erstellt oder umgestellt ist, können andere Pufferpools für sie erstellt werden.
Bei der Arbeit an Ihrem Datenbankentwurf haben Sie möglicherweise festgestellt, daß Tabellen mit 8-KB-Seiten am besten geeignet waren. Darum sollten Sie einen Pufferpool mit 8-KB-Seiten (sowie einen oder mehrere Tabellenbereiche mit derselben Seitengröße) erstellen.
In einer partitionierten Datenbankumgebung hat jeder Pufferpool für eine Datenbank in allen Datenbankpartitionen dieselbe Standarddefinition (sofern dies nicht in der Anweisung CREATE BUFFERPOOL anders angegeben oder die Größe des Pufferpools für eine bestimmte Datenbankpartition mit der Anweisung ALTER BUFFERPOOL geändert wurde).
Wenn Sie einen Tabellenbereich mit 4-KB-Seiten erstellen und keinem bestimmten Pufferpool zuordnen, wird der Tabellenbereich dem Standardpufferpool zugeordnet. Wenn Sie einen Tabellenbereich mit einer Seitengröße über 4 KB (d. h. 8 KB, 16 KB oder 32 KB) erstellen, sollten Sie diesen Tabellenbereich einem Pufferpool mit derselben Seitengröße zuordnen. Wenn dieser Pufferpool momentan nicht aktiv ist, versucht DB2, den Tabellenbereich einem aktiven Pufferpool zuzuordnen, der eine identische Seitengröße besitzt (falls ein solcher Tabellenbereich verfügbar ist). Die Zuordnung (falls sie vorgenommen wird) ist temporär. Ist der ursprünglich angegebene Pufferpool beim nächsten Aktivieren der Datenbank aktiv, ordnet DB2 den Tabellenbereich diesem Pufferpool zu.
Mit der Anweisung ALTER TABLESPACE können Sie den Tabellenbereich keinem Pufferpool zuordnen, der eine andere Seitengröße verwendet.
Bei der Erstellung oder Änderung von Pufferpools muß der gesamte Speicherbereich, der von allen Pufferpools benötigt wird, dem Datenbankmanager zur Verfügung stehen, damit alle Pufferpools beim Starten der Datenbank zugeordnet werden können. Wenn dieser Speicherbereich beim Starten der Datenbank nicht verfügbar ist, versucht der Datenbankmanager, den Standardpufferpool (IBMDEFAULTBP) und jeweils einen von den mit einer anderen Seitengröße definierten Pufferpools, jedoch jeweils nur mit einer minimalen Größe von 16 Seiten zu starten. Die Größe dieses minimalen Pufferpools kann mit Hilfe der Registrierungsvariablen DB2_OVERRIDE_BPF überschrieben werden. Weitere Informationen zu dieser und anderen Registrierungs- und Umgebungsvariablen finden Sie in Anhang D, DB2-Registrierungsvariablen und DB2-Umgebungsvariablen. Eine Warnung wird für jeden fehlgeschlagenen Versuch zurückgegeben, einen Pufferpool zu starten. Die Datenbank verbleibt in diesem Betriebszustand, bis ihre Konfiguration geändert wird und die Datenbank in vollem Umfang erneut gestartet werden kann.
Der Grund dafür, daß der Datenbankmanager mit Minimalwerten gestartet werden kann, ist, daß es ermöglicht werden soll, die Verbindung zur Datenbank herzustellen. Sie können die Pufferpoolgrößen unverzüglich neu konfigurieren oder andere wichtige Aufgaben durchführen. Es ist jedoch nicht empfehlenswert, die Datenbank über eine längere Zeit in diesem Status zu betreiben.
Anmerkung: | Obwohl die Größe und die Attribute, die dem Standardpufferpool zugeordnet sind, geändert werden können, kann er nicht gelöscht werden. Außerdem gibt es eine Minimalgröße für jeden Pufferpool, der sich nach der verwendeten Plattform richtet. |
Die Zuordnung großer Speichermengen für Pufferpools hat bestimmte Vorteile. Zum Beispiel dienen große Pufferpoolgrößen folgenden Zwecken:
Wenn eine der folgenden Bedingungen auf Ihr System zutrifft, sollten Sie nur einen einzigen Pufferpool verwenden:
Wenn auf Ihr System keine dieser Einschränkungen zutrifft, können Sie den Einsatz mehrerer Pufferpools zum Zweck der folgenden potentiellen Leistungsverbesserungen in Erwägung ziehen: