Recovery • Wiederherstellung eines konsistenten Datenbankzustandes nach Fehlersituationen – Logische Fehler im Programm – Engpässe bei der Resourcenverteilung • Platz für Tablespaces – Verlust des Hauptspeichers – Verlust von Datenbankdateien Seite: 48 Version 1.0a ©2004,2006 Dipl. - Ing. Walter Sabin ADAT Recovery (Fs.) • Änderungen in der DB durch Transaktionen • Transaktion: Folge von Lese und Schreiboperationen, welche die Datenbank von einem konsistenten Zustand in einen anderen konsistenten Zustand überführen. – Atomarität – Dauerhaftigkeit Seite: 49 Version 1.0a ©2004,2006 Dipl. - Ing. Walter Sabin ADAT Recovery (Fs.) • Before Images Undo Tablespace / Rollbacksegmente – – – – Datensatzzustand vor der Veränderung Teil der Datenbank Rücksetzen von Transaktionen Lesen veränderter Informationen offener Transaktionen – Lesen von Datesatzzuständen vor der Veränderung durch Transaktionen – Endliche Größe – Snap Shot too old (Zeichnung) Seite: 50 Version 1.0a ©2004,2006 Dipl. - Ing. Walter Sabin ADAT Recovery (Fs.) • Transaktionen – Begin, Commit, Rollback • 2 Arten von Recovery – Instance Recovery - z.B. Systemcrash – Media Recovery z.B. Headcrash von Magnetplatten • After Images - Redo Logs – Datensatzzustand nach der Veränderung – Logwriter – Archiver Seite: 51 Version 1.0a ©2004,2006 Dipl. - Ing. Walter Sabin ADAT Recovery (Fs.) • Backup – Cold Backup - Database down – Hot Backup - Database up • Volles Backup – Alle Datenbankdateien • Inkrementelles Backup – Änderungen in den Datenbankdateien • zum letzten inkrementellen Backup • Zum letzten vollen Backup Seite: 52 Version 1.0a ©2004,2006 Dipl. - Ing. Walter Sabin ADAT Concurrency Control • Mehrere Benutzer verwenden Daten zur selben Zeit ohne die Konsistenz zu gefährden • Beispiel - Ab- und Zubuchen zum selben Konto • Serialisierbarkeit – Ergebnis ist unhabhängig von der Reihenfolge der Aktionen Seite: 53 Version 1.0a ©2004,2006 Dipl. - Ing. Walter Sabin ADAT Concurrency Control (Fs.) • Datensatzsperren - Lese und / oder Schreibsperren • Granularität der Sperre – – – – Datenbank Tabelle Datenblock Datensatz • Deadlocks • Verwendbarkeit der Datenbank Seite: 54 Version 1.0a ©2004,2006 Dipl. - Ing. Walter Sabin ADAT Concurrency Control (Fs.) • Pessimistisches Concurrency Control – Deadlock Erkennung und Lösung • Optimistisches Concurrency Control – Versionierung der Datensätze – Deadlock Vermeidung Seite: 55 Version 1.0a ©2004,2006 Dipl. - Ing. Walter Sabin ADAT Ad Hoc Abfragen • Nicht alle betrieblich notwendigen Abfragen sind vorhersehbar • Schnell und ohne Entwicklung eines Anwendungsprogrammes • Einfach deklarativ (beschreibend) • SQL Abfrageübersetzer • Datenmengenprobleme Seite: 56 Version 1.0a ©2004,2006 Dipl. - Ing. Walter Sabin ADAT Ad Hoc Abfragen (Fs.) • Optimaler Zugriffspfad – Beispiel: • Artikel (ANR, , ARTBEZ, LFNR) • Lieferanten (LFNR, LNAME) • Anforderung: Suche Einige Lieferanten mit ihren Artikeln. • Nested Loop • Sort Merge • Index Look up – Rule Based Optimizer – Statistischer Optimizer • Analyze Tables Seite: 57 Version 1.0a ©2004,2006 Dipl. - Ing. Walter Sabin ADAT