Oracle Datenbank-Tuning - Der Buffer Cache

Die Performance des Buffer Cache messen

Der wichtigste Indikator für die Performance des Buffer Cache ist die Hit Ratio. Eine große Hit Ratio bedeutet, dass die Benutzerprozesse Daten überwiegend im Buffer Cache finden und nur selten auf die Festplatte zugreifen.

Ein Cache Miss tritt dann auf, wenn der Server-Prozess eines Benutzers die benötigten Buffer nicht im Buffer Cache findet und diese von der Festplatte lesen muss. Das View V$SYSSTAT speichert drei Statistiken, die zur Bestimmung der Hit Ratio herangezogen werden können:

  • Physical Reads ist die Anzahl von Datenblöcken, die seit dem letzten Start der Instanz von der Festplatte in den Buffer Cache gelesen wurden.

  • DB Block Gets ist die Anzahl aller Anforderungen für Daten, die direkt aus den Segmenten mit Ausnahme von Rollback- und Undo-Segmenten gelesen wurden.

  • Consistent Gets ist die Anzahl aller Anforderungen für Daten, die aus Gründen der Lesekonsistenz aus Rollback- und Undo-Segmenten bedient wurden.

Aus diesen Werten kann die Hit Ratio bestimmt werden. Die Abfrage in folgender Tabelle ermittelt das Verhältnis zwischen Zugriffen auf den Buffer Cache und Zugriffen auf die Festplatte.

SQL> SELECT 1-(a.value / (b.value + c.value))
2 "Hit Ratio"
3 FROM v$sysstat a, v$sysstat b, v$sysstat c
4 WHERE a.name = 'physical reads'
5 AND b.name = 'db block gets'
6 AND c.name = 'consistent gets';
Hit Ratio
----------
,990704986

Eine gut optimierte OTLP-Datenbank sollte eine Buffer Cache Hit Ratio von mehr als 90 % aufweisen.