Abort (Informatik)

Als Rollback bezeichnet man in EDV-Systemen das „Zurücksetzen“ der einzelnen Verarbeitungsschritte einer Transaktion. Das System wird dadurch vollständig auf den Zustand vor Aufruf der Transaktion zurückgeführt.

Ein Rollback wird typischerweise im Fehlerfall angestoßen, falls beispielsweise ein Verarbeitungsschritt in der betreffenden Transaktion nicht korrekt durchgeführt werden kann.

Rollbacks spielen vor allem im Zusammenhang mit Datenbanksystemen und anderen transaktionalen Systemen eine wichtige Rolle. Eine Transaktion ist hierbei eine Folge zusammengehöriger Operationen auf einer Datenbank. Dabei kann eine Transaktion die Datenbank von einem konsistenten Zustand in einen anderen konsistenten Zustand überführen. Während der Transaktion können die Konsistenzregeln einer Datenbank abgeschaltet sein. Um die Konsistenz des Datenbestands zu gewährleisten, müssen Transaktionen immer vollständig oder gar nicht ausgeführt werden (vgl. ACID-Prinzip). Die unvollständige Ausführung einer Transaktion, z. B. aufgrund eines Systemfehlers, führt zum Rollback der Transaktion.

Das Rollback ist neben dem Redo eine Maßnahme zur Datensicherung (Recovery-Maßnahme). Sie zielt auf die Vermeidung von Inkonsistenzen.

Eine umfassende Datensicherung ist nur möglich, wenn für jede Transaktion ein Protokoll geführt wird. Dieses Protokoll nennt man auch Journal, logfile oder audit trail. Wegen der sequentiellen (chronologischen) Aufzeichnung der Änderungen bietet sich hier eine sequentielle Datei an.

Inhaltsverzeichnis

Inhalt der Protokoll-Datei (logfile)

before-image-journal
Protokollierung des Zustands vor der Änderung für alle in einer Transaktion erfolgten Änderung von Objekten
after-image-journal
Protokollierung des Zustands nach der Änderung für alle in einer Transaktion erfolgten Änderung von Objekten
evtl. Checkpoints

Struktur des before-image-journal in der Protokoll-Datei

  • Marke für Beginn einer Transaktion, enthält zugleich Identifikation der Transaktion
  • für jedes veränderte/ gelöschte Objekt (meist: jeden Satz, Zeile, Tupel) eine Kopie des Zustands vor der Änderung, bestehend aus Identifikation und Inhalt; dazu die T-ID
  • Marke für das Ende einer Transaktion (mit T-ID)
Das Anlegen des before-images im Logfile muss zwingend zeitlich vor der Änderung in der Datenbasis erfolgen.
Nach erfolgreichem Abschluss einer Transaktion wird die zugehörige Information im before-image-journal nicht mehr benötigt, sie kann gelöscht bzw. überschrieben werden.
Das before-image wird nur für einen Rollback benötigt.

Struktur des after-image-journal in der Protokoll-Datei

  • Marke für Beginn einer Transaktion, enthält zugleich Identifikation der Transaktion
  • für jedes veränderte/ neu eingefügte Objekt eine Kopie des Zustands nach der Änderung, bestehend aus Identifikation und Inhalt; dazu die T-ID
  • Marke für das Ende einer Transaktion (mit T-ID)
Nach erfolgreichem Abschluss einer Transaktion muss die zugehörige Information im after-image-journal aufbewahrt werden.
Das after-image dient der Wiederherstellung vollendeter Transaktionen nach einem Datenverlust durch Hard- oder Softwarefehlern.

Struktur der Checkpoints in der Protokoll-Datei

  • Checkpointmarker
  • Eintrag für jede offene, noch nicht geschriebene Datei
  • Marke für jede nicht abgeschlossene Transaktion (mit T-ID)
Checkpoints werden nur für eine Systemwiederherstellung nach einem Hard- oder Softwarefehler benötigt (Desaster-Recovery)

Wiederherstellung

Bei Verlust der aktuellen Datenbasis ist eine Wiederherstellung wie folgt möglich:

  • Das before-image-journal in der Protokoll-Datei wird rückwärts gelesen
  • Für jedes veränderte Objekt, d. h. jeden Eintrag mit entsprechender Transaktions-Identifikation, wird der alte Inhalt vom Logfile in die Datenbank zurückgeschrieben.

Das Verfahren beendet sich durch das Lesen der Marke für den Beginn der entsprechenden Transaktion.

Bei einer Desaster-Recovery muss das System die Checkpoints ermitteln:

  • Suche nach dem jüngsten Checkpoint, der nur offene Transaktionen enthält, die in einem späteren Checkpoint beendet sind
  • Ermitteln aller offenen, nicht geschriebenen Dateien
  • Einarbeiten aller after-images von beendeten Transaktionen, die nicht physisch geschrieben wurden

Zusammen mit Sicherungskopien können Daten auch nach einem Totalverlust wieder hergestellt werden.

Ursachen für den Verlust von Daten

  • Systemzusammenbrüche infolge von Hardware-Defekten
  • Systemzusammenbrüche infolge von Software-Fehlern
  • unerwartete Betriebsstörungen, z. B. Netzausfall
  • mechanische Fehler, z. B. Kopfaufsetzer bei Magnetplattenlaufwerken
  • äußere Gewalteinwirkung, z. B. Brand, Explosion, Überschwemmung
  • Sabotageaktionen

Siehe auch


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Abort — [a bɔʁt] (von lateinisch aboriri, abortus = entschwinden, entschwunden) steht für: Fehlgeburt Schwangerschaftsabbruch Toilette Abort (Informatik), Abbruch einer Transaktion Abort [ˈapˌʔɔʁt] (vermutlich aus dem Niederdeutschen af ort = abgelegener …   Deutsch Wikipedia

  • Faden (Informatik) — Ein Thread (auch: Aktivitätsträger oder leichtgewichtiger Prozess, vereinzelt auch: Faden) bezeichnet in der Informatik einen Ausführungsstrang oder eine Ausführungsreihenfolge in der Abarbeitung eines Programms. Ein Thread ist Teil eines… …   Deutsch Wikipedia

  • Operation (Informatik) — Als Operation bezeichnet man in der Informatik den kleinsten Verarbeitungsschritt einer Transaktion in einem Transaktionssystem zur Veränderung eines Datenbestandes. Beispiel zur Veranschaulichung Die Kontenverwaltung einer Bank basiert auf einer …   Deutsch Wikipedia

  • Transaktion (Informatik) — Als Transaktion (von lat. trans „über“, actio zu agere „(durch)führen“) bezeichnet man in der Informatik eine Folge von Programmschritten, die als eine logische Einheit betrachtet werden. Insbesondere wird für eine Transaktion gefordert, dass sie …   Deutsch Wikipedia

  • Thread (Informatik) — Ein Thread (auch: Aktivitätsträger oder leichtgewichtiger Prozess) bezeichnet in der Informatik einen Ausführungsstrang oder eine Ausführungsreihenfolge in der Abarbeitung eines Programms. Ein Thread ist Teil eines Prozesses. Man unterscheidet… …   Deutsch Wikipedia

  • Transaktionssicherheit — Als Transaktion (von lat. trans „über“, actio zu agere „(durch)führen“) bezeichnet man in der Informatik eine feste Folge von Operationen, die als eine logische Einheit betrachtet werden. Insbesondere wird für Transaktionen gefordert, dass sie… …   Deutsch Wikipedia

  • Verteilte Transaktion — Als Transaktion (von lat. trans „über“, actio zu agere „(durch)führen“) bezeichnet man in der Informatik eine feste Folge von Operationen, die als eine logische Einheit betrachtet werden. Insbesondere wird für Transaktionen gefordert, dass sie… …   Deutsch Wikipedia

  • Exception handling — is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions, special conditions that change the normal flow of program execution. Programming languages differ considerably in their support… …   Wikipedia

  • Programmabbruch — Der Begriff Programmabbruch (kurz Abbruch, englisch abort) bezeichnet in der Informatik das vorzeitige Ende eines Programmlaufs. Der Abbruch kann entweder durch eine Einflussnahme von außen veranlasst werden – beispielsweise als manueller… …   Deutsch Wikipedia

  • Aktivitätsträger — Ein Thread (auch: Aktivitätsträger oder leichtgewichtiger Prozess, vereinzelt auch: Faden) bezeichnet in der Informatik einen Ausführungsstrang oder eine Ausführungsreihenfolge in der Abarbeitung eines Programms. Ein Thread ist Teil eines… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”