Fehlererholung

Unterseite von Transaktion

Uner Fehlererholung (recovery) versteht man das Wiederherstellen eines konsistenten Datenbankzustandes nach einem Systemabsturz oder dem Fehlschlagen einer Transaktion. Die Daten sollen auch gegen physikalische oder programmtechnische Ausfälle einen möglichst hohen Schutz aufweisen.

Gründe einen solchen Absturz sind vielfältig:

  • Systemabsturz durch : Hardware-, Software-, Netzwerkfehler, ...
  • Programmfehler durch Division durch 0, Endlosschleife,...
  • Fehler durch ein Nebenläufigkeitsprotokoll mit DEADLOCK, Starviation, verletzte Serialisierbarkeit oder
  • Hardwarefehler durch defekte Platte, defekte Schreib-/Leseeinheit,...
  • physikalische Probleme/Katastrophen wie Brand, Diebstahl, Erdbeben, ...

Mittel der Fehlererholung sind:

  • Backup und Recovery-Strategien
    • Backup: Datensicherungen (i.d.R. auf externe Datenträger)
    • Recovery: Wiederherstellen eines DB-Zustands möglichst aktuell (unmittelbar vor dem Abbruch) auf Basis eines extern gesicherter DB-Zustandes.

In der Regel werden System-Log-Dateien benutzt. Das sind Protokolle über alle durchgeführten Transaktionen, die ohne Pufferung auf Platte geschrieben werden.

Gespeicherte Infos in den System-Log-Dateien:

  • Transaktions-ID,
  • Benutzerkennung bzw. verwendetes Programm
  • alter und/oder neuer Wert (physikalische Adressen),
  • Art der Änderung,
  • Startzeitpunkt der Transaktion (Zeitpunkt der Änderung) und
  • Art der Beendigung

siehe auch: LOGGING

Kategorie: Transaktionen, SQL, F