Oracle Datenbank-Tuning - Teil 4

Wartezustände durch Log Switch

Während eines Log Switch kann der LGWR-Prozess keine Daten aus dem Redo Log Buffer wegschreiben. Das kann zu Wartezuständen für den Server-Prozess führen. Damit wird ein Wiederholungsversuch ausgelöst, der sich in der Statistik niederschlägt. Eine starke Erhöhung der Statistik redo log space requests ist ein sicheres Zeichen dafür, dass die Online Redo Log-Dateien zu klein sind.

Das View V$SESSION_WAIT liefert mehr Informationen zu den Warte-Ereignissen. Die Statistik log buffer space zeigt, wie lange eine Sitzung warten musste, um einen Eintrag im Redo Log Buffer zu platzieren.

SQL> SELECT b.username, a.seconds_in_wait, a.state
2 FROM v$session_wait a, v$session b
3 WHERE a.sid = b.sid
4 AND event = 'log buffer space';
USERNAME SECONDS_IN_WAIT STATE
-------- --------------- ----------
SYSTEM 45 WAITING

Manchmal werden Checkpoints gestartet, jedoch nicht erfolgreich beendet, weil der vorher gestartete Checkpoint noch nicht abgeschlossen war. Solche Ereignisse teilt Ihnen die Statistik log file switch (checkpoint incomplete)mit.

SQL> SELECT event, total_waits, average_wait
2 FROM v$system_event
3 WHERE event LIKE 'log file switch%';
EVENT TOTAL_WAITS AVERAGE_WAIT
----------------------------- ----------- ------------
log file switch (checkpoint i 6 32
ncomplete)

Jetzt wissen Sie, wie der Redo Log Buffer funktioniert und wie er überwacht werden kann. Zur Verbesserung der Performance gibt es die folgenden Methoden:

  • den Redo Log Buffer vergrößern

  • die Effizienz der Checkpoints verbessern

  • die Archivierung beschleunigen

  • weniger Redo-Daten erzeugen