FlashbackFrüher war alles besserMarion MahrSenior ConsultantDaniel SchulzSolution ArchitectOPITZ CONSULTING GmbHMünchen, 1...
Mission                                                 MärkteWir entwickeln gemeinsam mit allen                       Br...
Agenda1.   Einleitung2.   Flashback Query3.   Flashback Table4.   Flashback Drop (Recycle Bin)5.   Flashback Database6.   ...
1   Einleitung         Flashback – Früher war alles besser   © OPITZ CONSULTING GmbH 2012   Seite 4
Warum die Vergangenheit ansehen?Gesetzliche Vorgaben (Sarbanes Oxley oder Basel-II)Typische Fehler   Update mit falscher ...
Der klassische Ansatz nach Fehlern Zeitpunkt ermitteln, falls nicht bekannt (z. B Logminer) Point-In-Time-Recovery der D...
Flashback hilftViele typische Fehlerszenarien können ohne Recovery gelöst   werden!Vereinfachte Ermittlung des Fehlerzeitp...
Flashback in Versionen und Editionen In Standard Edition:   Seit 9i: Flashback (Version) Query   Ab 10g: Flashback Drop...
Terminologie Flashback Query  Tabelleninhalt zu früherem Zeitpunkt ansehen Flashback Drop  Gelöschte Tabelle wiederherst...
2   Flashback Query        Flashback – Früher war alles besser   © OPITZ CONSULTING GmbH 2012   Seite 11
Flashback Query fürAntworten auf folgende Fragen Wie sahen die Daten heute morgen aus? Welche Veränderungen sind heute m...
Flashback Version/Transaktion/Query aktivieren Automatic Undo Management muss verwendet werden   UNDO_MANAGEMENT = AUTO...
Flashback (Version) Query SCN kann ebenfalls verwendet werden!           Flashback – Früher war alles besser   © OPITZ CO...
Beispiel Benutzer Meier meldet, Abteilung 50 ist „verschwunden“. Er ist sehr aufgebracht und möchte wissen, was passiert...
Flashback Query Beispiel         Flashback – Früher war alles besser   © OPITZ CONSULTING GmbH 2012   Seite 16
Flashback Version Query Beispiel         Flashback – Früher war alles besser   © OPITZ CONSULTING GmbH 2012   Seite 17
Wer war es denn nun? Verbinden der Transaktion mit Anwender:           Flashback – Früher war alles besser   © OPITZ CONS...
UNDO SQL für mehrere Transaktionen         Flashback – Früher war alles besser   © OPITZ CONSULTING GmbH 2012   Seite 20
Flashback Version Backout Neu in 11g, Integriert zusätzlich den Logminer Benötigt Supplemental Log Data      ALTER DATAB...
3   Flashback Table        Flashback – Früher war alles besser   © OPITZ CONSULTING GmbH 2012   Seite 22
Flashback Table Tabelleninhalt wird zu einem bestimmten Zeitpunkt  wiederhergestellt Basiert auf UNDO Informationen Row...
Einschränkungen Flashback Table Keine Systemtabellen Nicht über DDL Anweisungen auf der Tabelle hinweg Nicht über SHRIN...
4   Flashback Drop (Recycle Bin)        Flashback – Früher war alles besser   © OPITZ CONSULTING GmbH 2012   Seite 25
Flashback Drop (Recycle Bin) Ab 10g Objekte werden nicht sofort komplett aus dem System  entfernt Gelöschte Objekte wer...
Recycle Bin anzeigen         Flashback – Früher war alles besser   © OPITZ CONSULTING GmbH 2012   Seite 27
Objekte aus Recycle Bin zurückholen Tabelle wiederherstellen (inkl. abhängige Objekte)            Flashback – Früher war ...
Recycle Bin leeren Recycle Bin leeren Löschen ohne Recycle Bin            Flashback – Früher war alles besser   © OPITZ ...
Einschränkungen Recycle Bin Bei Platzmangel werden die Objekte dem Alter nach aus  dem Recycle Bin gelöscht   dann erst ...
Flashback Database5   Die Rückspultaste für die DB        Flashback – Früher war alles besser   © OPITZ CONSULTING GmbH 20...
Flashback Database (I) Während des Normalbetriebs werden bei Änderungen  Block-Images in die Flashback Logs kopiert Zeit...
Flashback Database (II) Das Ergebnis entspricht dem klassischen Point-In-Time-  Recovery FLASHBACK DATABASE auch im RMAN...
Flashback Database aktivieren Flash Recovery Area einrichten      DB_RECOVERY_FILE_DEST_SIZE      DB_RECOVERY_FILE_DEST ...
Flashback DatabaseFLASHBACK DATABASE TO(SCN|TIMESTAMP) | RESETLOGS | RESTORE POINTBeispiel           Flashback – Früher wa...
Einschränkungen Flashback Database Flashback Database ist nicht möglich, wenn:     Ein Tablespace gelöscht worden ist  ...
Flashback Data Archive6   Total Recall        Flashback – Früher war alles besser   © OPITZ CONSULTING GmbH 2012   Seite 38
Flashback Data Archive: Was ist das? Kostenpflichtige Option der 11g Enterprise Edition Flashback Queries über UNDO_RETE...
Architektur Flashback Data Archive                                                                  Quelle: Oracle        ...
Einrichtung Flashback Data Archive (I) Einrichtung eines Tablespaces mit ASSM Erstellung eines FLASHBACK ARCHIVE Bereich...
Einschränkungen bei Flashback Data Archive Bis inkl. 11.1:    Kein DROP/TRUNCATE auf diese Tabelle    Nur Spalten hinzu...
Fazit Flashback Allgemein Leider ist vieles nur in der Enterprise Edition verfügbar Je nach benötigtem Zeitfenster erheb...
Flashback – Früher war alles besser   © OPITZ CONSULTING GmbH 2012   Seite 44
Ansprechpartner bei OPITZ CONSULTINGDaniel Schulz, Solution ArchitectOPITZ CONSULTING Gummersbach GmbHdaniel.schulz@opitz-...
Upcoming SlideShare
Loading in...5
×

Flashback - früher war alles besser – Einsatzmöglichkeiten der Oracle Database Features

2,089

Published on

http://www.opitz-consulting.com/go/3-6-876

Zeitreisen sind nicht nur Fiktion und spannende Kinounterhaltung. Beginnend mit Version 9i und seitdem kontinuierlich weiterentwickelt bietet die Oracle Datenbank sogenannte Flashback Funktionalitäten, um Datenstände zu einem früheren Zeitpunkt abzufragen oder die Datenbank ganz oder teilweise auf einen älteren Stand zurückzusetzen. Auch die Analyse von Datenänderungen bis hin zu einzelnen Transaktionen ist möglich.

In einem Webinar am 14.09.2012 stellte Marion Mahr im Auftrag der Deutschen Oracle Anwendergruppe e.V. (DOAG) die verschiedenen Flashback-Funktionalitäten im Einzelnen vor und präsentierte deren Anwendungsmöglichkeiten. Auch die zugrundeliegenden Techniken erläuterte die Referentin, denn trotz des gemeinsamen "Flashback" im Namen sind hier im Hintergrund technisch sehr unterschiedliche Komponenten der Datenbank involviert.

Marion Mahr ist Senior Consultant unserer IT-Beratung und gestaltete diese Slides gemeinsam mit unserem Solution Architect Daniel Schulz.


--
Über uns:

Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.

Über unsere IT-Beratung: http://www.opitz-consulting.com/go/3-8-10
Unser Leistungsangebot: http://www.opitz-consulting.com/go/3-8-874
Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com/go/3-8-5

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,089
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Flashback - früher war alles besser – Einsatzmöglichkeiten der Oracle Database Features

  1. 1. FlashbackFrüher war alles besserMarion MahrSenior ConsultantDaniel SchulzSolution ArchitectOPITZ CONSULTING GmbHMünchen, 14.09.2012 Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 1
  2. 2. Mission MärkteWir entwickeln gemeinsam mit allen  BranchenübergreifendBranchen Lösungen, die dazu führen, dass  Über 600 Kundensich diese Organisationen besser entwickeln 29%als ihr Wettbewerb. 29% Handel / Logistik / Dienstleistungen Industrie / Versorger /Unsere Dienstleistung erfolgt Telekommunikationpartnerschaftlich und ist auf eine langjährige 42%Zusammenarbeit angelegt. Öffentliche Auftraggeber / Banken und Versicherungen / Vereine und VerbändeLeistungsangebot Eckdaten Business IT Alignment  Gründung 1990 Business Information Management  400 Mitarbeiter Business Process Management  8 Standorte Anwendungsentwicklung SOA und System-Integration IT-Infrastruktur-Management Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 2
  3. 3. Agenda1. Einleitung2. Flashback Query3. Flashback Table4. Flashback Drop (Recycle Bin)5. Flashback Database6. Flashback Data Archive (Total Recall) Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 3
  4. 4. 1 Einleitung Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 4
  5. 5. Warum die Vergangenheit ansehen?Gesetzliche Vorgaben (Sarbanes Oxley oder Basel-II)Typische Fehler  Update mit falscher oder ohne(!) WHERE-Klausel  Tabelle gelöscht oder mit TRUNCATE geleert  Benutzer gelöscht Recoverybedarf entsteht überwiegend durch menschliche Fehler Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 5
  6. 6. Der klassische Ansatz nach Fehlern Zeitpunkt ermitteln, falls nicht bekannt (z. B Logminer) Point-In-Time-Recovery der Datenbank bis kurz vor den Fehler Sehr langwierig bei großen Datenbanken Wenn Zeitpunkt überschritten wird, muss der Vorgang wiederholt werden Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 6
  7. 7. Flashback hilftViele typische Fehlerszenarien können ohne Recovery gelöst werden!Vereinfachte Ermittlung des FehlerzeitpunktesVerschiedene Funktionalitäten, um gelöschte Daten wiederherzustellen oder ältere Versionen zu betrachtenZurückschreiben auf Datenbank-, Tabellen- und TransaktionsebeneSchneller als klassisches Point-In-Time-Recovery Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 8
  8. 8. Flashback in Versionen und Editionen In Standard Edition:  Seit 9i: Flashback (Version) Query  Ab 10g: Flashback Drop (Recycle Bin) Nur Enterprise Edition:  Ab 10g:  Flashback Table  Flashback Database  Flashback Transaction Query  Neu in 11g:  Flashback Transaction Backout  Flashback Data Archive – kostenpflichtige Option! Trotz des gemeinsamen Namens sind hier unterschiedliche Techniken in Verwendung! Die Flash Recovery Area hat auch nur bedingt damit zu tun! Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 9
  9. 9. Terminologie Flashback Query Tabelleninhalt zu früherem Zeitpunkt ansehen Flashback Drop Gelöschte Tabelle wiederherstellen Flashback Table Tabelleninhalt zu einem bestimmten Zeitpunkt wiederherstellen Flashback Database Point-In-Time-Recovery „rückwärts“ Flashback Transaction (Backout) Bestimmte Transaktion rückgängig machen Flashback Data Archive Historisierung von Änderungen über Jahre Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 10
  10. 10. 2 Flashback Query Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 11
  11. 11. Flashback Query fürAntworten auf folgende Fragen Wie sahen die Daten heute morgen aus? Welche Veränderungen sind heute morgen passiert? Wann genau wurde das falsche SQL ausgeführt? Wie können die Änderungen rückgängig gemacht werden? Wie kam es überhaupt zu diesem Fehler?Verfahren: Auslesen des UNDO-Inhaltes Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 12
  12. 12. Flashback Version/Transaktion/Query aktivieren Automatic Undo Management muss verwendet werden  UNDO_MANAGEMENT = AUTO UNDO Retention anpassen  Voreinstellung sind 900 sek (= 15 min) Bei Abfragen über diese Zeit hinaus kann es zum Fehler ORA-30052 kommen Bei akutem Platzmangel werden auch vor Ablauf der UNDO Retention die ältesten Daten über abgeschlossene Transaktionen überschrieben Bei Bedarf UNDO auf Retention Guarantee stellen  Achtung: ist UNDO TBS zu klein, blockiert die Instanz wie bei Archiver Stuck! Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 13
  13. 13. Flashback (Version) Query SCN kann ebenfalls verwendet werden! Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 14
  14. 14. Beispiel Benutzer Meier meldet, Abteilung 50 ist „verschwunden“. Er ist sehr aufgebracht und möchte wissen, was passiert ist. Morgens um 7 Uhr war noch alles in Ordnung. Wieso ist die Datenbank jetzt defekt? Kann doch nicht sein! Unprofessionelle DBAs! Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 15
  15. 15. Flashback Query Beispiel Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 16
  16. 16. Flashback Version Query Beispiel Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 17
  17. 17. Wer war es denn nun? Verbinden der Transaktion mit Anwender: Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 19
  18. 18. UNDO SQL für mehrere Transaktionen Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 20
  19. 19. Flashback Version Backout Neu in 11g, Integriert zusätzlich den Logminer Benötigt Supplemental Log Data ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY)COLUMNS; ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY)COLUMNS; (11.2) dbms_flashback.transaction_blackout.. Kann Abhängigkeiten behandeln, z.B. UPDATE auf einer zuvor eingefügte Zeile (WAW – Write after Write):  Default: Nur konfliktfreie Transaktionen zurücknehmen  NOCASCADE FORCE: Nur diese eine Transaktion, auch wenn es Abhängigkeiten gibt  CASCADE: Alle abhängigen Transaktionen zurückrollen Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 21
  20. 20. 3 Flashback Table Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 22
  21. 21. Flashback Table Tabelleninhalt wird zu einem bestimmten Zeitpunkt wiederhergestellt Basiert auf UNDO Informationen Row Movement muss aktiviert sein Zugehörige Tabellen haben exklusives DML Lock während der Ausführung Abhängige Tabellen können gleichzeitig behandelt werden Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 23
  22. 22. Einschränkungen Flashback Table Keine Systemtabellen Nicht über DDL Anweisungen auf der Tabelle hinweg Nicht über SHRINK hinweg Statistiken werden nicht zurückgesetzt! Zwischenzeitlich gelöschte Indizes werden nicht wiederhergestellt Werden Constraints verletzt, so bricht das Flashback ab Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 24
  23. 23. 4 Flashback Drop (Recycle Bin) Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 25
  24. 24. Flashback Drop (Recycle Bin) Ab 10g Objekte werden nicht sofort komplett aus dem System entfernt Gelöschte Objekte werden nur im Data Dictionary umbenannt (BIN$...) – nicht verschoben Ist als Voreinstellung aktiv, deaktivieren durch: SELECT weiterhin möglich, wenn der neue Tabellenname angegeben wird: Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 26
  25. 25. Recycle Bin anzeigen Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 27
  26. 26. Objekte aus Recycle Bin zurückholen Tabelle wiederherstellen (inkl. abhängige Objekte) Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 28
  27. 27. Recycle Bin leeren Recycle Bin leeren Löschen ohne Recycle Bin Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 29
  28. 28. Einschränkungen Recycle Bin Bei Platzmangel werden die Objekte dem Alter nach aus dem Recycle Bin gelöscht  dann erst autoextend wenn aktiv Größe und Vorhaltezeit nur durch freien Platz im Tablespace bestimmt  keine Garantie möglich Nicht möglich für System Tablespace Objekte im Recycle Bin nur lesbar Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 30
  29. 29. Flashback Database5 Die Rückspultaste für die DB Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 31
  30. 30. Flashback Database (I) Während des Normalbetriebs werden bei Änderungen Block-Images in die Flashback Logs kopiert Zeitbedarf für Flashback hängt nur vom Umfang der unerwünschten Änderungen ab Nur geänderte Blöcke werden aus der Flashback Area in umgekehrter Reihenfolge zurückkopiert Gesamtgröße der DB hat keinen Einfluss! Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 32
  31. 31. Flashback Database (II) Das Ergebnis entspricht dem klassischen Point-In-Time- Recovery FLASHBACK DATABASE auch im RMAN möglich Ideal für Softwaretests, um immer wieder schnell auf einen definierten Zustand zurückzugehen Nutzung bei Standbydatenbanken nach Failover Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 33
  32. 32. Flashback Database aktivieren Flash Recovery Area einrichten DB_RECOVERY_FILE_DEST_SIZE DB_RECOVERY_FILE_DEST DB muss im ARCHIVELOG Modus sein DB_FLASHBACK_RETENTION_TARGET Parameter bestimmt die Vorhaltezeit – Keine Garantie! Im Mount Status: ALTER DATABASE FLASHBACK ON; Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 34
  33. 33. Flashback DatabaseFLASHBACK DATABASE TO(SCN|TIMESTAMP) | RESETLOGS | RESTORE POINTBeispiel Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 36
  34. 34. Einschränkungen Flashback Database Flashback Database ist nicht möglich, wenn:  Ein Tablespace gelöscht worden ist  Eine Datendatei verkleinert worden ist  Die Controlfiles neu erstellt worden sind  Die Flashback Logs nicht mehr vorhanden sind Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 37
  35. 35. Flashback Data Archive6 Total Recall Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 38
  36. 36. Flashback Data Archive: Was ist das? Kostenpflichtige Option der 11g Enterprise Edition Flashback Queries über UNDO_RETENTION hinaus Langer Flashback Zeitraum mit wenig Platzbedarf, da auf Tabellenebene definiert Historisierte Daten werden als komprimierte Partitionen verwaltet Veränderungen werden auch über Jahre nachverfolgbar (betriebliche oder gesetzliche Anforderungen) Eigene Protokollierung über Trigger nicht mehr erforderlich Historische Daten werden nach der vorgegebenen Zeit automatisch entfernt Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 39
  37. 37. Architektur Flashback Data Archive Quelle: Oracle Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 40
  38. 38. Einrichtung Flashback Data Archive (I) Einrichtung eines Tablespaces mit ASSM Erstellung eines FLASHBACK ARCHIVE Bereichs CREATE FLASHBACK ARCHIVE LONGARC TABLESPACE LANGZEIT RETENTION 5 YEAR; -- MONTH|DAY Optional ALTER FLASHBACK ARCHIVE longarc DEFAULT; Tabelle zu FLASHBACK ARCHIVE hinzufügen: ALTER TABLE meinetabelle FLASHBACK ARCHIVE longarc; Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 41
  39. 39. Einschränkungen bei Flashback Data Archive Bis inkl. 11.1:  Kein DROP/TRUNCATE auf diese Tabelle  Nur Spalten hinzufügen möglich Ab 11.2 möglich:  RENAME/DROP/TRUNCATE dieser Tabelle  DROP/TRUNCATE Partition  ADD/DROP/RENAME/MODIFY Column Nicht möglich bei LONG Spalten, Nested Table Spalten, external/clustered/temporary Tabellen Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 42
  40. 40. Fazit Flashback Allgemein Leider ist vieles nur in der Enterprise Edition verfügbar Je nach benötigtem Zeitfenster erheblicher Platzbedarf für UNDO, Flash Recovery Area oder FBDA Tablespace Die Flashback „Familie“ bekommt mit jeder Version Zuwachs Interessante Erweiterung des DBA Werkzeugkastens Befehlssyntax relativ einfach Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 43
  41. 41. Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 44
  42. 42. Ansprechpartner bei OPITZ CONSULTINGDaniel Schulz, Solution ArchitectOPITZ CONSULTING Gummersbach GmbHdaniel.schulz@opitz-consulting.comTelefon +49 2261 6001 0Mobil +49 173 7252413Marion Mahr, Senior ConsultantOPITZ CONSULTING München GmbHmarion.mahr@opitz-consulting.deTelefon +49 89 680098 0Mobil +49 173 5549630 Flashback – Früher war alles besser © OPITZ CONSULTING GmbH 2012 Seite 45

×