SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
www.informatik-aktuell.de
info@ordix.de www.ordix.de
einfach. gut. beraten.
IT-Tage Datenbanken
18.12.2015, Frankfurt
Andreas Jordan
Flashback – Reise in die
Vergangenheit
Warum Oracle Zeitreisen
anbieten kann, der Microsoft
SQL Server aber leider nicht.
 Werbung
 Ein erster Eindruck
 Ablauf einer Transaktion
 Lesekonsistenz
 Flashback
 „Flashback“ mit dem MS SQL Server
Agenda
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 2
Werbung
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 3
 Seit über 20 Jahre in der IT-Branche tätig
 Seit über 12 Jahren als Consultant bei der ORDIX AG
 Microsoft:
 Microsoft Certified Solutions Associate (MCSA): SQL Server 2012
 Microsoft Certified Solutions Expert (MCSE): Data Platform
 Microsoft Certified Trainer (MCT)
 Und darüber hinaus:
 Oracle PL/SQL-Entwicklung und -Optimierung, Datenbankadministration
 Windows, Unix
 VBA, VB.net, Perl, Python, Shell
 Nagios
Andreas Jordan
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 4
 Seit 25 Jahren am Markt mit:
 Beratung
 Entwicklung
 Service
 Training
 Projektmanagement
 Microsoft:
 Silver Data Platform Partner
 5 Standorte
 Paderborn (Zentrale)
 Wiesbaden (Seminarzentrum)
 Münster, Köln, Gersthofen
 120 Mitarbeiter
 15 Mio. € Umsatz
ORDIX AG
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 5
Ein erster Eindruck
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 6
SELECT * FROM mitarbeiter AS OF TIMESTAMP SYSDATE - 1;
Wie sahen die Daten gestern aus?
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 7
Ablauf einer Transaktion
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 8
 Eine Transaktion bedeutet immer „Alles oder Nichts“
 Wichtig dabei: Der Weg zurück muss gesichert werden
 Zu jeder Datenänderung wird also die entgegen gesetzte Anweisung
generiert und gesichert
Den Weg zurück sichern
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 9
Redo-Information:
UPDATE Mitarbeiter
SET Gehalt = 6000
WHERE MaNr = 4711;
Undo-Infomation:
UPDATE Mitarbeiter
SET Gehalt = 5000
WHERE MaNr = 4711;
Mitarbeiter
MaNr Gehalt
0815 3000
1234 8000
4711 5000XXXX 6000
 Nach der Bestätigung des COMMIT verlässt sich der Nutzer auf die
Gültigkeit der Änderungen.
 Da die eigentlichen Daten in den Datendateien erst später aktualisiert werden,
müssen zumindest die Änderungsanweisungen gespeichert sein.
Die Änderungen garantieren
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 10
Redo-Information:
UPDATE Mitarbeiter
SET Gehalt = 6000
WHERE MaNr = 4711;
Undo-Infomation:
UPDATE Mitarbeiter
SET Gehalt = 5000
WHERE MaNr = 4711;
Mitarbeiter
MaNr Gehalt
0815 3000
1234 8000
4711 5000XXXX 6000
 Im Hauptspeicher: Log Buffer / Log Cache
 Relativ kleiner Bereich (wenige MB)
 Enthält die Redo- und die Undo-Informationen als Statements
 Wird in kurzen Intervallen, spätestens beim Commit auf Festplatte gesichert
 Auf der Festplatte im direkten Zugriff: Transaktionsprotokoll
 Kann relativ groß werden (mehrere GB)
 Wird ins Backup übertragen, wenn die Transaktion abgeschlossen ist
 Auf der Festplatte zur Sicherung: Transaktionsprotokoll-Backup
 Zur Wiederherstellung der Datenbank
Die technische Umsetzung
MS SQL Server
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 11
 Im Hauptspeicher: Redo Log Buffer
 Relativ kleiner Bereich (wenige MB)
 Enthält die Redo- und die Undo-Informationen als Statements
 Wird in kurzen Intervallen, spätestens beim Commit auf Festplatte gesichert
 Im Hauptspeicher und auf Festplatte im direkten Zugriff: Undo Tablespace
 Enthält die Datenwerte aus den Undo-Informationen
 Wird auch über das Ende der Transaktion hinaus gespeichert
 Wird (auf Festplatte) auch über den Neustart der Instanz hinaus gespeichert
Die technische Umsetzung
Oracle (I)
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 12
 Auf der Festplatte im rein schreibenden Zugriff: Redo Log Files
 Mindestens zwei Dateien mit einer festen Größe (min. 4 MB)
 Wenn eine Datei voll ist, wird diese abgeschlossen und die andere verwendet
 Abgeschlossene Dateien werden vom Archiver in die Archive Destination kopiert
und zur nächsten Verwendung freigegeben
 Auf der Festplatte zur Sicherung: Archived Redo Log Files
 Zur Wiederherstellung der Datenbank
 Werden regelmäßig aus der Archive Destination auf ein Backup-Medium übertragen
Die technische Umsetzung
Oracle (II)
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 13
 Gemeinsamkeiten
 Drei Ebenen: Hauptspeicher / Festplatte im Zugriff / Festplatte ohne Zugriff
 MS SQL Server
 Undo-Daten werden relativ schnell aus dem Zugriff entfernt (Backup)
 Undo-Daten werden nur zur Absicherung der aktuellen Transaktion genutzt
 Oracle
 Undo-Daten werden (längerfristig und persistent) in eigenem Bereich gespeichert
 Undo-Daten werden auch zur Sicherstellung der Lesekonsistenz genutzt
Die technische Umsetzung
Zusammenfassung
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 14
Lesekonsistenz
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 15
„Die Lesekonsistenz stellt sicher, dass der Datenbankennutzer auch bei
langanhaltenden Transaktionen auf einen konsistenten Datenbankzustand
zugreifen kann.“
http://wikis.gm.fh-koeln.de/wiki_db/Datenbanken/Transaktion,Lesekonsistenz
Lesekonsistenz
Eine Definition
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 16
 Standard: Isolationslevel „Read Committed“
 Ändernde Session erzeugt eine Sperre auf veränderte Datensätze
 Lesende Zugriffe werden durch diese Sperre blockiert
 Alternative: Isolationslevel „Snapshot“ oder „Read Committed Snapshot“
 Versionen von Zeilen werden in tempdb gespeichert
 Benötigt 14 Bytes pro Datensatz
 Lesende Zugriffe werden nicht blockiert sondern nutzen Zeilenversionen
 Wie lange sind die Zeilen-Versionen verfügbar?
 Nur bis zum Neustart der Instanz, da die tempdb beim Start neu erstellt wird
Lesekonsistenz
MS SQL Server
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 17
 Standard: Isolationslevel
„Read Committed“
 Lesende Zugriffe werden nicht
blockiert sondern nutzen
Undo-Informationen
 Vorherige Versionen werden bei
Bedarf erzeugt
 Risiko: Undo-Information ist nicht
mehr verfügbar, Abfrage bricht dann
ab
Lesekonsistenz
Oracle
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 18
Flashback
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 19
 Lesekonsistenz:
 Rekonstruktion von Informationen zum Zeitpunkt des Beginns der Abfrage
 Basis sind die Undo-Informationen aus dem Undo Tablespace
 Flashback Query:
 Rekonstruktion von Informationen zu einem beliebigen Zeitpunkt
 Die benötigten Undo-Informationen müssen allerdings noch vorhanden sein
Flashback Query
Erweiterte Lesekonsistenz
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 20
 UNDO_RETENTION
 Option für das System
 Angabe in Sekunden, wie lange die Undo-Daten mindestens nach Ende der Transaktion
noch vorgehalten werden sollen
 Wird nur für automatisch vergrößernde Undo Tablespaces beachtet und auch nur,
solange MAXSIZE noch nicht erreicht ist
 RETENTION GUARANTEE
 Option für den Undo Tablespace
 Garantiert die Einhaltung der UNDO_RETENTION
 Kann zu Rollbacks von Transaktionen führen, wenn nicht mehr genug Platz
vorhanden ist
Flashback Query
Konfiguration
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 21
 Flashback Query:
 SELECT * FROM mitarbeiter AS OF TIMESTAMP SYSDATE - 1;
 SELECT * FROM mitarbeiter AS OF SCN 12345;
 Flashback Query Versions Between
 SELECT * FROM mitarbeiter VERSIONS BETWEEN … AND …;
 Flashback Table:
 FLASHBACK TABLE mitarbeiter TO …;
 Flashback Table Drop:
 FLASHBACK TABLE mitarbeiter TO BEFORE DROP;
Flashback
Mehr als Flashback-Query (I)
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 22
 Flashback Database:
 FLASHBACK DATABASE TO …
 Point-in-Time-Recovery ohne Backup
 Nutzt die Flash Recovery Area
 Flashback Data Archive:
 Archivierung der Veränderungen an einzelnen Tabellen für längere Zeit
 Flashback Transaction Backout:
 Rollback von Transaktionen
Flashback
Mehr als Flashback-Query (II)
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 23
 Auch andere Datenbankmanagementsysteme haben schöne Features
 „Read Committed“ kann mit unterschiedlichem Sperrverhalten implementiert sein
 Die getrennte und persistente Speicherung der Undo-Daten ist der Schlüssel
zur Zeitreise
 Verwendung von Flashback in Produktionsumgebungen eher selten und fraglich,
aber ideal für Entwicklung und Test
Fazit
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 24
 ORDIX-Schulung „Oracle Datenbankadministration Aufbau“
http://training.ordix.de/siteengine/action/load/nr/61/index.html
 Oracle Doku: Managing Undo
http://docs.oracle.com/cd/E11882_01/server.112/e25494/undo.htm
 Oracle Doku: Using Oracle Flashback Technology
http://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_flashback.htm
Flashback – Wer mehr wissen möchte…
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 25
„Flashback“ mit dem MS SQL Server
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 26
 Auch beim MS SQL Server liegen alle benötigten Informationen vor,
sind aber evtl. nicht mehr im Zugriff.
 Aktives Transaktionsprotokoll
 Gesichertes Transaktionsprotokoll (Backup)
 Nicht angefügte Datenbank (nicht aktive LDF-Datei)
 Hier hilft die Software „ApexSQL Log“:
http://www.apexsql.com/sql_tools_log.aspx
„Flashback“ mit dem MS SQL Server (I)
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 27
„Flashback“ mit dem MS SQL Server (II)
Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 28
Vielen Dank für
Ihre Aufmerksamkeit!
Zentrale Paderborn
Westernmauer 12 - 16
33098 Paderborn
Tel.: 05251 1063-0
Fax: 0180 1 67349 0
Seminarzentrum Wiesbaden
Kreuzberger Ring 13
65205 Wiesbaden
Tel.: 0611 77840-00
info@ordix.de
www.ordix.de
Weitere Geschäftsstellen
in Essen, Gersthofen,
Köln und Münster

Weitere ähnliche Inhalte

Was ist angesagt?

Bacula Workshop - Teil 1
Bacula Workshop - Teil 1Bacula Workshop - Teil 1
Bacula Workshop - Teil 1
inovex GmbH
 
Oracle workshop sessiontracing
Oracle workshop sessiontracingOracle workshop sessiontracing
Oracle workshop sessiontracing
ciganek
 
C1 Adcon Backup For Domino
C1 Adcon Backup For DominoC1 Adcon Backup For Domino
C1 Adcon Backup For Domino
Andreas Schulte
 

Was ist angesagt? (20)

Ldap sqlnet
Ldap sqlnetLdap sqlnet
Ldap sqlnet
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerter
 
Bacula Workshop - Teil 1
Bacula Workshop - Teil 1Bacula Workshop - Teil 1
Bacula Workshop - Teil 1
 
Marek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12c
Marek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12cMarek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12c
Marek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12c
 
Exadata with VM as Consolidation Plattform
Exadata with VM as Consolidation PlattformExadata with VM as Consolidation Plattform
Exadata with VM as Consolidation Plattform
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 
Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und GeschichteCodd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
 
Virtualized Exadata - the first 4 "productive" years...
Virtualized Exadata - the first 4 "productive" years...Virtualized Exadata - the first 4 "productive" years...
Virtualized Exadata - the first 4 "productive" years...
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2
 
Oracle workshop sessiontracing
Oracle workshop sessiontracingOracle workshop sessiontracing
Oracle workshop sessiontracing
 
01 sqlplus
01 sqlplus01 sqlplus
01 sqlplus
 
Solr & Cassandra: Searching Cassandra with DataStax Enterprise
Solr & Cassandra: Searching Cassandra with DataStax EnterpriseSolr & Cassandra: Searching Cassandra with DataStax Enterprise
Solr & Cassandra: Searching Cassandra with DataStax Enterprise
 
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
 
Ausgewählte Performance Technologien
Ausgewählte Performance TechnologienAusgewählte Performance Technologien
Ausgewählte Performance Technologien
 
Neues zur Oracle Lizenzierung - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...
Neues zur Oracle Lizenzierung  - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...Neues zur Oracle Lizenzierung  - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...
Neues zur Oracle Lizenzierung - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...
 
Oracle Engineered Systems - Chance oder Risiko?
Oracle Engineered Systems - Chance oder Risiko?Oracle Engineered Systems - Chance oder Risiko?
Oracle Engineered Systems - Chance oder Risiko?
 
aOS Aachen 2019 - Exchange Server 2019 - Wie macht man es richtig?
aOS Aachen 2019 - Exchange Server 2019 - Wie macht man es richtig?aOS Aachen 2019 - Exchange Server 2019 - Wie macht man es richtig?
aOS Aachen 2019 - Exchange Server 2019 - Wie macht man es richtig?
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und Datensicherung
 
C1 Adcon Backup For Domino
C1 Adcon Backup For DominoC1 Adcon Backup For Domino
C1 Adcon Backup For Domino
 

Ähnlich wie Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten kann, andere Datenbanken aber nicht

Ähnlich wie Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten kann, andere Datenbanken aber nicht (20)

Daos
DaosDaos
Daos
 
Automatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudAutomatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloud
 
Oracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerOracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für Einsteiger
 
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-Architektur
 
Oracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/OOracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/O
 
Überblick Oracle GoldenGate
Überblick Oracle GoldenGateÜberblick Oracle GoldenGate
Überblick Oracle GoldenGate
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicate
 
Oracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für EinsteigerOracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für Einsteiger
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 Wochen
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2
 
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 MinutenOracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
 
Überblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12cÜberblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12c
 
MySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterMySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und Cluster
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point Admins
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Exchange Server 2019 MetaCache Database und BigFunnel
Exchange Server 2019 MetaCache Database und BigFunnelExchange Server 2019 MetaCache Database und BigFunnel
Exchange Server 2019 MetaCache Database und BigFunnel
 

Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten kann, andere Datenbanken aber nicht

  • 2. info@ordix.de www.ordix.de einfach. gut. beraten. IT-Tage Datenbanken 18.12.2015, Frankfurt Andreas Jordan Flashback – Reise in die Vergangenheit Warum Oracle Zeitreisen anbieten kann, der Microsoft SQL Server aber leider nicht.
  • 3.  Werbung  Ein erster Eindruck  Ablauf einer Transaktion  Lesekonsistenz  Flashback  „Flashback“ mit dem MS SQL Server Agenda Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 2
  • 4. Werbung Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 3
  • 5.  Seit über 20 Jahre in der IT-Branche tätig  Seit über 12 Jahren als Consultant bei der ORDIX AG  Microsoft:  Microsoft Certified Solutions Associate (MCSA): SQL Server 2012  Microsoft Certified Solutions Expert (MCSE): Data Platform  Microsoft Certified Trainer (MCT)  Und darüber hinaus:  Oracle PL/SQL-Entwicklung und -Optimierung, Datenbankadministration  Windows, Unix  VBA, VB.net, Perl, Python, Shell  Nagios Andreas Jordan Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 4
  • 6.  Seit 25 Jahren am Markt mit:  Beratung  Entwicklung  Service  Training  Projektmanagement  Microsoft:  Silver Data Platform Partner  5 Standorte  Paderborn (Zentrale)  Wiesbaden (Seminarzentrum)  Münster, Köln, Gersthofen  120 Mitarbeiter  15 Mio. € Umsatz ORDIX AG Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 5
  • 7. Ein erster Eindruck Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 6
  • 8. SELECT * FROM mitarbeiter AS OF TIMESTAMP SYSDATE - 1; Wie sahen die Daten gestern aus? Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 7
  • 9. Ablauf einer Transaktion Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 8
  • 10.  Eine Transaktion bedeutet immer „Alles oder Nichts“  Wichtig dabei: Der Weg zurück muss gesichert werden  Zu jeder Datenänderung wird also die entgegen gesetzte Anweisung generiert und gesichert Den Weg zurück sichern Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 9 Redo-Information: UPDATE Mitarbeiter SET Gehalt = 6000 WHERE MaNr = 4711; Undo-Infomation: UPDATE Mitarbeiter SET Gehalt = 5000 WHERE MaNr = 4711; Mitarbeiter MaNr Gehalt 0815 3000 1234 8000 4711 5000XXXX 6000
  • 11.  Nach der Bestätigung des COMMIT verlässt sich der Nutzer auf die Gültigkeit der Änderungen.  Da die eigentlichen Daten in den Datendateien erst später aktualisiert werden, müssen zumindest die Änderungsanweisungen gespeichert sein. Die Änderungen garantieren Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 10 Redo-Information: UPDATE Mitarbeiter SET Gehalt = 6000 WHERE MaNr = 4711; Undo-Infomation: UPDATE Mitarbeiter SET Gehalt = 5000 WHERE MaNr = 4711; Mitarbeiter MaNr Gehalt 0815 3000 1234 8000 4711 5000XXXX 6000
  • 12.  Im Hauptspeicher: Log Buffer / Log Cache  Relativ kleiner Bereich (wenige MB)  Enthält die Redo- und die Undo-Informationen als Statements  Wird in kurzen Intervallen, spätestens beim Commit auf Festplatte gesichert  Auf der Festplatte im direkten Zugriff: Transaktionsprotokoll  Kann relativ groß werden (mehrere GB)  Wird ins Backup übertragen, wenn die Transaktion abgeschlossen ist  Auf der Festplatte zur Sicherung: Transaktionsprotokoll-Backup  Zur Wiederherstellung der Datenbank Die technische Umsetzung MS SQL Server Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 11
  • 13.  Im Hauptspeicher: Redo Log Buffer  Relativ kleiner Bereich (wenige MB)  Enthält die Redo- und die Undo-Informationen als Statements  Wird in kurzen Intervallen, spätestens beim Commit auf Festplatte gesichert  Im Hauptspeicher und auf Festplatte im direkten Zugriff: Undo Tablespace  Enthält die Datenwerte aus den Undo-Informationen  Wird auch über das Ende der Transaktion hinaus gespeichert  Wird (auf Festplatte) auch über den Neustart der Instanz hinaus gespeichert Die technische Umsetzung Oracle (I) Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 12
  • 14.  Auf der Festplatte im rein schreibenden Zugriff: Redo Log Files  Mindestens zwei Dateien mit einer festen Größe (min. 4 MB)  Wenn eine Datei voll ist, wird diese abgeschlossen und die andere verwendet  Abgeschlossene Dateien werden vom Archiver in die Archive Destination kopiert und zur nächsten Verwendung freigegeben  Auf der Festplatte zur Sicherung: Archived Redo Log Files  Zur Wiederherstellung der Datenbank  Werden regelmäßig aus der Archive Destination auf ein Backup-Medium übertragen Die technische Umsetzung Oracle (II) Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 13
  • 15.  Gemeinsamkeiten  Drei Ebenen: Hauptspeicher / Festplatte im Zugriff / Festplatte ohne Zugriff  MS SQL Server  Undo-Daten werden relativ schnell aus dem Zugriff entfernt (Backup)  Undo-Daten werden nur zur Absicherung der aktuellen Transaktion genutzt  Oracle  Undo-Daten werden (längerfristig und persistent) in eigenem Bereich gespeichert  Undo-Daten werden auch zur Sicherstellung der Lesekonsistenz genutzt Die technische Umsetzung Zusammenfassung Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 14
  • 16. Lesekonsistenz Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 15
  • 17. „Die Lesekonsistenz stellt sicher, dass der Datenbankennutzer auch bei langanhaltenden Transaktionen auf einen konsistenten Datenbankzustand zugreifen kann.“ http://wikis.gm.fh-koeln.de/wiki_db/Datenbanken/Transaktion,Lesekonsistenz Lesekonsistenz Eine Definition Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 16
  • 18.  Standard: Isolationslevel „Read Committed“  Ändernde Session erzeugt eine Sperre auf veränderte Datensätze  Lesende Zugriffe werden durch diese Sperre blockiert  Alternative: Isolationslevel „Snapshot“ oder „Read Committed Snapshot“  Versionen von Zeilen werden in tempdb gespeichert  Benötigt 14 Bytes pro Datensatz  Lesende Zugriffe werden nicht blockiert sondern nutzen Zeilenversionen  Wie lange sind die Zeilen-Versionen verfügbar?  Nur bis zum Neustart der Instanz, da die tempdb beim Start neu erstellt wird Lesekonsistenz MS SQL Server Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 17
  • 19.  Standard: Isolationslevel „Read Committed“  Lesende Zugriffe werden nicht blockiert sondern nutzen Undo-Informationen  Vorherige Versionen werden bei Bedarf erzeugt  Risiko: Undo-Information ist nicht mehr verfügbar, Abfrage bricht dann ab Lesekonsistenz Oracle Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 18
  • 20. Flashback Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 19
  • 21.  Lesekonsistenz:  Rekonstruktion von Informationen zum Zeitpunkt des Beginns der Abfrage  Basis sind die Undo-Informationen aus dem Undo Tablespace  Flashback Query:  Rekonstruktion von Informationen zu einem beliebigen Zeitpunkt  Die benötigten Undo-Informationen müssen allerdings noch vorhanden sein Flashback Query Erweiterte Lesekonsistenz Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 20
  • 22.  UNDO_RETENTION  Option für das System  Angabe in Sekunden, wie lange die Undo-Daten mindestens nach Ende der Transaktion noch vorgehalten werden sollen  Wird nur für automatisch vergrößernde Undo Tablespaces beachtet und auch nur, solange MAXSIZE noch nicht erreicht ist  RETENTION GUARANTEE  Option für den Undo Tablespace  Garantiert die Einhaltung der UNDO_RETENTION  Kann zu Rollbacks von Transaktionen führen, wenn nicht mehr genug Platz vorhanden ist Flashback Query Konfiguration Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 21
  • 23.  Flashback Query:  SELECT * FROM mitarbeiter AS OF TIMESTAMP SYSDATE - 1;  SELECT * FROM mitarbeiter AS OF SCN 12345;  Flashback Query Versions Between  SELECT * FROM mitarbeiter VERSIONS BETWEEN … AND …;  Flashback Table:  FLASHBACK TABLE mitarbeiter TO …;  Flashback Table Drop:  FLASHBACK TABLE mitarbeiter TO BEFORE DROP; Flashback Mehr als Flashback-Query (I) Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 22
  • 24.  Flashback Database:  FLASHBACK DATABASE TO …  Point-in-Time-Recovery ohne Backup  Nutzt die Flash Recovery Area  Flashback Data Archive:  Archivierung der Veränderungen an einzelnen Tabellen für längere Zeit  Flashback Transaction Backout:  Rollback von Transaktionen Flashback Mehr als Flashback-Query (II) Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 23
  • 25.  Auch andere Datenbankmanagementsysteme haben schöne Features  „Read Committed“ kann mit unterschiedlichem Sperrverhalten implementiert sein  Die getrennte und persistente Speicherung der Undo-Daten ist der Schlüssel zur Zeitreise  Verwendung von Flashback in Produktionsumgebungen eher selten und fraglich, aber ideal für Entwicklung und Test Fazit Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 24
  • 26.  ORDIX-Schulung „Oracle Datenbankadministration Aufbau“ http://training.ordix.de/siteengine/action/load/nr/61/index.html  Oracle Doku: Managing Undo http://docs.oracle.com/cd/E11882_01/server.112/e25494/undo.htm  Oracle Doku: Using Oracle Flashback Technology http://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_flashback.htm Flashback – Wer mehr wissen möchte… Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 25
  • 27. „Flashback“ mit dem MS SQL Server Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 26
  • 28.  Auch beim MS SQL Server liegen alle benötigten Informationen vor, sind aber evtl. nicht mehr im Zugriff.  Aktives Transaktionsprotokoll  Gesichertes Transaktionsprotokoll (Backup)  Nicht angefügte Datenbank (nicht aktive LDF-Datei)  Hier hilft die Software „ApexSQL Log“: http://www.apexsql.com/sql_tools_log.aspx „Flashback“ mit dem MS SQL Server (I) Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 27
  • 29. „Flashback“ mit dem MS SQL Server (II) Flashback – Reise in die Vergangenheit, Andreas Jordan, ORDIX AG 28
  • 30. Vielen Dank für Ihre Aufmerksamkeit! Zentrale Paderborn Westernmauer 12 - 16 33098 Paderborn Tel.: 05251 1063-0 Fax: 0180 1 67349 0 Seminarzentrum Wiesbaden Kreuzberger Ring 13 65205 Wiesbaden Tel.: 0611 77840-00 info@ordix.de www.ordix.de Weitere Geschäftsstellen in Essen, Gersthofen, Köln und Münster