Oracle Datenbank-Tuning - Der Buffer Cache

Tablespaces mit unterschiedlichen Blockgrößen

Seit Oracle9i ist es möglich, Tablespaces mit unterschiedlichen Blockgrößen in einer Datenbank zu verwenden. Vom Datenbankstandard abweichende Blockgrößen benötigen einen separaten Buffer Pool. In folgender Tabelle finden Sie eine Übersicht der Initialisierungsparameter zum Einstellen der Größen der Buffer Pools.

Initialisierungsparameter für Buffer Pools

Parameter

Bedeutung

DB_CACHE_SIZE

Größe des Default Buffer Pools in Byte. »K«, »M«, »G« kann verwendet werden für Kilo-, Mega- und Gigabyte.

DB_CACHE_nK_SIZE

Größe der Subcaches für andere Blockgrößen. »n« ist die Blockgröße und kann die Werte 2, 4, 8, 16, 32 annehmen. Für die Standard-Blockgröße der Datenbank kann kein Subcache eingerichtet werden, hierfür ist DB_CACHE_SIZE zu verwenden.

DB_KEEP_CACHE_SIZE

Größe des Keep Pools in Byte, Kilo-, Mega- oder Gigabyte. Der Keep Pool kann nur für die Standard-Blockgröße verwendet werden.

DB_RECYCLE_CACHE _SIZE

Größe des Recycle Pools in Byte, Kilo-, Mega- oder Gigabyte. Der Recycle Pool kann nur für die Standard-Blockgröße verwendet werden.

Die Parameter aus vorhergehender Tabelle können dynamisch geändert werden, das heißt, ein Neustart der Instanz ist nicht erforderlich. Folgendes Listing zeigt ein Beispiel.

SQL> SHOW PARAMETER CACHE;
NAME TYPE VALUE
------------------- ----------- -----
db_cache_size big integer 33554432
db_keep_cache_size big integer 16777216
db_recycle_cache_size big integer 0
db_16k_cache_size big integer 16777216
db_2k_cache_size big integer 0
db_32k_cache_size big integer 0
db_4k_cache_size big integer 0
...
SQL> ALTER SYSTEM SET db_keep_cache_size=10M;
System wurde geändert.
SQL> ALTER SYSTEM SET db_recycle_cache_size=20M;
System wurde geändert.