DB2 - Pufferpools

Dieses Kapitel führt Sie in die Pufferpools in der Datenbank ein.

Einführung

Der Pufferpool ist Teil eines Hauptspeicherplatzes, der vom Datenbankmanager zugewiesen wird. Der Zweck von Pufferpools besteht darin, Tabellen- und Indexdaten von der Festplatte zwischenzuspeichern. Alle Datenbanken haben ihre eigenen Pufferpools. Zum Zeitpunkt der Erstellung einer neuen Datenbank wird ein Standardpufferpool erstellt. Es wurde als "IBMDEFAULTBP" bezeichnet. Abhängig von den Benutzeranforderungen können mehrere Pufferpools erstellt werden. Im Pufferpool platziert der Datenbankmanager die Tabellenzeilendaten als Seite. Diese Seite bleibt im Pufferpool, bis die Datenbank heruntergefahren wird oder bis der Speicherplatz mit neuen Daten geschrieben wird. Die Seiten im Pufferpool, die mit Daten aktualisiert, aber nicht auf die Festplatte geschrieben werden, werden als "Dirty" -Seiten bezeichnet. Nachdem die aktualisierten Datenseiten im Pufferpool auf die Festplatte geschrieben wurden, kann der Pufferpool weitere Daten aufnehmen.

Beziehung zwischen Tablespaces und Bufferpools

Jeder Tabellenbereich ist einem bestimmten Pufferpool in einer Datenbank zugeordnet. Ein Tablespace ist einem Bufferpool zugeordnet. Die Größe von Bufferpool und Tablespace muss gleich sein. Mit mehreren Pufferpools können Sie den von der Datenbank verwendeten Speicher konfigurieren, um die Gesamtleistung zu steigern.

Pufferpoolgrößen

Die Größe der Bufferpool-Seite wird festgelegt, wenn Sie den Befehl "CREATE DATABASE" verwenden. Wenn Sie die Seitengröße nicht angeben, wird die Standardseitengröße von 4 KB verwendet. Sobald der Pufferpool erstellt wurde, kann die Seitengröße später nicht mehr geändert werden

Auflisten der verfügbaren Pufferpools im aktuellen Datenbankverzeichnis

Syntax: [Die folgende Syntax zeigt alle verfügbaren Pufferpools in der Datenbank]

db2 select * from syscat.bufferpools

Example: [Um verfügbare Pufferpools in der aktuellen Datenbank anzuzeigen]

db2 select * from syscat.bufferpools

Output:

BPNAME      BUFFERPOOLID DBPGNAME   NPAGES      PAGESIZE    ESTORE 
NUMBLOCKPAGES BLOCKSIZE   NGNAME
------------------------------------------------------------ 
IBMDEFAULTBP                                                                                                                
 1 -                                                                                                  
 -2        4096 N                  0           0 -     
 
 1 record(s) selected.

Pufferpool erstellen

Um einen neuen Pufferpool für den Datenbankserver zu erstellen, benötigen Sie zwei Parameter, nämlich "Pufferpoolname" und "Seitengröße". Die folgende Abfrage wird ausgeführt, um einen neuen Pufferpool zu erstellen.

Syntax: [In der folgenden Syntax gibt 'bp_name' den Namen des Pufferpools und 'size' die Größe der Seite an, die Sie für Pufferpools deklarieren müssen (4K, 8K, 16K, 32K)]

db2 create bufferpool <bp_name> pagesize <size>

Example: [So erstellen Sie einen neuen Pufferpool mit dem Namen "bpnew" und der Größe "8192" (8 KB).]

db2 create bufferpool bpnew pagesize 8192

Output

DB20000I The SQL command completed successfully.

Löschen des Pufferpools

Vor dem Löschen des Pufferpools muss überprüft werden, ob ihm ein Tabellenbereich zugewiesen ist.

Syntax: [So löschen Sie den Pufferpool]

drop bufferpool <bp_name>

Example: [Um 'bpnew' namens bufferpool zu löschen]

db2 drop bufferpool bpnew

Output

DB20000I The SQL command completed successfully.