Anfang des Inhaltsbereichs

 Vorgehensweisen Data Buffer überwachen (Oracle)  Dokument im Navigationsbaum lokalisieren

Verwendung

Der Datenbank-Puffer-Cache (auch Datenpuffer oder Oracle Data Buffer) ist der Bereich der System Global Area (SGA), der zur Zwischenspeicherung von Kopien der von der Festplatte gelesenen Datenblöcke verwendet wird. Oracle-Benutzerprozesse können Daten nicht direkt aus Datendateien lesen, weshalb sämtliche Daten zuerst in diesen Puffer-Cache eingelesen werden müssen.

Wenn ein Benutzerprozeß einen Datenblock anfordert, der sich bereits im Datenpuffer befindet, kann er gelesen werden, ohne daß ein erneuter Plattenzugriff erforderlich ist (sofern der Block seit dem letzten Einlesen in den Puffer nicht geändert wurde). Dies spart natürlich beträchtliche Verarbeitungszeit. In einem solchen Fall gelang dem Benutzerprozeß ein “hit” (“Treffer“) für den Datenblock. Wird ein Datenblock angefordert, der sich nicht im Datenpuffer befindet, spricht man von einem “miss”. Das Verhältnis zwischen Hits und Misses nennt man “hit ratio” (“Trefferrate“). Man kann dies auch als die “Qualität” des Datenbank-Puffer-Cache ansehen.

Vorgehensweise

Wählen Sie Werkzeuge Administration Computing Center Management System Control Performance Menu Database Activity.

Verwenden Sie alternativ den Transaktionscode ST04.

Es werden die folgenden Daten angezeigt:

Diese Grafik wird im zugehörigen Text erklärt

Folgende Datenpuffer Informationen erscheinen unter Data buffer:

·        Die Größe dieses Datenpuffers beträgt 160 MB

·        Die Qualität des Datenpuffers beträgt 99 %

·        Seit dem Starten der Datenbankinstanz wurden insgesamt 1.090.831.434 Oracle-Blöcke aus dem Datenpuffer gelesen

·        In 9.247.979 Fällen wurden Blöcke physisch von der Festplatte gelesen

·        1.269.110 Oracle-Blöcke wurden vom Database-Writer-Prozeß auf die Festplatte geschrieben

·        In 34.150 Fällen entstanden Wartesituationen beim Zugriff auf Blöcke der verschiedenen Klassen im Datenpuffer

·        Die Wartezeit betrug insgesamt 720.880 Millisekunden

Datenpuffergröße (Size)

Die Datenpuffergröße ergibt sich aus dem Produkt der Blockgröße (DB_BLOCK_SIZE (Oracle)) und der Anzahl der in der Parameterdatei init<SID>.ora angegebenen Datenbank-Blockpuffer (DB_BLOCK_BUFFERS (Oracle)). SAP verwendet für die meisten Oracle-Datenbanken eine Standardgröße db_block_size von 8192 Bytes. Nach der Erstellung der Datenbank kann dieser Wert nicht mehr geändert werden. der Wert für db_block_buffers kann dagegen den Anforderungen entsprechend geändert werden.

Datenpufferqualität (Quality)

Wir empfehlen, in einem produktiven SAP-System eine Datenpufferqualität von mindestens 97 % zu halten.

Hinweis

Wenn die Datenbankinstanz gerade erst gestartet wurde, kann die Angabe zur Trefferrate etwas irreführend sein. Eine Datenbank sollte “aufgewärmt“ sein, bevor man sich die Trefferrate ansieht.

Lese- und Schreiboperationen (Reads, Physical reads/writes)

Anhand der statistischen Angaben zu den Lese- und Schreiboperationen kann man schnell den Aktivitätsgrad einer Datenbank seit dem letzten Start der Instanz bestimmen. Wenn die Anzahl physischer Schreiboperationen in der gleichen Größenordnung ist wie die Anzahl der physischen Leseoperationen ist, sollten Sie zusätzlich die Aktivitäten des Datenbank-Writers, die Rollback-Aktivitäten und die Redo-Log-Aktivität überwachen. Gerade in Online-Transaktionsumgebungen mit vielen Aktualisierungen einzelner Tabellen-Zeilen kann es zu dieser Situation kommen.

Wartesituationen (Busy waits, Busy wait time)

Eine Wartesituation in einem Puffer tritt ein, wenn ein Oracle-Prozeß versucht, auf einen Block zuzugreifen, der noch in einem inkonsistenten Zustand ist. Die auf dem Hauptbildschirm angezeigte Anzahl der Wartesituationen ist der Durchschnitt für alle Oracle-Blockklassen. Es gibt eine Reihe von Oracle-Blockklassen, die beim Auftreten von Wartesituationen eine Rolle spielen können. Beim Überwachen des SAP-Systems trifft man jedoch gewöhnlich nur auf die folgenden vier: Datenblock, Segmentkopf, Undo-Kopf und Undo-Block.

Wenn die Gesamtanzahl der Wartesituationen einen Wert  5 % der Gesamtanzahl der Leseoperationen überschreitet, sollten Sie die Situation näher analysieren. Wählen Sie dazu im Detail Analysis Menu (Oracle) die Drucktaste Buffer Busy Waits (Oracle). Sie erhalten eine Aufschlüsselung der Wartesituationen. 

Diese Grafik wird im zugehörigen Text erklärt

Wenn die Anzahl der Wartesituationen bei irgendeiner der angegebenen Blockklassen höher als 1 % der Leseoperationen ist, könnte dies auf übermäßigen Konkurrenzbetrieb bei der entsprechenden Klasse hinweisen.

Wartesituationen bei den Klassen Undo-Kopf und Undo-Block können durch das Hinzufügen von Rollback-Segmenten in die Datenbank verringert werden. Bei Wartesituationen bei Datenblocks ist die Datenpuffergröße u.U. nicht ausreichend (Qualitätsverhältnis überprüfen). Wartesituationen bei Segmentköpfen weisen oft auf Konkurrenz hinsichtlich der Freilisten hin. Weiterführende Informationen finden Sie in der entsprechenden Oracle-Dokumentation.

 

 

Ende des Inhaltsbereichs