Transaktionsverwaltung



Ähnliche Dokumente
Transaktionsverwaltung

Transaktionsverwaltung

Kapitel 2 Transaktionsverwaltung

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

Datenbanken: Backup und Recovery

SQL (Structured Query Language) Schemata Datentypen

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

Übungen zur Vorlesung. Datenbanken I

Tag 4 Inhaltsverzeichnis

Prozessarchitektur einer Oracle-Instanz

Datenbanken Konsistenz und Mehrnutzerbetrieb III

View. Arbeiten mit den Sichten:

Unterabfragen (Subqueries)

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Wiederherstellung (Recovery)

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

Oracle APEX Installer

3. Stored Procedures und PL/SQL

Gesicherte Prozeduren

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

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

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

Datenbanksysteme 1. Organisation. Prof. Stefan F. Keller. Ausgabe Copyright 2005 HSR SS 2005

Oracle Datenbank - Recovery

Archiv - Berechtigungen

Internet Explorer Version 6

How to do? Projekte - Zeiterfassung

Datenbanksysteme II SS Übungsblatt 9: Wiederholung

Reporting Services und SharePoint 2010 Teil 1

Benutzerkonto unter Windows 2000

Powermanager Server- Client- Installation

Datenbanken: Transaktionskonzept und Concurrency Control

Datenintegrität und Transaktionskonzept

Eine Anwendung mit InstantRails 1.7

OP-LOG

Die Grundbegriffe Die Daten Die Informationen

WS 2002/03. Prof. Dr. Rainer Manthey. Institut für Informatik III Universität Bonn. Informationssysteme. Kapitel 1. Informationssysteme

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

7. Transaktionsverwaltung

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Das Starten von Adami Vista CRM

Restore Exchange Server 2007 SP2

Tag 4 Inhaltsverzeichnis

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Backup der Progress Datenbank

Übersicht über Datenbanken

Benutzerverwaltung Business- & Company-Paket

RIGGTEK. Dissolution Test Systems. DissoPrep Browser-Interface

Recovery- und Buffermanager

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

9 Transaktionskonzept

Windows Server 2012 R2 Essentials & Hyper-V

Themen. M. Duffner: Datenbanksysteme

Benachrichtigungsmöglichkeiten in SMC 2.6

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Kostenstellen verwalten. Tipps & Tricks

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

MySQL Installation. AnPr

Normfall 7. Kurzanleitung. Installation von Normfall Manager 7 (Handbuch-Auszug) 2014 Normfall GmbH Alle Rechte vorbehalten.

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

Datenbanksysteme II Architektur und Implementierung von Datenbanksystemen

Adminer: Installationsanleitung

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Windows 7 - Whoami. Whoami liefert Informationen wie z.b. die SID, Anmelde-ID eines Users, sowie Gruppenzuordnungen, Berechtigungen und Attribute.

Wie können Sie eine Client Lizenz wieder freigeben?

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

Anleitung. Update EBV 5.0 EBV Mehrplatz nach Andockprozess

DER BESSER INFORMIERTE GEWINNT!

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Anleitung Jahreswechsel

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional)

Upgrade-Leitfaden. Apparo Fast Edit 1 / 7

teischl.com Software Design & Services e.u. office@teischl.com

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

Umstieg auf Microsoft Exchange in der Fakultät 02

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

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

Avira Management Console Optimierung für großes Netzwerk. Kurzanleitung

Lokale Installation von DotNetNuke 4 ohne IIS

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

GSM: Airgap Update. Inhalt. Einleitung

SharePoint Demonstration

Beheben von verlorenen Verknüpfungen

Installation SQL- Server 2012 Single Node

Transkript:

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

Transaktionsverwaltung Architektur eines DBMS Transaktionen: Anforderungen und Eigenschaften

Architektur eines DBMS Softwarekomponenten der Transaktionsverwaltung Mehrbenutzersynchronisation Fehlerbehandlung

Architektur eines DBMS Web Forms Application Front Ends SQL Interface SQL COMMANDS Plan Executor Parser Query Evaluation Operator Evaluator Optimizer Engine Transaction Manager Lock Manager Files and Access Methods Buffer Manager Disk Space Manager Recovery Manager Concurrency Control Index Files System Catalog DBMS Data Files DATABASE

Architektur eines DBMS Web Forms Application Front Ends SQL Interface SQL COMMANDS Plan Executor Parser Query Evaluation Operator Evaluator Optimizer Engine Transaction Manager Lock Manager Files and Access Methods Buffer Manager Disk Space Manager Recovery Manager Concurrency Control Index Files System Catalog DBMS Data Files DATABASE

Concurrency Control Transaction Manager: Steuert die Abarbeitung der Transaktionen. Lock Manager: Verwaltet die Sperranforderungen auf Datenbankobjekte (Tupel, Seite,... ). Erfüllt Sperranforderungen für Datenbankobjekte, sobald diese verfügbar sind.

Recovery Manager Im laufenden Betrieb: Verwaltung des log files Beim Wiederanlauf nach einem Systemausfall: Redo aller Operationen von erfolgreich abgeschlossenen Transaktionen Undo aller Operationen von nicht abgeschlossenen Transaktionen

Transaktionen Anforderungen und Eigenschaften

Transaktionsverwaltung Beispiel Typische Transaktion in einer Bankanwendung: 1. Lese den Kontostand von A in die Variable a: read(a,a); 2. Reduziere den Kontostand um 50 e: 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 e: b := b + 50; 6. Schreibe den neuen Kontostand in die Datenbasis: write(b,b);

Anforderungen an Transaktionen Definition Eine Transaktion ist eine Zusammenfassung von Datenbankoperationen, die ohne Beeinflussung durch andere Benutzer (andere Transaktionen) als Einheit fehlerfrei ausgeführt werden sollen. Transaktionskonzept ist Grundlage für Mehrbenutzersynchronisation: Nebenläufigkeit ist notwendig wegen Performance. Diese Nebenläufigkeit darf aber nicht unkontrolliert ablaufen. Fehlertoleranz des DBMS: Für jede Transaktion gilt alles oder nichts. Wenn eine Transaktion erfolgreich beendet wurde, dürfen die Änderungen auch bei Systemfehlern nicht verloren gehen.

Operationen auf Transaktionsebene Auf jeden Fall verfügbare Operationen: begin of transaction (BOT) kennzeichnet den Beginn einer Transaktion und wird vor der ersten read/write-operation einer Transaktion ausgeführt. commit leitet die erfolgreiche Beendigung einer Transaktion ein. abort leitet den Abbruch einer Transaktion ein. Dabei muss die DB wieder in den Zustand zurückgesetzt werden, der vor Beginn der Transaktionsausführung existierte.

Operationen auf Transaktionsebene Zusätzliche Operationen: define savepoint: Definition eines Rücksetzpunktes, auf den sich die (noch aktive) Transaktion zurücksetzen lässt. Ein vollständiger Abbruch der Transaktion mittels abort ist aber immer noch möglich. rollback to savepoint: Zurücksetzen der aktiven Transaktion auf einen Rücksetzpunkt. Je nach Funktionalität des DBMS ist nur das Zurücksetzen zum zuletzt angelegten oder auch zu einem früheren Rücksetzpunkt möglich.

Abschluss einer Transaktion Für den Abschluss einer Transaktion gibt es zwei Möglichkeiten: 1. den erfolgreichen Abschluss durch ein commit, und 2. den erfolglosen Abschluss durch ein abort: entweder vom User initiiert mittels rollback Befehl, oder vom DBMS initiiert aufgrund eines Fehlers.

Transaktionseigenschaften ACID Atomicity (Atomarität) Transaktion ist kleinste, nicht weiter zerlegbare Einheit alles oder nichts Consistency Eine Transaktion führt die DB von einem konsistenten Zustand in einen konsistenten Zustand über. D.h. am Ende einer Transaktion müssen alle Konsistenzbedingungen laut Datenbankschema erfüllt sein. Isolation Nebenläufige Transaktionen dürfen sich nicht beeinflussen Durability Änderungen erfolgreicher Transaktionen dürfen nicht mehr verloren gehen (auch bei HW/SW-Systemfehlern)

Atomicity and Durability Absturz T 1 T 2 t 1 t 2 t 3 Zeitachse Transaktion T 1 : Sie muss in der DB auch nach dem Wiederanlauf des Systems vorhanden sein. Transaktion T 2 : Sämtliche Datenbankänderungen durch T 2 müssen nach dem Wiederanlauf aus der DB entfernt sein.

Transaktionsverwaltung in SQL begin of transaction begin [ work transaction ] Kommando oder BOT implizit bei der ersten Anweisung Befehl commit work (oder einfach commit): Die in der Transaktion vollzogenen Änderungen werden, sofern keine Konsistenzverletzung oder andere Probleme aufgedeckt werden, festgeschrieben. Befehl rollback work (oder einfach rollback): Alle Änderungen dieser Transaktion werden zurückgesetzt. DBMS muss die erfolgreiche Ausführung eines rollback Befehls immer garantieren können (anders als commit).

Transaktionsverwaltung in SQL savepoint sp name: definiert einen Rücksetzpunkt mit dem Namen sp name innerhalb der laufenden Transaktion. Damit ist ein Rücksetzen zu diesem Punkt möglich (ohne die ganze Transaktion zurückzurollen) Savepoints sollte man sparsam einsetzen. Es ist besser, lange Transaktionen in kleinere Transaktionen zu zerlegen. rollback to sp name: Macht alle Datenbankänderungen innerhalb dieser Transaktion seit dem Savepoint sp name rückgängig.

Transaktionsverwaltung in SQL Beispiel INSERT INTO Vorlesungen VALUES (5275, Kernphysik, 3, 2141) INSERT INTO Professoren VALUES (2141, Meitner, C4, 205) COMMIT WORK

Implizites Transaktionsende Implizites commit Nach jedem DML Kommando, falls AUTOCOMMIT ON (Standard in PostgreSQL) Bei DDL Kommandos (z.b. CREATE TABLE,... ) und DCL Kommandos (z.b. GRANT,... ) (Standard in Oracle) Implizites rollback: Bei Systemabsturz, bei Verbindungsabbruch, etc. Guter Stil: (Wenn möglich) Transaktionen explizit mittels commit bzw. mittels rollback beenden.