Oracle Datenbank-Tuning - Teil 4

Größe des Redo Log Buffers festlegen

Sie können die Größe des Redo Log Buffers festlegen und damit bestimmen, wann der Füllungsgrad von einem Drittel erreicht wird. Das Festlegen der Buffer-Größe ist u.a. Gegenstand dieses Abschnitts.

Ein Checkpoint ist ein konsistenter Zustand der Datenbank. Wenn ein Checkpoint auftritt, werden die folgenden Aktivitäten durchgeführt:

  • Alle Buffer des Buffer Cache, die zu abgeschlossenen Transaktionen gehören, werden auf die Festplatte geschrieben.

  • Der komplette Inhalt des Redo Log Buffers wird in die Online Redo Log-Dateien geschrieben.

  • Die Kontrolldateien und die Header der Tablespace-Dateien werden mit einer neuen System Change Number (SCN) aktualisiert.

Im Falle eines Instanz-Fehlers müssen also nur die Transaktionen wiederhergestellt werden, die nach dem letzten Checkpoint aufgetreten sind. Checkpoints werden angestoßen, wenn die folgenden Ereignisse auftreten:

  • bei einem shutdown mit Ausnahme der Option abort

  • wenn ein Log Switch von der aktuellen Online Redo Log-Datei auf die nächste erfolgt

  • Der DBA erzwingt einen Checkpoint mit der Anweisung ALTER SYSTEM CHECKPOINT.

  • Der Schwellenwert von Initialisierungsparametern wird erreicht.

Die Parameter log_checkpoint_interval und log_checkpoint_ timeout legen Schwellenwerte fest, bei deren Erreichen ein Checkpoint ausgeführt wird.

Der Parameter log_checkpoint_interval bestimmt die Menge von Daten, die in die Online Redo Log-Dateien geschrieben werden können, bevor ein Checkpoint ausgelöst wird. Die Angabe erfolgt in Anzahl von Betriebssystem-Blöcken. Die Blockgröße auf dem Betriebssystem (sie beträgt in der Regel 512 Byte) ist nicht identisch mit der Blockgröße der Datenbank.

Mit dem Parameter log_checkpoint_timeout wird festgelegt, wie viele Sekunden verstreichen können, bevor ein Checkpoint ausgelöst wird.

In Oracle9i wurde der Initialisierungsparameter fast_start_mttr_target zur Vorgabe der Recovery-Zeit eingeführt. Die Zeitangabe erfolgt in Sekunden und legt fest, wie viel Zeit für ein Crash Recovery zur Verfügung steht. Dieser Parameter beeinflusst die Häufigkeit des Auftretens von Checkpoints. Beachten Sie, dass log_checkpoint_interval und log_checkpoint_timeout den Parameter fast_start_mttr_target überschreiben.