Undo Tablespace statt Blockaden Blick in die Vergangenheit. Thomas Klughardt Senior System Consultant

Ähnliche Dokumente
Oracle Datenbank Architektur nicht nur für Einsteiger. Martin Klier Klug GmbH integrierte Systeme, Teunz

Oracle Datenbank Architektur - nicht nur für Einsteiger

Redo Logs. Informationen soweit der Logminer reicht Thomas Klughardt Senior Systems Consultant

Tablespaces und Datendateien


Undo und Redo - altbekannte Grundlagen?

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Flashback mal sieben. DOAG Konferenz , Nürnberg. Klaus Reimers

Verwendung und Einsatzmöglichkeiten des Flashback-Query

Eigenschaften von TAs: ACID-Prinzip

Oracle Flashback. in der Praxis Dr. Frank Haney 1

Datenbanksysteme. Transaktionen. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen

Naxtron GmbH Schlosstalstrasse Winterthur. Subject. New Features Oracle 9i Architecture

Oracle Datenbank Architektur nicht nur für Einsteiger. Martin Klier Klug GmbH integrierte Systeme, Teunz

Transaktionen in Praxis. Dr. Karsten Tolle Vorl

Isolationsstufen für Transaktionen. Dr. Karsten Tolle

Kurs. Teil 7 UNDO-Management. Universität Hannover. Agenda. Einführung. Nutzung RBS Oracle 9i Einführung Performance Tuning.

Oracle Backup und Recovery

Oracle Database 12c Was Sie immer schon über Indexe wissen wollten

Oracle Core für Einsteiger: Datenbank I/O

7. Transaktionsverwaltung

Tag 4 Inhaltsverzeichnis

Oracle Core für Einsteiger - Cloud ist auch nur ein Computer

Erfahrungen aus dem Betatest Oracle Database 11g

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

Oracle Flashback DOAG K onferenz Nürnberg 2009 Marco P atzwahl Patzwahl

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

Tag 4 Inhaltsverzeichnis

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS Transaktionen & ACID. Dr. Christian Senger Transaktionen & ACID 1

Flashback Früher war alles besser Marion Mahr Daniel Schulz Flashback Früher war alles besser

Oracle Backup und Recovery mit RMAN

Oracle 9i Einführung Performance Tuning

Die InnoDB Storage Engine. Handy aus?

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

Oracle Datenbank - Recovery

Oracle Backup und Recovery mit RMAN

Alles neu. Migration in eine frische Datenbank ohne Altlasten. Thomas Klughardt Senior Systems Consultant

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Zünde den Turbo-Boost! (LOB-Migration beschleunigt)

<Insert Picture Here> Überblick Oracle Recovery Manager

Tablespaces und Datendateien

Oracle 11g Release 2: Änderungen unter der Haube. Dierk Lenz DOAG 2011 Konferenz und Ausstellung 16. November 2011

Technische Background Info und Trivadis Scripts

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

Datenzugriffskomponente mit JPA 2.1

Hochverfügbarkeit - wie geht das?

Datenbanken und Oracle, Teil 2

Atos - For internal use

Agenda. FRA Was ist das? Warum sollte die FRA genutzt werden? FRA INIT Paramter Verzeichnisstruktur (Beispiel) Überwachung der Flash Recovery Area

Übung PL/SQL Trigger Lösungen

Asynchrone Replikation Projekt oder Produkt. Lukas Grützmacher (AIS Automation Dresden GmbH)

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

ORACLE PROZESSARCHITEKTUR J O N N Y R I L L I C H

PostgreSQL und memcached

Oracle 9i Einführung. Performance Tuning. Kurs. Teil 8 Indizes. Universität Hannover. Installation. Index-Typen. Anhang.

Übersicht der wichtigsten MySQL-Befehle

Oracle 10g Flashback. Andrea Held

6. Updates in SQL 6-1. Inhalt. 1. Update-Kommandos in SQL. 2. Transaktionen. 3. Gleichzeitige Zugriffe

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

Online Table Shrink. Freigabe von ungenutztem Speicherplatz. Autor: Ralf Durben, ORACLE Deutschland GmbH

Streams Internals. Jaroslav Dutov. dbtotal.de Jaroslav Dutov. von.

Oracle 10g Flashback. Andrea Held Business Management Systeme Deutsche Post ITSolutions. Deutsche Post ITSolutions GmbH

Oracle Database Vault Beispiele zur Benutzung

Die Idee der Recovery Area: Sie enthält bei Beschädiging der Database Area alles, was für ein erfolgreiches Recovery gebraucht wird

Die Sicht eines Sysadmins auf DB systeme

Datenhistorisierung mit Oracle Flashback und Data Guard

Oracle Developer Monthly Datenbank-Update für Anwendungsentwickler

Oracle 10g Einführung

Transaktionen in der Praxis. Dr. Karsten Tolle

Oracle ACFS / CloudFS zuverlässig nutzbar?

Praktische SQL-Befehle

Optimierung der Datenbankstruktur einer Web-Anwendung zur Analyse von Fertigungsprozessen

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

Oracle GoldenGate Die Replikation beginnt mit Initial-Load! DOAG Konferenz Nürnberg 16. November 2011

PostgreSQL im praktischen Einsatz. Stefan Schumacher

7 DCL (Data Control Language)

Donnerstag, 10. November h00, Musensaal Database. LogMiner im Einsatz. Marco Patzwahl MuniQSoft GmbH, Unterhaching b.

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

Oracle Automatic Storage Management (ASM) Best Practices

Oracle Datenbank Architektur - nicht nur für Einsteiger

Historisierung und Versionierung

Oracle 9i Einführung Performance Tuning

Understanding InnoDB

Performance für Oracle Anwendungen nicht nur für Oracle 11g

Oracle 11g Release 2: Änderungen unter der Haube. Dierk Lenz DOAG 2011 Konferenz und Ausstellung 16. November 2011

Datenbankspiegelung mit (Active) Data Guard. und Abgrenzung

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Active Data Guard. Susanne Jahr. Dezember 2008

IT-Symposium 2004 Experten im Dialog

Backup & Recovery in Oracle 11g Funktionen und Features

A.7 Oracle Real Application Clusters

<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.

5.8 Bibliotheken für PostgreSQL

Einstellungen zur Verwendung von Flashback-Abfragen

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

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

Oracle Datenbankadministration Grundlagen

Oracle Virtual Private Database

Transkript:

Undo Tablespace statt Blockaden Blick in die Vergangenheit Thomas Klughardt Senior System Consultant

Atomicity, Consistency und Isolation

Das ACID Modell Transaktionen in Oracle Datenbanken arbeiten ACID Konform. ACID steht für Atomar, Consistent, Isolated und Durable. Das bedeutet: Transkationen werden ganz oder gar nicht durchgeführt. Die Daten sind zueinander stets konsistent. Andere Sessions sehen Änderungen erst, nachdem die gesamte Transaktion abgeschlossen ist. Wenn die Transaktion abgeschlossen ist, sind die Daten dauerhaft gespeichert. Das ist gar nicht so einfach

Das Oracle Transaktionsmodell Viele Datenbanken arbeiten mit Lesesperren. Wird ein Datensatz geändert, darf er von anderen Sessions nicht gelesen werden. Erst das Ende einer Transaktion hebt die Lesesperre auf. Oft werden die Daten auch erst dann endgültig geschrieben. Eigenschaften bei Oracle Multiversion Consistency Optimistisches Commit Verhalten meist erfolgt ein Commit. Änderungen werden sofort an die endgültige Stelle geschrieben. Konsistente Abfragen Wenn wir eine Abfrage zum Zeitpunkt x starten, bekommen wir auch die Daten zum Zeitpunkt x. Keine Sperren für Änderungen während des Lesens Während eine Abfrage läuft dürfen die zugrunde liegenden Daten geändert werden. Trotzdem ist das Ergebnis konsistent zum Startzeitpunkt der Abfrage.

Wie macht Oracle das? Wie macht Oracle das? Wird ein Wert geändert, wird das sogenannte Before Image gespeichert. Der Wert selbst wird ersetzt. Oracle weiß, wann welche Daten geändert wurden und wann eine Abfrage anfängt. Eindeutige globale Sequenz System Chance Number (SCN) Falls nötig liest die Abfrage das Before Image und nicht den aktuellen Wert. Oracle wird dadurch zu einer hoch-performanten Datenbank. Gerade im Multisession Betrieb skaliert Oracle besonders gut. Keine Locking Probleme für Anwendungen. Auch im Hochlastbetrieb konsistente Abfrageergebnisse.

Das Dirty Read Feature Manche Datenbanken erlauben Dirty Reads. Daten wie sie jetzt im Moment sind. Also auch: Nicht commitete Änderungen Später commitete Änderungen Dirty Reads verletzen das I in ACID (Isolation). Abfrageergebnisse sind inkonsistent. Master- und Detailtabellen passen nicht zusammen. Dirty Reads lesen aktuelle Daten Bei kompletter Denormalisierung nicht so schlimm Obwohl neuere Zeilen überlesen werden können. Wenn Dirty Reads benötigt werden, braucht man dann eine relationale Datenbank?

Before Images

Was ist ein Before Image? Vorher Abbild eines Datensatzes Die Undo Daten Liegt in einem Undo Segment Ringpuffer, wird periodisch überschrieben Benötigt für: Rollbacks Konsistentes Lesen Flashback Feature UND UPDATES und DELETES! Quelle: Oracle Dokumentation: Concepts and Architecture Guide

Was passiert beim Lesen? Erinnerung: SCN globale Sequenz System Chance Number (SCN) Jede Transaktion bekommt eine SCN Blöcke kennen ihre Version Es kann mehrere Blöcke mit verschiedenen Versionen geben. Oracle sucht den aktuellsten Block Im Cache Wenn die SCN zu groß ist wird auf Undo Daten zugegriffen. Quelle: Oracle Dokumentation: Concepts and Architecture Guide

Historie Rollback Segmente Wurden früher (bis 9i) in Rollback Segmenten gespeichert. Rollback Segmente mussten von Hand angelegt, gesized und gelöscht werden. Transaktionen benutzten ihre Rollback Segmente. Best Practice: Große Rollback Segmente für Anwendungen mit großen Transaktionen. Kleine Rollback Segmente für Anwendungen mit kleinen Transaktionen. Rollback Segmente auf zur IO Verteilung verschiedene Platten. Nicht wirklich zeitgemäß, oft problematisch Stripe and Mirror Everything (SAME) erlaubt keine gezielte IO Verteilung. ORA-01555: Snapshot too old

Historie Undo Tablespace Mit 9i wurde alles besser, auch wenn es viele erst mit 10g merkten: Undo Tablespace und automatisches Undo Management Mit 9i eingeführt Mit 10g Standard Multipurpose Datenbank Welcher DBA kennt schon jede Anwendung bis ins Detail? Oracle kann sich um das Undo Management kümmern. Bei Striping und Mirroring keine merklichen Nachteile. Dafür viele Vorteile

Undo Tablespace

Historie Undo Tablespace Before Images liegen jetzt im Undo Tablespace. Natürlich wichtige Komponente alles geht durch den Undo Tablespace Jede Änderung schreibt Es wird viel daraus gelesen Viel IO Last Nicht sehr granular -> alles geht durch den/die Undo Tablespace(s) Hat sich in der Praxis aber sehr bewährt.

Undo Tablespace Mehrere Undo Tablespaces möglich Wird über Instanzparameter gesteuert Interessant für Oracle RAC Datenbanken Initialization Parameter UNDO_MANAGEMENT UNDO_TABLESPACE Description If AUTO or null, enables automatic undo management. If MANUAL, sets manual undo management mode. The default is AUTO. Optional, and valid only in automatic undo management mode. Specifies the name of an undo tablespace. Use only when the database has multiple undo tablespaces and you want to direct the database instance to use a particular undo tablespace.

Historie Undo Tablespace Before Images liegen jetzt im Undo Tablespace. Natürlich wichtige Komponente alles geht durch den Undo Tablespace Jede Änderung schreibt Es wird viel daraus gelesen Viel IO Last Nicht sehr granular -> alles geht durch den/die Undo Tablespace(s) Hat sich in der Praxis aber sehr bewährt.

Konfiguration für den Undo Tablespace Er sollte definitiv nicht zu klein sein! Wie lange sollen Daten vorgehalten werden? undo_retention Müssen die Daten tatsächlich so lange vorgehalten werden? retention_guarantee Vorsicht! Ist Retention Guarantee gesetzt, dürfen die benötigten Undo Daten nicht vor der Retention überschrieben werden! Die Datenbank wartet in dem Fall, bis die Retention abgelaufen ist!

Konfiguration für den Undo Tablespace retention_guarantee setzen wir also besser nicht Trotzdem sollten die Undo Daten ausreichend lange bereitstehen. undo_retention ruhig großzügig setzen Entsprechend groß muss der Undo Tablespace sein. Es kann sinnvoll sein, mehrere Undo Tablespaces zu haben. Z.B Oracle Real Application Cluster Oft ergeben sich ungeplante Anforderungen. dpexport... FULL=y FLASHBACK_SCN=<SCN> SELECT * FROM a,b,c,d,e,f,g,h WHERE...;

Flashback

Was geht noch außer konsistenten Àbfragen? Die Undo Segmente enthalten die Vorher Abbilder. Und sie kennen ihren genauen Zeitpunkt. Abfragen gegen die Daten aus der Vergangenheit! Wichtig: Wie lange werden die Daten in der Vergangenheit vorgehalten? undo_retention Undo Tablespace Größe

Flashback Flashback Query SELECT... AS OF <SCN/TIMESTAMP>...; SELECT * FROM "BIN$TDHqmJRKR5u+Hrg6PGD2kw==$0"; Flashback Table FLASHBACK TABLE... TO <SCN/TIMESTAMP>...; FLASHBACK TABLE... TO BEFORE DROP; Einfacher Weg, von User Fehlern zu recovern. Besonders stark in Kombination mit dem LogMiner.

Flashback statt Recovery nach User Fehlern

Flashback Verschiedene Anwendungsfälle: Vergleich Jetzt zu Vorher Auditing Vorsicht, Undo Daten werden irgendwann überschrieben. Troubleshooting Was hat sich geändert? Viele mehr Übrigens: Flashback Database ist ein anderer Mechanismus. Nutzt die Flashback Logs

Takeaways

Zum Mitnehmen Die Oracle Datenbank hat sehr ausgefeilte Transaktionsmechanismen. Es lohnt sich, sich tiefer damit zu beschäftigen. Planung, Konzeption und Troubleshooting sind dann einfacher. Viele Weitere Informationen in der Oracle Dokumentation besonders im Concepts and Architecture Guide Wenn Sie uns besuchen möchten: Dell Software Stand Dritter Stock vor Raum Tokyo.