Fehlerbehandlung (Recovery)



Ähnliche Dokumente
Fehlerbehandlung (Recovery)

Fehlerklassifikation 1. Lokaler Fehler in einer noch nicht festgeschriebenen. Wirkung muss zurückgesetzt werden R1-Recovery

Fehlerbehandlung (Recovery)

Fehlerbehandlung und Recovery

Aufgabe der Recovery-Komponente des Datenbanksystems ist es, nach einem Fehler den jüngsten konsistenten Datenbankzustand wiederherzustellen.

Fehlerbehandlung. Transaktionsverwaltung. Kapitel 7 T 2 T 3. T n T 1. Transaktions-Manager. Scheduler. Daten-Manager

Aufgabe der Recovery-Komponente des Datenbanksystems ist es, nach einem Fehler den jüngsten konsistenten Datenbankzustand wiederherzustellen.

Recovery- und Buffermanager

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

Übungen zur Vorlesung. Datenbanken I

Datenbank-Administration im WS 2012/13 - Einführung in Projekt 3 - Prof. Dr. Klaus Küspert Dipl.-Math. Katharina Büchse Dipl.-Inf.

9.3 Fehlerbehandlung

Wiederherstellung (Recovery)

Datenbanksysteme II SS Übungsblatt 9: Wiederholung

Datenbanken: Backup und Recovery

Transaktionsverwaltung

9. Wiederherstellung und Datensicherung

Transaktionsverwaltung und Recovery

Speicherhierarchie. Für die Dauer eines Zugriffs wird die Seite im Puffer fixiert (pin) Werden Daten geändert, so wird die Seite als dirty markiert

Kapitel 3: Logging & Recovery

8. Wiederherstellung und Datensicherheit

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung

Prozessarchitektur einer Oracle-Instanz

Transaktionsverwaltung

Übungen zu Datenbanksysteme

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Win 7 optimieren. Unser Thema heute: Meine erstellten Daten in eine andere Partition verschieben.

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

Oracle Datenbank - Recovery

Musterlösung für Schulen in Baden-Württemberg. Windows 200x. Lehrerfortbildung. Pflege des Exchange-Servers. Johannes Kühn

Win 7 sinnvoll einrichten

Übung - Datensicherung und Wiederherstellung in Windows Vista

Probeklausur Grundlagen der Datenbanksysteme II

1. Einleitung Abfrage des COON-Benutzernamens Ändern des Initial-Passwortes Anmelden an der COON-Plattform...

BSV Ludwigsburg Erstellung einer neuen Internetseite

Rechtssichere -Archivierung

Restore Exchange Server 2007 SP2

Was meinen die Leute eigentlich mit: Grexit?

Backup Premium Kurzleitfaden

Inkrementelles Backup

FILEZILLA HANDBUCH

Datensicherheit und Hochverfügbarkeit

Kryptographie in der Moderne

Fotostammtisch-Schaumburg

IntelliRestore Seedload und Notfallwiederherstellung

Partnerportal Installateure Registrierung

Kurzanleitung MAN E-Learning (WBT)

Integrierter -versand Konfiguration/Beschreibung

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Anforderungen an die Transaktionsverwaltung gleichzeitig (nebenläug) ablaufende Transaktionen Synchronisation Datenbanken gegen Soft- und Hardwarefehl

ACDSee 9 Foto-Manager

Quickstep Server Update

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Der einfache Weg zum CFX-Demokonto

Anleitung Jahreswechsel

AdmiCash - Datenpflege

Konvertieren von Settingsdateien

Anleitung für Kunden zum Umgang mit verschlüsselten s von der LASA Brandenburg GmbH

Microsoft Office 365 Kalenderfreigabe

Bedienungsanleitung für Mitglieder von Oberstdorf Aktiv e.v. zur Verwaltung Ihres Benutzeraccounts auf

Die Post hat eine Umfrage gemacht

Moodle aktuell halten mit Git

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Anleitung OpenCms 8 Webformular Auswertung

Handbuch ECDL 2003 Basic Modul 3: Textverarbeitung Dokument bearbeiten und speichern

Kapitel 2 Transaktionsverwaltung

Backup der Progress Datenbank

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Registrierung Ihres Fachbesucher Tickets

Moodle-Kurzübersicht Kurse Sichern und Zurücksetzen

Passwort Recovery über Stud.IP. Verfahren zum Zurücksetzen des Nutzerkonto-Passworts

FULFILLMENT VON ALLYOUNEED

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

Kapitel 5 Recovery. Skript zur Vorlesung: Datenbanksysteme II Sommersemester Vorlesung: Prof. Dr. Peer Kröger

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

MOM - Medienforum Online-Medien Anleitung zum Ändern der Login-Nummer und des Passworts

Windows 8/8.1 RecImg-Manager

Outlook-Daten komplett sichern

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Neun Strategien der Partnerarbeit

Erstellen einer in OWA (Outlook Web App)

Arbeitsschritte EAÜ Leistungserbringer Einnahmen erfassen

Internet online Update (Internet Explorer)

Transkript:

Kapitel 9 Fehlerbehandlung (Recovery) 345 / 520

Überblick Recovery Wichtige Aufgabe eines DBMS ist das Verhindern von Datenverlust durch Systemabstürze Die zwei wichtigsten Mechanismen des Recovery sind: Sicherungspunkte (Backups) Log-Dateien 346 / 520

Überblick Recovery(2) Ein Sicherungspunkt ist ein Schnappschuß des Datenbankinhalts zu einem bestimmten Zeitpunkt In einer Log-Datei werden alle Änderungen an der Datenbasis mitprotokolliert Offensichtlich sollten Sicherungspunkte und Log-Dateien nicht auf der gleichen Maschine gespeichert werden... 347 / 520

Verlust Vollständiger Verlust backup Zustand 1 {T i,t j,t k } Zustand 2 (verloren) Schnapps. Log-Datei restore Zustand 1 rollforward Zustand 2 348 / 520

Verlust Verlust des Hauptspeichers Zustand 1 Zustand 2 Zustand? {T i } {T j } Log-Datei Zustand 2+ restart Problem: einige TAs in {T j } waren noch aktiv, andere haben schon committet Restart stellt Zustand 2 + die Änderungen der committeten TAs in {T j } wieder her 349 / 520

Verlust Abbruch einer Transaktion Log-Dateien können auch dazu verwendet werden die Änderungen einer abgebrochenen TA zurückzusetzen Nach diesem groben Überblick werfen wir jetzt einen Blick hinter die Kulissen 350 / 520

Fehlerklassifikation Fehlerklassifikation Lokaler Fehler in einer noch nicht festgeschriebenen (committed) Transaktion Wirkung muss zurückgesetzt werden R1-Recovery Fehler mit Hauptspeicherverlust abgeschlossene TAs müssen erhalten bleiben (R2-Recovery) noch nicht abgeschlossene TAs müssen zurückgesetzt werden (R3-Recovery) Fehler mit Hintergrundspeicherverlust R4-Recovery 351 / 520

Speicherhierarchie Speicherhierarchie DBMS-Puffer Hintergrundspeicher C A... D Einlagerung P A A D P C C Auslagerung P B B 352 / 520

Speicherhierarchie Speicherhierarchie(2) Ersetzungsstrategien von Puffer-Seiten steal: Ersetzung von Seiten, die von einer noch aktiven Transaktion modifiziert wurden, ausgeschlossen steal: Jede nicht fixierte Seite ist prinzipiell ein Kandidat für die Ersetzung, falls neue Seiten eingelagert werden müssen 353 / 520

Speicherhierarchie Speicherhierarchie(3) Einbringen von Änderungen abgeschlossener TAs force-strategie: Änderungen werden zum Transaktionsende auf den Hintergrundspeicher geschrieben force-strategie: geänderte Seiten können im Puffer verbleiben und später zurückgeschrieben werden 354 / 520

Speicherhierarchie Auswirkung auf Recovery steal steal force kein Redo kein Undo kein Redo Undo force Redo kein Undo Redo Undo 355 / 520

Speicherhierarchie Einbringstrategien Update in Place jede Seite hat genau eine Heimat auf dem Hintergrundspeicher der alte Zustand der Seite wird überschrieben Twin-Block-Verfahren PA 0 PA 1 PB 0 PB 1 PC 0 PC 1 Schattenspeicherkonzept nur geänderte Seiten werden dupliziert weniger Redundanz als beim Twin-Block-Verfahren 356 / 520

ARIES Systemkonfiguration steal force update-in-place Kleine Sperrgranulate 357 / 520

ARIES ARIES-Protokoll ARIES-Protokoll ist weit verbreitetes Protokoll zur Fehlerbehandlung in DBMSen Log-Datei enthält: Redo-Information: gibt an, wie Änderungen nachvollzogen werden können Undo-Information: beschreibt, wie Änderungen rückgängig gemacht werden können 358 / 520

Schreiben der Log-Daten Schreiben der Log-Daten AP 1... AP n DBMS DBMS- Code Log- Puffer... Datenbank- Puffer Log-Datei Archiv Datenbasis Log- DB- Archiv Die Log-Information wird zweimal geschrieben Log-Datei für schnellen Zugriff: R1, R2 und R3-Recovery Log-Archiv: R4-Recovery 359 / 520

Schreiben der Log-Daten Schreiben der Log-Daten(2) Anordnung des Log-Ringpuffers: #30 #40 #20 Log-Datei eintragen #41 Logausschreiben Archiv #10 360 / 520

Schreiben der Log-Daten Schreiben der Log-Daten(3) Write Ahead Log-Prinzip (WAL-Prinzip) Bevor eine Transaktion festgeschrieben (committed) wird, müssen alle zu ihr gehörenden Log-Einträge ausgeschrieben werden Bevor eine modifizierte Seite ausgelagert werden darf, müssen alle Log-Einträge, die zu dieser Seite gehören, in das temporäre und das Log-Archiv ausgeschrieben werden 361 / 520

Wiederanlauf nach Fehler Wiederanlauf nach Fehler Absturz T1 T2 t1 t2 t3 Zeitachse TAs der Art T 1 sind Winner: müssen vollständig nachvollzogen werden TAs der Art T 2 sind Loser: müssen rückgängig gemacht werden 362 / 520

Wiederanlauf nach Fehler Phasen des Wiederanlaufs Analyse: Ermittlung der Winner-Menge von Transaktionen des Typs T1 Ermittlung der Loser-Menge von Transaktionen der Art T 2. Wiederholung der Historie: Alle protokollierten Änderungen werden in der Reihenfolge ihrer Ausführung in die Datenbasis eingebracht Undo der Loser: Die Änderungoperationen der Loser-Transaktionen werden in umgekehrter Reihenfoge ihrer ursprünglichen Ausführung rückgängig gemacht 363 / 520

Wiederanlauf nach Fehler Phasen des Wiederanlaufs(2) 1. Analyse 2. Redo alle Änderungen (Winner und Loser) 3. Undo aller Loser-Änderungen 364 / 520

Struktur der Log-Einträge Struktur der Log-Einträge [LSN,TA,PageID,Redo,Undo,PrevLSN] Redo: Undo: Physische Protokollierung: After-Image Logische Protokollierung: Code mit dem aus dem Before-Image das After-Image erzeugt werden kann Physische Protokollierung: Before-Image Logische Protokollierung: Code mit dem aus dem After-Image das Before-Image erzeugt werden kann 365 / 520

Struktur der Log-Einträge Struktur der Log-Einträge(2) LSN (Log Sequence Number), eine eindeutige Kennung des Log-Eintrags LSNs müssen monoton aufsteigend vergeben werden, die chronologische Reihenfolge der Protokolleinträge kann dadurch ermittelt werden TA Transaktionskennung der Transaktion, die die Änderung durchgeführt hat 366 / 520

Struktur der Log-Einträge Struktur der Log-Einträge(3) PageID die Kennung der Seite, auf der die Änderungsoperation vollzogen wurde Wenn eine Änderung mehr als eine Seite betrifft, müssen entsprechend viele Log-Einträge generiert werden PrevLSN, Zeiger auf den vorhergehenden Log-Eintrag der jeweiligen Transaktion Diesen Eintrag benötigt man aus Effizienzgründen 367 / 520

Struktur der Log-Einträge Beispiel einer Log-Datei T 1 T 2 Log [LSN,TA,PageID,Redo,Undo,PrevLSN] 1. BOT [#1, T 1,BOT, 0] 2. r(a, a 1 ) 3. BOT [#2, T 2, BOT, 0] 4. r(c, c 2 ) 5. a 1 := a 1 50 6. w(a, a 1 ) [#3, T 1, P A, A =50, A+=50, #1] 7. c 2 := c 2 + 100 8. w(c, c 2 ) [#4, T 2, P C, C+=100, C =100, #2] 9. r(b, b 1 ) 10. b 1 := b 1 + 50 11. w(b, b 1 ) [#5, T 1, P B, B+=50, B =50, #3] 12. commit [#6, T 1, commit, #5] 13. r(a, a 2 ) 14. a 2 := a 2 100 15. w(a, a 2 ) [#7, T 2, P A, A =100, A+=100, #4] 16. commit [#8, T 2, commit, #7 ] 368 / 520

Fehlertoleranz Wiederanlauf Fehlertoleranz Wiederanlauf undo(undo( (undo(a)) )) = undo(a) redo(redo( (redo(a)) )) = redo(a) #1 #2 #3 #4 #5 #6 #7 T 1 T 2 369 / 520

Fehlertoleranz Wiederanlauf Fehlertoleranz Wiederanlauf(2) Redo Undo #1 #2 #3 #4 #5 #6 #7 #7 #4 #2 UndoNextLSN Kompensationseinträge (CLR: compensating log record) für rückgängig gemachte Änderungen. #7 ist CLR für #7 #4 ist CLR für #4 370 / 520

Fehlertoleranz Wiederanlauf Logeinträge nach Wiederanlauf [#1,T 1,BOT,0] [#2,T 2,BOT,0] [#3,T 1,P A,A =50,A+=50,#1] [#4,T 2,P C,C+=100,C =100,#2] [#5,T 1,P B,B+=50,B =50,#3] [#6,T 1,commit,#5] [#7,T 2,P A,A =100,A+=100,#4] #7,T 2,P A,A+=100,#7,#4 #4,T 2,P C,C =100,#7,#2 #2,T 2,,,#4,0 CLRs sind durch spitze Klammern... gekennzeichnet 371 / 520

Fehlertoleranz Wiederanlauf CLR der Aufbau eines CLR ist wie folgt LSN TA-Identifikator betroffene Seite Redo-Information PrevLSN UndoNxtLSN (Verweis auf die nächste rückgängig zu machende Änderung) 372 / 520

Fehlertoleranz Wiederanlauf Partielles Zurücksetzen 5 Historie 1 2 3 4... Log #1 #2 #3 #4 #4 #3 #5... Schritte 3 und 4 werden zurückgenommen notwendig für die Realisierung von Sicherungspunkten innerhalb einer TA 373 / 520

Sicherungspunkte Sicherungspunkte Absturz T 1 T 2 T 3 T 4 Sicherungspunkt S i 1 Sicherungspunkt S i angemeldet Sicherungspunkt S i geschrieben Zeitachse 374 / 520

Sicherungspunkte Sicherungspunktarten Transaktionskonsistent: Sicherungspunkt Log Analyse Redo Undo 375 / 520

Sicherungspunkte Sicherungspunktarten(2) Aktionskonsistent: Sicherungspunkt Log Analyse MinLSN Redo Undo 376 / 520

Sicherungspunkte Aktionskonsistenter S.Punkt Absturz T 1 T 2 T 3 T 3 T 4 Sicherungspunkt Zeitachse 377 / 520

Sicherungspunkte Sicherungspunktarten(3) Unscharf (fuzzy): Sicherungspunkt Log MinLSN MinDirtyPageLSN Analyse Redo Undo 378 / 520

Sicherungspunkte Unscharfer Sicherungspunkt modifizierte Seiten werden nicht ausgeschrieben nur deren Kennung wird ausgeschrieben Dirty Pages=Menge der modifizierten Seiten MinDirtyPageLSN: die minimale LSN, deren Änderungen noch nicht ausgeschrieben wurde 379 / 520

Zusammenfassung Zusammenfassung Fehlerbehandlung (Recovery) kann Zustand der Datenbasis zum Absturzzeitpunkt wiederherstellen Die zwei Hauptmechanismen dazu sind: Log-Dateien Sicherungspunkte 380 / 520