fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1"

Transkript

1 Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1

2 Transaktionsmanagement Inhalte des Kapitels Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency und Locking) JDBC Teil II: Transaktionsmanagement Wiederherstellung der Daten (Recovery) und Backupstragien Lernziele Strategisches Verständnis für die ACID-Eigenschaften von Transaktionen Kenntnis der unterschiedlichen Kategorien von Concurrency-Konflikten Kenntnis der entsprechenden Isolationlevel Anwendung von Transaktionskonzepten im Rahmen von JDBC Kenntnis der Vorgänge beim Recovery Kenntnis unterschiedlicher Backupstragien Schestag Datenbanken (Cnam) Kapitel 7-2

3 Transaktionsmanagement Ein einführendes Beispiel... while c%found loop if v_gehalt > then update angestellter set gehalt = gehalt * proz1 where current of c; else update angestellter set gehalt = gehalt * proz2 where current of c; end if; fetch c into v_gehalt; end loop; Was passiert, wenn während der Ausführung dieses PL/SQL-Programms das DBMS abstürzt / oder das Betriebssystem abstürzt / oder der Strom ausfällt oder? Schestag Datenbanken (Cnam) Kapitel 7-3

4 Transaktionsmanagement und ein zweites Beispiel: -- Überweisung von 50 Euro von Konto A nach Konto B (1) Lese den Kontostand von A in die Variable a: read(a,a); (2) Reduziere den Kontostand um 50 Euro: a:=a 50; (3) Schreibe den neuen Kontostand in die Datenbasis: write(a,a); (4) Lese den Kontostand von B in die Variable b: read(b,b); (5) Erhöhe den Kontostand um 50 Euro: b:=b+50; (6) Schreibe den neuen Kontostand in die Datenbasis: write(b,b); Was passiert, wenn zwischen der Ausführung von Operation 3 und Operation 4 das DBMS abstürzt / oder das Betriebssystem abstürzt / oder der Strom ausfällt oder? Schestag Datenbanken (Cnam) Kapitel 7-4

5 Transaktionsmanagement In diesem Kapitel werden Konzepte vorgestellt, wie die Integrität und Dauerhaftigkeit der Daten gewährleistet wird bei einer zusammen gehörenden Abfolge von Anweisungen, die entweder alle oder gar nicht ausgeführt werden dürfen, um die Konsistenz der Daten zu gewährleisten Transaktion Transaction, bei Zugriff auf die Daten von mehreren Usern gleichzeitig konkurrierende Zugriffe und Sperren Concurrency und Locking, zur Sicherstellung der Integrität nach dem Wiederanlauf eines Systems Wiederherstellung Recovery. Schestag Datenbanken (Cnam) Kapitel 7-5

6 Das Transaktionskonzept Eine Transaktion ist eine Folge von Datenbankoperationen, die die Daten von einem konsistenten Zustand in einen neuen konsistenten Zustand überführt und entweder ganz oder gar nicht ausgeführt wird (man spricht auch von einer logischen atomaren Einheit / Unit of Work UOW). störungsfreie Ausführung Festschreiben von Zustand B (Commit) Zustand A Zustand B gestörte Ausführung: Zurücksetzen auf Zustand A (Rollback, Abort) Zum zweiten Beispiel: Eine Kontobewegung von Konto1 nach Konto 2 entspricht immer einem Update für das Haben auf Konto 1 und einem Update für das Soll auf Konto 2. Beide Datenbankoperationen müssen gemeinsam vollständig oder dürfen gar nicht ausgeführt werden, um die Integrität der Datenbank zu wahren. Schestag Datenbanken (Cnam) Kapitel 7-6

7 Das ACID-Paradigma für Transaktionen A Atomicity (Atomarität) Transaktionen haben atomaren Charakter: Sie werden ganz oder gar nicht ausgeführt ( alles oder nichts ). Mechanismen zur Fehlerbehandlung sind notwendig. Schestag Datenbanken (Cnam) Kapitel 7-7

8 Das ACID-Paradigma für Transaktionen C Consistency (Konsistenz) Transaktionen bewahren die Konsistenz der Datenbank. Die Datenbank wird durch eine Transaktion von einem konsistenten Zustand in den nächsten überführt. Mechanismen zur Konsistenzsicherung und Fehlerbehandlung sind notwendig. Schestag Datenbanken (Cnam) Kapitel 7-8

9 Das ACID-Paradigma für Transaktionen I Isolation (Isolation) Transaktionen werden bei konkurrierendem Zugriff (concurrency) untereinander getrennt, d.h. jede Transaktion läuft in einem simulierten Single-User-Betrieb. Sperrkonzepte und Synchronisation mehrerer nebenläufigertransaktionen sind notwendig (Scheduling) Schestag Datenbanken (Cnam) Kapitel 7-9

10 Das ACID-Paradigma für Transaktionen D Durability (Dauerhaftigkeit) Datenbank-Updates bleiben nach einem Commit dauerhaft erhalten, auch wenn nach diesem Commit ein Systemausfall stattgefunden haben sollte. Fehlerbehandlung, insbesondere Recovery-Management ist notwendig Schestag Datenbanken (Cnam) Kapitel 7-10

11 Transaktionsmanagement: SQL-Anweisungen Ein DBMS, das das Transaktionskonzept unterstützt, besitzt als Komponente einen Transaktionsmanager, der über folgende SQL-Anweisungen gesteuert wird: BEGIN TRANSACTION expliziter oder impliziter Beginn einer Transaktion eine Transaktion beginnt implizit mit der ersten Anweisung nach Eröffnung einer Session bzw. mit der ersten Anweisung nach dem letzten commit. COMMIT TRANSACTION Transaktion wird als erfolgreich beendet gekennzeichnet. Alle zugehörigen Datenbankänderungen werden festgeschrieben ( Durability!). Syntax: commit [work]; Schestag Datenbanken (Cnam) Kapitel 7-11

12 Transaktionsmanagement: SQL-Anweisungen ROLLBACK TRANSACTION Die Transaktion wird explizit (per Programm) oder implizit (z.b. durch Connection-Verlust) abgebrochen. Alle zugehörigen Datenbankänderungen werden rückgängig gemacht, auch die, die implizit z.b. durch Trigger entstanden sind. Es wird auf den letzten konsistenten Zustand des Systems zurückgesetzt ( Checkpoints / Savepoints). Syntax: rollback [work]; -- Transaktion T1 wird implizit geöffnet update Konto set balance = balance-50 where KontoID = 'A'; update Konto set balance = balance+50 where KontoID = 'B'; -- T1 wird beendet und die Ergebnisse festgeschrieben commit work; -- neue Transaktion T2 wird implizit geöffnet insert into Konto (KontoID, Name, balance) values ('C', 'Meyer', 0); Schestag Datenbanken (Cnam) Kapitel 7-12

13 Transaktionsmanagement Oracle Bei Oracle beginnt eine Transaktion immer mit der ersten, auszuführenden SQL-Anweisung (also implizit) und wird erfolgreich beendet durch COMMIT oder COMMIT WORK. Bricht die Transaktion mit einer Fehlermeldung ab, so spricht man (grundsätzlich) von einem ABORT. Nach jeder einzelnen DDL-Anweisung erfolgt immer(!) ein implizites COMMIT. Innerhalb langer Transaktionen können Savepoints gesetzt werden, die die Transaktion in kleine, atomare Einheiten unterteilen. Im Fehlerfall kann auf jeden deklarierten Savepoint innerhalb der Transaktion zurückgesetzt werden. Syntax: savepoint S1; Schestag Datenbanken (Cnam) Kapitel 7-13

14 Transaktionsmanagement Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency und Locking) JDBC Teil II: Transaktionsmanagement Wiederherstellung der Daten (Recovery) und Backupstragien Schestag Datenbanken (Cnam) Kapitel 7-14

15 Concurrency-Konflikte: Lost Update Beim Zugriff mehrerer Transaktionen auf die gleichen Daten (konkurrierende Zugriffe concurrency) können unterschiedliche Kategorien von Konflikten auftreten. Den folgenden Szenarien liegen die Daten eines Flugbuchungssystems zugrunde (x bezeichne jeweils den aktuellen Wert der Spalte AnzahlFreieSitzplätze) : Lost update Zeit T1: read x=100 T1: buche 1 Platz: x:=x-1=99 T1: update... set x = 99; Flugnr LH 4225 T2: read x=100 AnzahlFreieSitzplätze 100 ( 99 ) 98 T2: buche 2 Plätze: x:=x-2=98 T2: update... set x = 98; Insgesamt wurden 3 Plätze gebucht, die Anzahl der vorhandenen Plätze hat sich jedoch nur um 2 reduziert! Wie kann diese Inkonsistenz vermieden werden? Schestag Datenbanken (Cnam) Kapitel 7-15

16 Concurr.-Konflikte: Uncommited Dependency Uncommited Dependency Nicht freigegebene Änderungen Einer Transaktion T2 wird lesender Zugriff auf Daten erlaubt, die von einer Transaktion T1 verändert, aber noch nicht festgeschrieben wurden, also uncommited sind. Transaktion T2 ist somit von Transaktion T1 abhängig (dependent), es erfolgt u. U. ein so genanntes Dirty Read. Flugnr LH 4225 AnzahlFreieSitzplätze 100 ( ) Zeit T1: read x=100 T1: buche 1 Platz: x:=x-1=99 T1: update... set x = 99; T1: rollback T2: read x=99 T2: buche 2 Plätze: x:=x-2=97 T2: update... set x = 97; Welcher Konflikt ist nun entstanden? Schestag Datenbanken (Cnam) Kapitel 7-16

17 Concurr.-Konflikte: Nonrepeatable Read Nonrepeatable Read nicht wiederholbares Lesen Eine Transaktion T1 erwartet in zwei aufeinander folgenden Leseoperationen auf dem gleichen Datum den gleichen Wert. T2 ändert oder löscht diesen zwischen den beiden lesenden Zugriffen: Flugnr LH 4225 AnzahlFreieSitzplätze Zeit T1: read x=100 T1: read x=99 T2: read x=100 T2: buche 1 Platz: x:=x-1=99 T2: update... set x = 99; T2: commit; Innerhalb der selben Transaktion wurden für ein Feld, das von dieser Transaktion nicht verändert wurde(!), unterschiedliche Werte gelesen. Allerdings handelt es sich nicht um ein Dirty Read warum nicht? Schestag Datenbanken (Cnam) Kapitel 7-17

18 Concurrency-Konflikte: Phantom Read Phantom Read das Problem des Phantoms (Inconsistent Analysis) Eine Transaktion T1 analysiert Daten auf einem Datenbestand, während von einer Transaktion T2 ein neuer Datensatz eingefügt wird, der von T1 eigentlich hätte mitberücksichtigt werden müssen. T1 zählt (auf der Variablen count) die Anzahl derjenigen Flüge, die noch nicht ausgebucht sind: T1: count(*) where AnzFreieSitzpl > 0; T1: Ergebnis = 2 T1: Wdh. count: Ergebnis = 3 Zeit Flugnr LH 4225 AF 1018 KL 1775 BA 914 AnzahlFreieSitzplätze T2: insert into... values ('AF 1018',150,...); T2: commit; Schestag Datenbanken (Cnam) Kapitel

19 Sperrkonzepte (1) Um die geschilderten Probleme beim konkurrierenden Zugriff mehrerer Transaktionen auf die gleichen Daten zu verhindern, benutzen die meisten Datenbanksysteme Locking-Mechanismen (Sperr-Mechanismen), die es im Zusammenhang mit geeigneten Isolation-Leveln (s. u.) ermöglichen, die genannten Probleme zu vermeiden oder einzuschränken: Locks (Sperren) dienen dazu, anderen Transaktionen solange keinen lesenden und / oder schreibenden Zugriff auf die bearbeiteten Tupel einer aktuellen Transaktion zu ermöglichen, bis die aktuelle Transaktion ein commit oder rollback gegeben hat. Im allgemeinen unterscheidet man zwei Arten von Locks: S-Locks = shared-locks, auch read-locks genannt, und X-Locks = exclusive-locks, auch write-locks genannt. Schestag Datenbanken (Cnam) Kapitel 7-19

20 Sperrkonzepte (2) S-Lock Besitzt eine Transaktion A einen S-Lock auf dem Tupel t, so bewirkt dies: Ein weiterer S-Lock für eine Transaktion B wird zugelassen, anschließend haben beide Transaktionen S-Locks auf t. Alle angeforderten X-Locks anderer Transaktionen werden zurückgewiesen, bis alle S-Locks auf Tupel t wieder freigegeben sind. Hierdurch wird gewährleistet, dass die Daten während des lesenden Zugriffs nicht verändert werden können. X-Lock Besitzt eine Transaktion A einen X-Lock auf dem Tupel t, so bewirkt dies: Alle angeforderten S-Locks anderer Transaktionen werden zurückgewiesen. Alle angeforderten X-Locks anderer Transaktionen werden zurückgewiesen. S X S X Schestag Datenbanken (Cnam) Kapitel 7-20

21 Dead Lock (1) Haben zwei Transaktionen A und B Ressourcen gesperrt, auf deren Freigaben sie jeweils warten, um einen X-Lock zu fordern, so entsteht ein Dead Lock. Beispiel Dead Lock time transact. operation 1 T1 X/S-lock t1 2 T2 X/S-lock t2 3 T1 X-lock t2 4 T2 X-lock t1 wird angefordert wait wird angefordert wait Ein vom DBMS erkannter Dead Lock wird dadurch aufgelöst, dass eine der beteiligten Transaktionen abgebrochen wird. Im allgemeinen gibt es eine maximale Wartezeit für Transaktionen in jedem DBMS. Ist diese maximale Wartezeit überschritten (Time Out), so wird die entsprechende Transaktion ebenfalls abgebrochen (kein Dead Lock!), um die entsprechenden Sperren freizugeben (Aufhebung von Locks). Schestag Datenbanken (Cnam) Kapitel 7-21

22 Dead Lock (2) Dead-Lock-Situationen können durch die Untersuchung so genannter Wait-for-Graphen frühzeitig erkannt werden: Die Ecken des Graphen sind konkurrierende Transaktionen. Die gerichtete Kante zwischen zwei Ecken T1 und T2 des Graphen bedeutet, dass T1 auf die Freigabe einer Sperre durch T2 wartet. T1 T2 Wait-for-Graph für das Beispiel auf der vorhergehenden Folie Ein Dead Lock liegt genau dann vor, wenn der Graph einen geschlossenen Teilgraphen enthält. Schestag Datenbanken (Cnam) Kapitel 7-22

23 Isolationlevel Im o. g. Locking-Konzept wird für eine Transaktion gefordert, ein einmal erworbenes Locking so lange zu halten, bis ein Commit / Rollback für diese Transaktion erfolgt ist. In der Praxis führt dies i. A. zu enormen Behinderungen von Transaktionen (wait-status, Dead Locks). Aus diesem Grund ist es auch möglich, mit Hilfe spezifischer Isolation Level ein differenzierteres Sperrverhalten zu erreichen. Der Isolation Level gibt dabei an, in welchem Maß die jeweilige Sperre konkurrierenden Zugriff auf die Daten zulässt: Isolation Level Read Uncommitted möglich Isolation Level (SQL 92) Dirty Read Daten werden vor einem commit / rollback gelesen Nonrepeatable Read update / delete von der Seite mit commit möglich möglich Phantom Read insert von der Seite mit commit möglich möglich Read Committed nicht möglich möglich möglich Repeatable Read nicht möglich nicht möglich möglich Serializable nicht möglich nicht möglich nicht möglich Schestag Datenbanken (Cnam) Kapitel 7-23

24 Isolationlevel bei DB2 (IBM) DB2 unterstützt genau die Isolation Level des SQL 92 Standards, allerdings mit anderen Bezeichnern: SQL set transaction [ { read only read write } ] [ isolation level { read uncommitted read committed repeatable read serializable } ] DB2 change isolation to [ { UR CS RS RR } ] Uncommitted Read Cursor Stability Read Stability Repeatable Read Schestag Datenbanken (Cnam) Kapitel 7-24

25 Isolationlevel bei Oracle DB2 unterstützt die Isolation Level read committed und serializable des SQL 92 Standards: SQL set transaction [ { read only read write } ] [ isolation level { read uncommitted read committed repeatable read serializable } ] Oracle set transaction [ { read only read write } ] [ isolation level { read committed serializable } ] Isolation Level innerhalb einer Session ändern: alter session set isolation_level Isolationsebene; Schestag Datenbanken (Cnam) Kapitel 7-25

26 Multiversion concurrency control MVCC DBMS mit Multiversionen-Synchronisation (multiversion concurrency control, MVCC) ermöglichen es immer, auf den zuletzt fest geschriebenen Zustand (commit) eines Datenobjektes lesend zu zu greifen. Jedes Objekt x erhält beim letzten Festschreiben einen Zeitstempel ts(x). Jede Transaktion T erhält beim Start einen Zeitstempel ts(t). Konflikte, die aus konkurrierenden Schreibzugriffen zweier Transaktionen entstehen, werden aufgrund einer Zeitstempelanalyse erst beim Commit entdeckt und führen dann ggf. zum Abbruch einer der beteiligten Transaktionen. Sehr viele DBMS arbeiten mittlerweile mit MVCC, u.a. Oracle seit Version 3 IBM DB2 seit Version 9.7 unter Isolationlevel CS (in einem bestimmten Modus) MS SQL Server seit Version SQL Server 5 Schestag Datenbanken (Cnam) Kapitel 7-26

27 Multiversion concurrency control MVCC Ein Beispiel Isolation-Level Serializable (Oracle) ts(x=10) = 1 T1: BOT ts(t1) = 2 T1: lese x (vom ts(x) = 1): x = 10 T1: schreibe x:= 20; X-LOCK T1: commit; ts(x=20) = 4 Zeit T2: BOT ts(t2) = 3 T2: lese x (vom ts(x) = 1): x = 10 a) T2: schreibe x: = 30; WAIT b) T2: schreibe x: = 30; commit; "can't serialize access for this transaction" T2 wird in Fall a) und b) zurückgesetzt: der Versuch, das Objekt x fest zu schreiben scheitert deshalb, weil 3 = ts(t2) < ts(x lastcommit ) =4. Vorteil von MVCC? Nachteil von MVCC? Schestag Datenbanken (Cnam) Kapitel 7-27

28 Transaktionsmanagement Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency und Locking) JDBC Teil II: Transaktionsmanagement Wiederherstellung der Daten (Recovery) und Backupstragien Schestag Datenbanken (Cnam) Kapitel 7-28

29 JDBC und Transaktionsmanagement Isolation Level und JDBC Der Isolation Level kann für eine Connection explizit gesetzt werden. Unterstützt ein Treiber den in der Methode settransactionisolation(level) übergebenen Level nicht, so darf er eine restriktivere Ebene verwenden. Unterstützt er keine restriktivere Ebene, so wird eine Ausnahme vom Typ SQLException erzeugt. Isolation Level sollten nie innerhalb einer Transaktion, sondern stets nur zwischen zwei Transaktionen geändert werden. void void settransactionisolation(int level) level) throws throws SQLException; SQLException; Konstanten des Connection-Interfaces TRANSACTION_NONE TRANSACTION_READ_UNCOMMITTED TRANSACTION_READ_COMMITTED TRANSACTION_REPEATABLE_READ TRANSACTION_SERIALIZABLE -- Beispiel: Isolation Level Serializable wird für die gesamte Session gesetzt con.settransactionisolation(connection.transaction_serializable); Schestag Datenbanken (Cnam) Kapitel 7-29

30 JDBC und das Connection-Interface Steuerung des Transaktionsverhalten der Datenbank durch weitere Methoden des Interface Connection: void commit( ) void rollback( ) void setautocommit(boolean autocommit) Nach dem Aufbau der Verbindung ist die Datenbank gemäß JDBC-Spezifikation zunächst im Auto-Commit-Modus, d.h. jede einzelne Anweisung wird als eigene Transaktion angesehen, die nach Ende des Kommandos automatisch bestätigt wird (commit). Eine Änderung kann erreicht werden durch Aufruf von setautocommit mit Übergabe von false. Danach müssen alle Transaktionen explizit durch Aufruf von commit bestätigt bzw. durch rollback zurückgesetzt werden. Nach Abschluss einer Transaktion beginnt automatisch die nächste. Schestag Datenbanken (Cnam) Kapitel 7-30

31 JDBC und das Interface ResultSetMetaData Die Methode getmetadata des Interfaces ResultSet liefert ein Objekt vom Typ ResultSetMetaData zur selektierten Datenmenge. Dieses Objekt kapselt Meta-Informationen zur selektierten Ergebnismenge, z.b. int getcolumncount( ) String getcolumnname(int column) String gettablename(int column) int getcolumntype(int column)... Anzahl der Spalten Name einer Spalte Name einer Tabelle Datentyp einer Spalte Schestag Datenbanken (Cnam) Kapitel 7-31

32 JDBC und das Interface DatabaseMetaData Die Methode getmetadata des Interfaces Connection liefert ein Objekt vom Typ DatabaseMetaData zur aktiven Verbindung. Dieses Objekt kapselt Meta-Informationen zur aktiven Verbindung, die in die folgenden Kategorien unterteilt werden können: Informationen zur Datenbank Informationen zu unterstützten Features Informationen zu Beschränkungen des Treibers Informationen aus dem Systemkatalog Mit Hilfe der Methode supporttransactionisolationlevel des DatabaseMetaData-Objektes kann z.b. abgefragt werden, ob eine Datenbank einen bestimmten Isolation Level unterstützt oder nicht. Schestag Datenbanken (Cnam) Kapitel 7-32

33 Transaktionsmanagement Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency und Locking) JDBC Teil II: Transaktionsmanagement Wiederherstellung der Daten (Recovery) und Backupstragien *) *) Ein Teil des Folienmaterials aus diesem Abschnitt stammt aus dem DB-Skript der Kollegin Uta Störl. Schestag Datenbanken (Cnam) Kapitel 7-33

34 Recovery- und Buffermanager Gesamtübersicht der Komponenten beim Zusammenspiel des lokalen Recovery Manager und des Datenbank Buffer Manager: persistenter Log Main memory Lokaler Recovery Manager (LRM) Log Buffer Read Write Fetch, Flush Read Write Datenbank persistente Datenbank Read Write Datenbank Buffer Manager (BM) Read Write Buffer (volatile Datenbank) Fetch: holt Daten page-weise in den DB-Buffer (read von persistenter DB) Flush: gibt Daten page-weise aus dem DB-Buffer frei (write in persistente DB) Schestag Datenbanken (Cnam) Kapitel 7-34

35 Fehlerklassifikation Klassifikation von Fehlern: Transaktionsfehler Systemfehler Externspeicherfehler Unterschiedliche Recoverymaßnahmen sind je nach Fehlerkategorie erforderlich. Schestag Datenbanken (Cnam) Kapitel 7-35

36 Transaktionsfehler Im Falle von Transaktionsfehlern spricht man beim Wiederherstellen eines konsistenten Zustandes von Transaktionsrecovery: BOT T 1 commit T 1 Zustand A 1 Zustand B 1 BOT T 2 Zustand A 2 abort T 2 Zeit Abort einer einzelnen Transaktion Alle Änderungen der Transaktion T 2 müssen rückgängig gemacht werden UNDO. Alle parallelen Änderungen anderer Transaktionen, die mit commit abgeschlossen wurden, dürfen nicht rückgängig gemacht werden kein Einfluss auf den Rest des Systems auch: lokaler Fehler Schestag Datenbanken (Cnam) Kapitel 7-36

37 Transaktionsfehler und Transaction-Recovery Typische Transaktionsfehler Fehler im Anwendungsprogramm Transaktionsabbruch explizit durch den Benutzer Transaktionsabbruch durch das System Behandlung (Transaction-Recovery) Isoliertes Zurücksetzen aller Änderungen der abgebrochenen Transaktionen = lokales UNDO bzw. R1-Recovery Wichtig: von dieser Seite veränderte Pages können sich sowohl im Datenbank-Puffer als auch bereits auf dem persistenten Speichermedium befinden! Schestag Datenbanken (Cnam) Kapitel 7-37

38 Protokoll der Änderungsinformationen Die durchgeführten Änderungen werden von den meisten DBMS in einem Datenbank-Log geschrieben und persistent gespeichert. Ein Log besteht aus Einträgen der Form: { LSN, TA, PageID, Undo, Redo PrevLSN } LSN: Log-Sequence Number = eindeutige und aufsteigende Nummerierung der Log-Einträge TA: Transaktionskennung (Nummer) PageID: Seitennummer Undo: UNDO-Information Redo: REDO-Information PrevLSN: LSN des letzten Eintrags der selben Transaktion Pro Transaktion werden außerdem die folgenden Informationen geschrieben: BOT record termination record (commit, abort). Schestag Datenbanken (Cnam) Kapitel 7-38

39 Beispiel für Log-Einträge LSN TA PageID Undo Redo PrevLSN #1 T 1 BOT 0 #2 T 1 27 [. A.] [. A.] #1 #3 T 2 BOT 0 #4 T 2 40 [. C.] [. C.] #3 #5 T 1 70 [. B.] [. B.] #2 #6 T 1 commit #5 Schestag Datenbanken (Cnam) Kapitel 7-39

40 und entsprechendes Transaktionsrecovery Alle Log-Einträge von T 2 werden in umgekehrter Reihenfolge ihrer ursprünglichen Ausführung gelesen und rückgängig gemacht, d.h. die Undo-Information (alter Zustand der Page) in die Datenbank eingebracht. LSN TA PageID Undo Redo PrevLSN #1 T 1 BOT 0 #2 T 1 27 [. A.] [. A.] #1 #3 T 2 BOT 0 #4 T 2 40 [. C.] [. C.] #3 #5 T 1 70 [. B.] [. B.] #2 #6 T 1 commit #5 #7 T 2 abort #4 Schestag Datenbanken (Cnam) Kapitel 7-40

41 Der Truncate-Operator *) Syntax: TRUNCATE TABLE <table_name> Löscht alle Zeilen einer Tabelle. Berücksichtigt keine DELETE-Trigger, aber überprüft den FK-Constraint bzgl. des Löschens. Allokierter Speicher wird freigegeben ohne Einzelprüfung der Datensätze. Es wird kein Log-File geschrieben. Ein Rollback ist nicht möglich! *) vgl. auch Kapitel 5, Folie 5-14 Schestag Datenbanken (Cnam) Kapitel 7-41

42 Systemfehler Im Falle von Systemfehlern spricht man beim Wiederherstellen eines konsistenten Zustandes von Crashrecovery: BOT T 1 commit T 1 Zustand A 1 Zustand B 1 BOT T 2 Zustand A 2 Zeit Systemfehler Alle Daten im Buffer sind zerstört. Alle Daten auf den persistenten Speichermedien sind noch verfügbar. Schestag Datenbanken (Cnam) Kapitel 7-42

43 Systemfehler und Crash-Recovery Typische Systemfehler DBMS-Fehler Betriebssystemfehler Hardware-Fehler Behandlung (Crash-Recovery) Nachvollziehen der von abgeschlossenen Transaktionen nicht in die DB eingebrachten Änderungen = partielles REDO bzw. R2-Recovery Zurücksetzen der von nicht beendeten Transaktionen in die DB eingebrachten Änderungen = globales UNDO bzw. R3-Recovery Schestag Datenbanken (Cnam) Kapitel 7-43

44 Crash-Recovery: Szenarien Mögliche Zustände von Änderungen auf Pages nach einem Systemfehler: im Buffer geändert und committet, bereits persistent im Buffer geändert und noch nicht committet, bereits persistent im Buffer geändert und committet, noch nicht persistent im Buffer geändert und noch nicht committet, noch nicht persistent persistenter Log Main memory Lokaler Recovery Manager (LRM) Log Buffer Read Write Fetch, Flush Read Write Datenbank persistente Datenbank Read Write Datenbank Buffer Manager (BM) Read Write Buffer (volatile Datenbank) Schestag Datenbanken (Cnam) Kapitel 7-44

45 3 Phasen des Crash-Recovery Analyse Das Log wird von Anfang bis zum Ende gelesen und ermittelt, welche Transaktionen erfolgreich beendet (committed) wurden und welche zum Fehlerzeitpunkt offen waren. Wiederholung der Historie (REDO) Es werden alle(!) protokollierten Änderungen in der Reihenfolge ihrer Ausführung in die Datenbank eingebracht. UNDO Die Änderungsoperationen der zum Fehlerzeitpunkt offenen Transaktionen werden rückgängig gemacht. Schestag Datenbanken (Cnam) Kapitel 7-45

46 Das Write-Ahead-Logging-Protokoll (WAL) In Analogie zu den Werten der Datenbank wird auch der Log vom Buffer Manager im Hauptspeicher gepflegt und in einen persistenten Log dauerhaft geschrieben. Der persistente Log sollte immer vor dem Update der entsprechenden Daten auf der persistenten Datenbank geschrieben werden: Das Write-Ahead-Logging-Protokoll (WAL) Bevor eine Transaktion festgeschrieben (committed) wird, müssen alle zu ihr gehörenden Log-Einträge ausgeschrieben werden (für das REDO im Fehlerfall). Bevor eine veränderte Page in die Datenbank eingebracht wird, müssen alle diese Page betreffenden Log-Einträge ausgeschrieben werden (für das UNDO im Fehlerfall). Anmerkung: Log-Einträge werden nicht einzeln, sondern alle Log-Einträg bis zum betroffenen Eintrag sequentiell ausgeschrieben. Schestag Datenbanken (Cnam) Kapitel 7-46

47 Externspeicherfehler und Media-Recovery Die Daten der materialisierten Datenbank sind zerstört oder unbrauchbar. Typische Externspeicherfehler Hardware-Fehler: Head-Crashes, Controller- Fehler etc. Naturgewalten wie Feuer oder Erdbeben Viren Behandlung (Media-Recovery) Die Datenbank muss mit Hilfe einer Sicherungskopie (Backup) wiederhergestellt werden. Danach muss der letzte transaktionskonsistente Zustand wiederhergestellt werden, d.h. alle seit der Erstellung des Backup erfolgreich beendeten Transaktionen nachvollzogen werden. persistente Datenbank Konsequenz: Die Log-Dateien müssen auf einem anderen Medium gesichert werden (z.b. anderer Rechner, Magnetband o.ä.)! Schestag Datenbanken (Cnam) Kapitel 7-47

48 Media-Recovery (1) Gesicherte Daten mit Offline-Backup: Offline- Log-Datei n-4 Log-Datei n-3 Backup x Log-Datei n-2 Log-Datei n-1 Log-Datei n Offline- Backup x-1 Media-Recovery Letzte Sicherungskopie der Datenbank wird eingespielt Nach der letzten Sicherung erstellte Log-Dateien werden analysiert und die Änderungen erfolgreich beendeter Transaktionen nachvollzogen (REDO) Bemerkung: Aus Performance-Gründen kann auch eine Vorgehensweise analog zur Crash-Recovery gewählt werden: komplette Historie wiederholen und danach Undo der Änderungen offener Transaktionen. Zeit Offline- Backup x Log-Datei n-2 Log-Datei n-1 Log-Datei n Zeit Schestag Datenbanken (Cnam) Kapitel 7-48

49 Media-Recovery (2) Gesicherte Daten mit Online-Backup: Online- Log-Datei n-4 Log-Datei n-3 Backup x Log-Datei n-2 Log-Datei n-1 Log-Datei n Online- Backup x-1 Media-Recovery Letzte Sicherungskopie der Datenbank wird eingespielt. Es müssen auch Log-Dateien vor dem letzten Backup betrachtet werden, da die Sicherungskopie u.u. Änderungen von später nicht erfolgreich beendeten Transaktionen enthält. Die Undo-Information dieser Transaktionen wird benötigt. Recovery zeitaufwändiger und Administration (Aufbewahren der Log- Dateien) aufwändiger. Zeit Log-Datei n-4 Log-Datei n-3 Online- Backup x Log-Datei n-2 Log-Datei n-1 Log-Datei n Zeit Schestag Datenbanken (Cnam) Kapitel 7-49

50 Inkrementelles Backup und Crash-Recovery Bei großen Datenbanken ist eine Komplettsicherung sehr(!) zeitaufwändig. Inkrementelles Backup = Sicherung der veränderten Datenbankseiten Bei der Wiederherstellung wird das letzte Full Backup und alle danach erstellten inkrementellen Backups eingespielt, und danach nur die Log-Dateien (Annahme: offline Backup) nach dem letzten inkrementellen Backup angewandt: Schestag Datenbanken (Cnam) Kapitel 7-50

51 Weitere Backup-Varianten Die bereits aufgeführten Backup-Varianten Online vs. Offline Backup Komplettes Backup vs. inkrementelles Backup können orthogonal mit weiteren Backup-Varianten kombiniert werden: Partielles Backup (Backup von Teilen der Datenbank z.b. Tablespaces) Paralleles Backup Schestag Datenbanken (Cnam) Kapitel 7-51

52 Zusammenfassung Zum Verständnis des Transaktionskonzeptes sind vor allem die ACID- Eigenschaften von Transaktionen wichtig. Bei ungeschützten konkurrierenden Zugriffen können verschiedene Kategorien von Inkonsistenzen auftreten. Zur Vermeidung solcher Inkonsistenzen werden Sperrkonzepte genutzt. Die Granularität des Sperrverhaltens definiert unterschiedliche Isolationlevel. Den drei Fehlerkategorien Transaktionsfehler, Systemfehler und Mediafehler entsprechen unterschiedliche Recovery-Strategien. Zur Wiederherstellung von Daten werden Logfiles und Backups verwendet. Schestag Datenbanken (Cnam) Kapitel 7-52

53 Datenbanken Einführung Semantische Datenmodellierung Relationenmodell Interne Datenorganisation SQL - Structured Query Language ESQL, Stored Procedure und Trigger Transaktionsmanagement 8. Objekt-relationales Mapping (eine Einführung) Schestag Datenbanken (Cnam) Kapitel 7-53

Recovery- und Buffermanager

Recovery- und Buffermanager Recovery- und Buffermanager Gesamtübersicht der Komponenten beim Zusammenspiel des lokalen Recovery Manager und des Datenbank Buffer Manager: persistenter Log Main memory Lokaler Recovery Manager (LRM)

Mehr

fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1

fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1 Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1 Transaktionsmanagement Inhalte des Kapitels Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency

Mehr

9 Transaktionskonzept

9 Transaktionskonzept 9 Transaktionskonzept Transaktionskonzept 9.1 Das Transaktionskonzept 9.2 Concurrency & Locking 9.3 Recovery 9.4 JDBC Teil II 9.4.1 Transaktionsmanagement 9.4.2 Objektrelationale Konzepte Schestag Datenbanken

Mehr

Datenbanken 1. Kapitel 7: Transaktionsmanagement 7-1. Datenbanken 1 (Bachelor)

Datenbanken 1. Kapitel 7: Transaktionsmanagement 7-1. Datenbanken 1 (Bachelor) Datenbanken 1 Kapitel 7: Transaktionsmanagement 7-1 Transaktionsmanagement Inhalte des Kapitels Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency und Locking) JDBC Teil II: Transaktionsmanagement

Mehr

Transaktionsverwaltung und Recovery

Transaktionsverwaltung und Recovery Transaktionsverwaltung und Recovery Transaktionsverwaltung Transaktionsbegriff Synchronisation und Sperren Isolation Level in SQL MVCC Hierarchische Sperren Isolation Level und Sperren in relationalen

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung

Mehr

Datenbanken II Literatur

Datenbanken II Literatur Datenbanken II Literatur C. J. Date: An Introduction to Database Systems; Addison-Wesley Systems Programming Series. 6th ed. 1995 H. E. Erbs, S. Karczewski und I. Schestag: Datenbanken (Datenmodelle, Objekte,

Mehr

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL 1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion

Mehr

Datenintegrität und Transaktionskonzept

Datenintegrität und Transaktionskonzept und Transaktionskonzept 1. / Datenkonsistenz 1 Mögliche Gefährdung der : Missachtung von Konsistenzbedingungen ("Semantische Integrität") Inkorrekte Verweise auf Datensätze in verschiedenen Tabellen ("Referentielle

Mehr

Software-Engineering und Datenbanken

Software-Engineering und Datenbanken Software-Engineering und Datenbanken Transaktionskonzepte 1 Der Transaktionsbegriff Eine Transaktion ist eine Folge von Operationen, die die Datenbank von einem konsistenten Zustand in einen neuen überführen.

Mehr

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

Datenbank-Administration im WS 2012/13 - Einführung in Projekt 3 - Prof. Dr. Klaus Küspert Dipl.-Math. Katharina Büchse Dipl.-Inf. Datenbank-Administration im WS 2012/13 - Einführung in Projekt 3 - Prof. Dr. Klaus Küspert Dipl.-Math. Katharina Büchse Dipl.-Inf. Andreas Göbel Friedrich-Schiller-Universität Jena Lehrstuhl für Datenbanken

Mehr

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Datenbanken Konsistenz und Mehrnutzerbetrieb III Datenbanken Konsistenz und Mehrnutzerbetrieb III 1. Oracle Architektur! Komponenten des Oracle Servers! Zugriff über Netzwerk 2. Zugriffsrechte! Starten und Schließen der Datenbank! Nutzer und Rollen!

Mehr

Datenbanken: Backup und Recovery

Datenbanken: Backup und Recovery Der Prozess der Wiederherstellung der Daten einer Datenbank nach einem Fehler im laufenden Betrieb in einen konsistenten, möglichst verlustfreien Zustand heißt Recovery. Beteiligt an diesem Recovery sind

Mehr

Kapitel 2 Transaktionsverwaltung

Kapitel 2 Transaktionsverwaltung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 2 Transaktionsverwaltung Vorlesung: PD Dr. Peer

Mehr

Kapitel 15. Transaktionen, Fehlerbehandlung, Multi-User. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken

Kapitel 15. Transaktionen, Fehlerbehandlung, Multi-User. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken Kapitel 15 Transaktionen, Fehlerbehandlung, Multi-User 1 Transaktionen, Fehlerbehandlung, Multi-User Transaktionskonzept Fehlerbehandlung Mehrbenutzersynchronisation 2 Transaktionen Warum? Beispiel 1 Was

Mehr

Transaktionen Recovery Isolationslevel. Datenbanksysteme. Transaktionen. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Transaktionen Recovery Isolationslevel. Datenbanksysteme. Transaktionen. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen Transaktionen Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Motivation ACID-Eigenschaften Übersicht Transaktionen Motivation ACID-Eigenschaften Ursachen für Logging und Backup

Mehr

Fehlerbehandlung (Recovery)

Fehlerbehandlung (Recovery) 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:

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung Commit Eigenschaften von Transaktionen (ACID) Transaktionen in SQL Kapitel 9 1 Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand

Mehr

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

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München Transaktions-Konzept (1) Beispiel: op 1 BOT op 2 read(k 1

Mehr

Wiederherstellung (Recovery)

Wiederherstellung (Recovery) Fragestellungen Aufgaben der Komponenten für das Recovery: Sicherstellung der Dauerhaftigkeit der gespeicherten Daten, d.h. Daten, die in einer Transaktion einmal bestätigt wurden (commit), bleiben auch

Mehr

Synchronisation in Datenbanksystemen in a nutshell

Synchronisation in Datenbanksystemen in a nutshell Synchronisation in Datenbanksystemen in a nutshell 1. Modell für nebenläufige Transaktionen und Korrektheitskriterium Transaktionsmodell: Folgen von Lese und Schreiboperationen abgeschlossen durch c=commit.

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 11. Synchronisation AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Transaktion Transaktion

Mehr

Datenbanken: Transaktionskonzept und Concurrency Control

Datenbanken: Transaktionskonzept und Concurrency Control Wesentlich für das Arbeiten mit Datenbanken sind konsistente Datenbestände! Folgerung: es muss sichergestellt werden, dass Datenmanipulationen von Benutzern immer in einem erneut konsistenten Zustand der

Mehr

Transaktionen und Synchronisation konkurrierender Zugriffe

Transaktionen und Synchronisation konkurrierender Zugriffe Transaktionen und Synchronisation konkurrierender Zugriffe Fragestellungen Aufgaben des Transaktionsmanagers Aktivieren von Transaktionen entsprechend den Anforderungen von Anwendungsprogrammen. Dabei

Mehr

View. Arbeiten mit den Sichten:

View. Arbeiten mit den Sichten: View "individuelle Sicht" (vgl. 3-Schichten-Modell) virtuelle Tabellen: in der DB wird nicht deren Inhalt, sondern nur die Ableitungsregel gespeichert. Arbeiten mit den Sichten: Anfragen: kein Problem.

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs 9. Mehrbenutzerbetrieb: DBS bedient gleichzeitig mehrere Benutzer Benutzer arbeiten zwar unabhängig voneinander, können aber die gleiche Relation oder sogar den gleichen Datensatz bearbeiten! Aktivität

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

3.6 Transaktionsverwaltung

3.6 Transaktionsverwaltung 3.6 Transaktionsverwaltung Transaktionen erlauben Bündelung von Operationen und gelten als wichtigster Beitrag des Bereichs Datenbanken zur Informatik; sie werden heute auch außerhalb von Datenbanksystemen

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

Literatur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14

Literatur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14 Literatur und Quellen Datenbanken Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Wintersemester 2013/14 Lektüre zu den Themen : Kapitel 9 () aus Kemper und Eickler:

Mehr

Transaktionen in Praxis. Dr. Karsten Tolle Vorl

Transaktionen in Praxis. Dr. Karsten Tolle Vorl Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction

Mehr

TAV Übung 3. Übung 3: Verteilte Datenhaltung

TAV Übung 3. Übung 3: Verteilte Datenhaltung Übung 3: Verteilte Datenhaltung 1. Serialisierung Konstruieren Sie Historien aus drei Transaktionen T1, T2 und T3, die folgende Merkmale aufweisen: 1. Die serielle Reihenfolge ist T1 vor T2 vor T3. 2.

Mehr

Datenbank- Verwaltungssysteme

Datenbank- Verwaltungssysteme Datenbank- Verwaltungssysteme Diana Troancă Babeș-Bolyai Universität Fakultät Mathematik und Informatik Dozent: Diana Troancă E-mail: dianat [at] cs.ubbcluj.ro Website: www.cs.ubbcluj.ro/~dianat/ Feedback

Mehr

www.informatik-aktuell.de

www.informatik-aktuell.de www.informatik-aktuell.de Flashback Reise in die Vergangenheit einfach. gut. beraten. Warum Oracle Zeitreisen anbieten kann, der Microsoft SQL Server aber leider nicht. IT-Tage Datenbanken 18.12.2015,

Mehr

Fehlerbehandlung (Recov

Fehlerbehandlung (Recov Fehlerbehandlung (Recov Fehlerarten Auswirkung der Speicherhierarchie Protokollierung von Änderungen Wiederanlauf nach Fehler ( Sicherungspunkte) Media-Recovery Kapitel 10 1 Fehlerbehandlung (Recovery)

Mehr

Inhaltsverzeichnis. Inhaltsverzeichnis

Inhaltsverzeichnis. Inhaltsverzeichnis Inhaltsverzeichnis Das Script für die Lehrveranstaltung Datenmanagement wurde im Wintersemester 2007/2008 komplett überarbeitet und neu strukturiert. Wir bitten darum, eventuelle Fehler im Script an Milan

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Vorsorge für den Fehlerfall Logging ˆ Sammlung redundanter Daten bei Änderungen im Normalbetrieb,

Mehr

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

Fehlerklassifikation 1. Lokaler Fehler in einer noch nicht festgeschriebenen. Wirkung muss zurückgesetzt werden R1-Recovery Fehlerbehandlung (Recovery) Fehlerklassifikation 1. Lokaler Fehler in einer noch nicht festgeschriebenen (committed) Transaktion Wirkung muss zurückgesetzt werden R1-Recovery Recovery 2. Fehler mit Hauptspeicherverlust

Mehr

Isolationsstufen für Transaktionen. Dr. Karsten Tolle

Isolationsstufen für Transaktionen. Dr. Karsten Tolle Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

In diesem Abschnitt stehen Transaktionen im Mittelpunkt. Hierbei geht es darum, wie bei Mehrbenutzerbetrieb die Integrität von Datenbanken

In diesem Abschnitt stehen Transaktionen im Mittelpunkt. Hierbei geht es darum, wie bei Mehrbenutzerbetrieb die Integrität von Datenbanken In diesem Abschnitt stehen Transaktionen im Mittelpunkt. Hierbei geht es darum, wie bei Mehrbenutzerbetrieb die Integrität von Datenbanken gewährleistet wird. 1 Im einzelnen geht es in diesem Abschnitt

Mehr

9.3 Fehlerbehandlung

9.3 Fehlerbehandlung 9.3 Fehlerbehandlung Schutz vor Beeinträchtigungen durch Fehler des Systems oder eines Benutzers nach Systemzusammensturz innerhalb einer TA inkonsistenter Zustand der DB physische und logische Inkonsistenz

Mehr

Übungen zur Vorlesung. Datenbanken I

Übungen zur Vorlesung. Datenbanken I Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 6 Aufgabe 1: In der Vorlesung haben Sie für die Einbringstrategie Update in Place die Vorgehensweisen steal,

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Datenbankanwendungen (JDBC)

Datenbankanwendungen (JDBC) Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau

Mehr

9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1

9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1 9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1 9.3 Fehlerbehandlung Im realen Betrieb eines Datenbanksystems muss mit Fehlersituationen gerechnet werden. Transaktionsfehler: Hierunter verstehen

Mehr

Vorlesungsinhalt. Recovery. G. Specht: Datenbanksysteme 11-1. Kapitel XI. Vorlesung Datenbanksysteme Univ.-Prof. Dr.

Vorlesungsinhalt. Recovery. G. Specht: Datenbanksysteme 11-1. Kapitel XI. Vorlesung Datenbanksysteme Univ.-Prof. Dr. Recovery Kapitel XI Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Vorlesungsinhalt 11. Recovery Fehler

Mehr

Datenbanken (Bachelor) 30.7302 (SPO2007) WS 2011/12

Datenbanken (Bachelor) 30.7302 (SPO2007) WS 2011/12 Aufgabenstellung: Prof. Dr. Inge Schestag zugelassene Hilfsmittel: 1 beidseitig bedrucktes oder beschriebenes A4-Blatt Bearbeitungszeit: 90 Minuten Note: Name: Matrikelnr. Aufgabe 1 Aufgabe 2 Aufgabe 3

Mehr

9. Wiederherstellung und Datensicherung

9. Wiederherstellung und Datensicherung 9. Wiederherstellung und Datensicherung Einführung in Recovery Recovery-Komponenten eines DBMSs Fehlerklassen Recovery-Klassen und Strategien VL Transaktionsverwaltung 10 1 Einführung in Recovery Datensicherung

Mehr

Beispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion

Beispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion 12. Transaktionen Beispielszenarien Transaktionsbegriff Probleme im Mehrbenutzerbetrieb Serialisierbarkeit Sperrprotokolle zur Synchronisation Isolationsebenen in SQL Platzreservierung für Flüge quasi

Mehr

P.A. Bernstein, V. Hadzilacos, N. Goodman

P.A. Bernstein, V. Hadzilacos, N. Goodman TRANSAKTIONEN UND DATENINTEGRITÄT Concurrency Control and Recovery in Database Systems P.A. Bernstein, V. Hadzilacos, N. Goodman Addison Wesley, 1987. Kapitel 1. und 6. Grundlagen der Datenbanksysteme

Mehr

8. Wiederherstellung und Datensicherheit

8. Wiederherstellung und Datensicherheit 8. Wiederherstellung und Datensicherheit Einführung in Recovery Recovery-Komponenten eines DBMSs Fehlerklassen Recovery-Klassen und Strategien VL Datenbank-Implementierungstechniken 9 1 Einführung in Recovery

Mehr

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

Aufgabe der Recovery-Komponente des Datenbanksystems ist es, nach einem Fehler den jüngsten konsistenten Datenbankzustand wiederherzustellen. Kapitel 14 Recovery Aufgabe der Recovery-Komponente des Datenbanksystems ist es, nach einem Fehler den jüngsten konsistenten Datenbankzustand wiederherzustellen. 14.1 Fehlerklassen Wir unterscheiden drei

Mehr

Teil I Einführung & Grundlagen. 1.1 Was ist eine Transaktion?

Teil I Einführung & Grundlagen. 1.1 Was ist eine Transaktion? Teil I Einführung & Grundlagen Kapitel 1: Einführung in das Transaktionskonzept 1.1 Was ist eine Transaktion? 1.2 Transaktionseigenschaften 1.3 Beispiele Datenbanktransaktionen: Banküberweisung Moderne

Mehr

Transaktionsverwaltung read write read write

Transaktionsverwaltung read write read write Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand von A in die Variable a: read(a,a); 2. Reduziere den Kontostand um 50.- Euro: a:= a 50; 3. Schreibe

Mehr

Wiederanlauf (Recovery)

Wiederanlauf (Recovery) DEVO 8.1 Wiederanlauf (Recovery) DEVO 8.2 Ziele Wiederherstellung eines konsistenten Datenbankzustandes nach einem Fehler. Fehler: Transaktionsabbruch: eine Transaktion muß nach einem logischen Fehler

Mehr

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012 Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch

Mehr

Fehlerbehandlung und Recovery

Fehlerbehandlung und Recovery 1 / 44 Fehlerbehandlung und Recovery VU Datenbanksysteme vom 24.10. 2016 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität

Mehr

Fehlerbehandlung (Recovery)

Fehlerbehandlung (Recovery) Fehlerbehandlung (Recovery) Fehlerbehandlung (Recovery) Fehlerklassifikation Fehlerarten Auswirkung der Speicherhierarchie Protokollierung von Änderungen Wiederanlauf nach Fehler ( Sicherungspunkte) Media-Recovery

Mehr

... T n T 1 T 2 T 3. Transaktions-Manager. Daten-Manager. Recovery-Manager Puffer-Manager. Datenbank

... T n T 1 T 2 T 3. Transaktions-Manager. Daten-Manager. Recovery-Manager Puffer-Manager. Datenbank Techniken der Schedule-Realisierung T 1 T 2 T 3.... T n Isolations-Eigenschaft wird durch den Scheduler sichergestellt. Aufgabe: : Koordination des Ablaufs konkurrierender Transaktionen so, dass deren

Mehr

1. Transaktionskonzept

1. Transaktionskonzept 1. Transaktionskonzept Ein wesentliches Charakteristikum für (relationale) Datenbanksysteme stellt die Unterstützung des Transaktions-Konzepts dar. Transaktionen sind Verarbeitungseinheiten, die vom DBMS

Mehr

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines

Mehr

11. Backup & Recovery. Datenbankadministration

11. Backup & Recovery. Datenbankadministration 11. Backup & Recovery Datenbankadministration Wiederholung Transaktionen TRANSAKTIONEN Kapselung mehrerer Datenbankoperationen ACID-Prinzip - D Dauerhaftigkeit Abschluss mit COMMIT oder ROLLBACK Achtung:

Mehr

Mächtigkeit von 2PL. Geben Sie einen Schedule S an, der. konfliktserialisierbar, jedoch nicht bei Anwendung von 2PL entstehbar. ist.

Mächtigkeit von 2PL. Geben Sie einen Schedule S an, der. konfliktserialisierbar, jedoch nicht bei Anwendung von 2PL entstehbar. ist. 9. Transaktionsverwaltung 9.2. Mehrbenutzerkontrolle Rückblick Rückblick Geben Sie einen Schedule S an, der ist. konfliktserialisierbar, jedoch nicht bei Anwendung von 2PL entstehbar Mächtigkeit von 2PL

Mehr

Serialisierbarkeit von Historien: Minimalanforderung bzgl. "akzeptabler" Synchronisation

Serialisierbarkeit von Historien: Minimalanforderung bzgl. akzeptabler Synchronisation Rücksetzbarkeit Serialisierbarkeit von Historien: Minimalanforderung bzgl. "akzeptabler" Synchronisation von Transaktionen zusätzliche Forderung: lokale Rücksetzbarkeit von Historien, d.h. Jede Transaktion

Mehr

Datenbanksysteme II SS 2010. Übungsblatt 9: Wiederholung

Datenbanksysteme II SS 2010. Übungsblatt 9: Wiederholung Ludwig-Maximilians-Universität München München, 02.07.2010 Department Institut für Informatik PD Dr. Peer Kröger Andreas Züfle Datenbanksysteme II SS 2010 Übungsblatt 9: Wiederholung Besprechung: 20.07.2010

Mehr

Oracle Datenbank - Recovery

Oracle Datenbank - Recovery Oracle Datenbank - Recovery H.-G. Hopf Georg-Simon-Ohm Fachhochschule Nürnberg Datenbank-Recovery / 1 Η. G.Hopf / 10.04.2003 Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery

Mehr

Datenbanksysteme I Transaktionsmanagement. 20.6.2011 Felix Naumann

Datenbanksysteme I Transaktionsmanagement. 20.6.2011 Felix Naumann Datenbanksysteme I Transaktionsmanagement 20.6.2011 Felix Naumann Motivation - Transaktionsmanagement 2 Annahmen bisher Isolation Nur ein Nutzer greift auf die Datenbank zu Lesend Schreibend In Wahrheit:

Mehr

2. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

Mehr

Vorlesung Informationssysteme

Vorlesung Informationssysteme Saarbrücken, 25.06.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung Kapitel 8: Transaktionen und wann sie gebraucht werden Erik Buchmann (buchmann@cs.uni-saarland.de) Foto: M. Strauch

Mehr

Kapitel 8: Transaktionen

Kapitel 8: Transaktionen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Vorlesung: Dr. Peer Kröger Übungen: Karsten

Mehr

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt.

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. OPTIMISTIC CONCURRENCY CONTROL Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. Abbruch einer Transaktion

Mehr

Datenbanksysteme II Recovery. 8.1.2010 Felix Naumann

Datenbanksysteme II Recovery. 8.1.2010 Felix Naumann Datenbanksysteme II Recovery (Kapitel 17) 8.1.2010 Felix Naumann Wdh: Fehlerklassifikation 2 1. Transaktionsfehler Führt zu Transaktionsabbruch Fehler in der Anwendung (division i i by zero) abort Befehl

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

Übung Datenbanksysteme I Transaktionen, Selektivität und XML. Thorsten Papenbrock

Übung Datenbanksysteme I Transaktionen, Selektivität und XML. Thorsten Papenbrock Übung Datenbanksysteme I Transaktionen, Selektivität und XML Thorsten Papenbrock Übersicht: Übungsthemen 2 Transaktionen Selektivität XML Thorsten Papenbrock Übung Datenbanksysteme I JDBC Transaktionen:

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Kapitel 10 Mehrbenutzersynchronisation 381 / 520 Mehrbenutzersynchronisation Alle TAs strikt seriell (also nacheinander) auszuführen ist sicher, aber langsam Oft werden Systemressourcen nicht voll ausgenutzt,

Mehr

Übungen zu Datenbanksysteme

Übungen zu Datenbanksysteme Institut für Informatik Universität Osnabrück, 30.06.2009 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/ dbs Dipl.-Math. Patrick Fox Abgabe bis 06.07.2009, 12:00 Uhr Aufgabe 10.1 (35 Punkte)

Mehr

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung.

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung. Datenmanagement 60 5 Datenschutz und Datensicherheit 5.1 Datenschutz Wer wird hier geschützt? Personen Ein anderer Begriff für Datenschutz ist Zugriffskontrolle. Datenschutz soll sicherstellen, dass alle

Mehr

C. Mohan Recovery und Transaktionen

C. Mohan Recovery und Transaktionen Hauptseminar Database Hall of Fame C. Mohan Recovery und Transaktionen Christopher Lewis 11. Dezember 2001 Inhaltsverzeichnis 1 Einleitung 2 1.1 Zur Person... 2 1.2 Motivation.... 2 2 Überblick ARIES 4

Mehr

KAPITEL 6 TRANSAKTIONSVERWALTUNG UND RECOVERY

KAPITEL 6 TRANSAKTIONSVERWALTUNG UND RECOVERY KAPITEL 6 TRANSAKTIONSVERWALTUNG UND RECOVERY h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 6: Transaktionsverwaltung und Recovery 1 Recovery Transaktionsverwaltung Einordnung in die

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Moderne Datenbanksysteme sind nach der 3-Ebenen-Architektur gebaut: Anwendung 1 Web-Anwendung Anwendung 2 Java-Programm... Anwendung n Applikation

Mehr

Datenbanken und SQL. Kapitel 8. Concurreny und Recovery. Edwin Schicker: Datenbanken und SQL

Datenbanken und SQL. Kapitel 8. Concurreny und Recovery. Edwin Schicker: Datenbanken und SQL Datenbanken und SQL Kapitel 8 Concurreny und Recovery Concurrency und Recovery Transaktionen Recovery Einführung in die Recovery Logdateien Checkpoints Conncurrency Sperrmechanismen Deadlocks SQL-Norm

Mehr

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1 Datenbanksystem System Global Area Hintergrundprozesse Dr. Frank Haney 1 Komponenten des Datenbanksystems System Global Area Program Global Area Hintergrundprozesse Dr. Frank Haney 2 System Global Area

Mehr

Transaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k

Transaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k Transaktionsverwaltung 1. Schnellkurs: Serialisierbarkeit, Isolationslevel, Synchronisationsverfahren, Savepoints, Logging, Implementierungsaspekte! Harder, Rahm Buch 2. Erweiterte Transaktionskonzepte!

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

Prozessarchitektur einer Oracle-Instanz

Prozessarchitektur einer Oracle-Instanz 6. Juni 2008 Inhaltsverzeichnis Oracle Instanz 1 Oracle Instanz 2 3 Redo Log Buffer Shared Pool Java Pool & Large Pool Oracle Instanz Eine Oracle-Instanz ist Hauptbestandteil des Oracle Datenbank Management

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

Kapitel 12 Integrität der Datenbank

Kapitel 12 Integrität der Datenbank Kapitel 12 Integrität der Datenbank 12 Integrität der Datenbank 12 Integrität der Datenbank...1 12.1 Aspekte des Integritätsproblems...3 12.2 Semantische Integrität...4 12.3 Das Konzept der Transaktion...6

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

IT-Kompaktkurs. Datenbanken Skript zur Folge 4. Prof. Dr. Manfred Gruber Fachhochschule München

IT-Kompaktkurs. Datenbanken Skript zur Folge 4. Prof. Dr. Manfred Gruber Fachhochschule München Fachhochschule München Munich University of Applied Sciences IT-Kompaktkurs Skript zur Folge 4 Prof. Dr. Manfred Gruber Fachhochschule München manfred.gruber@informatik.fh-muenchen.de Nov 1, 2000 Transaktions-Konzept,

Mehr

Die Sicht eines Sysadmins auf DB systeme

Die Sicht eines Sysadmins auf DB systeme Die Sicht eines Sysadmins auf DB systeme Robert Meyer 21. Oktober 2016 Robert Meyer Die Sicht eines Sysadmins auf DB systeme 21. Oktober 2016 1 / 20 Inhaltsverzeichnis 1 Einleitung 2 IO unter Linux typische

Mehr

Transaktionen: Wiederholung und Vertiefung

Transaktionen: Wiederholung und Vertiefung Wirtschaftsinformatik II Datenorganisation Datenbanken - Kommunikation Transaktionen: Wiederholung und Vertiefung 7. Datenbankorganisation 7.1. Architektur und Klassifizierung von Datenbanksystemen 7.2

Mehr

11 Anwendungsprogrammierung

11 Anwendungsprogrammierung 11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:

Mehr

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

... 7.3 Fehlerbehandlung. Transaktionsverwaltung. Kapitel 7 T 2 T 3. T n T 1. Transaktions-Manager. Scheduler. Daten-Manager Fehlerbehandlung Transaktionsverwaltung 7.3 Fehlerbehandlung 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 Recovery: Übersicht Bei Auftreten von Fehlersituationen: Transaktionsmanager bricht betroffene

Mehr

Gliederung Datenbanksysteme

Gliederung Datenbanksysteme Gliederung Datenbanksysteme 5. Datenbanksprachen 1. Datendefinitionsbefehle 2. Datenmanipulationsbefehle 3. Grundlagen zu SQL 6. Metadatenverwaltung 7. DB-Architekturen 1. 3-Schema-Modell 2. Verteilte

Mehr