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.