Oracle Datenbank-Tuning - Der Buffer Cache

Den Buffer Cache vergrößern

Der einfachste Weg zur Verbesserung der Performance ist, den Buffer Cache zu vergrößern. Je größer der Buffer Cache ist, desto geringer ist die Wahrscheinlichkeit, dass Buffer durch den LRU-Mechanismus aus dem Buffer Cache entfernt werden.

Eine Vergrößerung des Buffer Cache erhöht nicht nur die Hit Ratio, auch die Anzahl von Warte-Ereignissen wie buffer busy waits oder free buffer waits geht zurück.

Die Hit Ratio verändert sich nicht linear zur Erhöhung der Buffer-Cache-Größe. Eine Verdoppelung des Buffer Cache führt nicht zu einer Verdoppelung der Hit Ratio.

Verschiedene Buffer Pools verwenden

Von vornherein benutzen alle Segmente denselben Buffer Pool, den so genannten Default Pool. Der Default Pool besitzt die Standard-Blockgröße der Datenbank. Ein Pool mit abweichender Blockgröße wird als Subcache bezeichnet.

Ein Subcache wird nach den Mechanismen des Default Pools verwaltet. Oracle unterscheidet die folgenden drei Pool-Typen, die unterschiedlich verwaltet werden:

  • Keep Pool – Für Segmente, die permanent im Buffer Cache bleiben sollen

  • Recycle Pool – Für Segmente, die nur kurzfristig im Cache behalten werden sollen

  • Default Pool – Standard-Pool für alle Objekte mit Standard-Blockgröße, für die weder KEEP noch RECYCLE spezifiziert wurde

Als Administrator müssen Sie festlegen, welcher Pool für welche Segmente geeignet ist. Dazu sollten Sie die Anwendung und das Datenmodell kennen.