News zu Oracle

DBA Tipp: Mit Oracle Flashback in die Ver­gan­gen­heit springen

Oracle bietet in seinen Da­ten­bank­pro­duk­ten das Feature Flashback an. Mittels Flashback ist es möglich, einzelne Daten in der Datenbank oder die komplette Datenbank zu einem früheren Zeitpunkt wie­der­her­zu­stel­len. Dabei werden die Daten durch logische Ope­ra­tio­nen wie­der­her­ge­stellt, wie bei­spiels­wei­se durch Zu­rück­rol­len von Transaktionen.

In diesem DBA Tipp be­schäf­ti­gen wir uns mit den Vor­aus­set­zun­gen für die Nutzung von Oracle Flashback und stellen dir die ver­schie­de­nen Varianten sowie deren Ein­satz­ge­bie­te vor. 

Logo Oracle Database

Vor­aus­set­zun­gen für die Nutzung von Oracle Flashback

Vor­aus­set­zung für die Nutzung der Flashback-Tech­no­lo­gie ist ein großer Undo-Ta­b­le­space, um hin­rei­chend viele Daten für Flash­back­ope­ra­tio­nen zur Verfügung zu stellen. Da die benötigte Größe des Undo-Ta­b­le­spaces sehr stark von den Än­de­run­gen in der Datenbank abhängt, bietet sich hier das Auto Extend für den Ta­b­le­space an. Die Retention Guarantee stellt dabei sicher, dass die Undo-Daten aus­rei­chend lange im Undo-Ta­b­le­space vor­ge­hal­ten werden.

Flashback-Varianten und ihre Einsatzgebiete

1. Flashback Query

Mit Flashback Query werden alle Daten zu einem spe­zi­fi­schen Zeitpunkt abgefragt. Es werden hier keine Da­ten­än­de­run­gen durch­ge­führt. Flashback Query ist auf der ge­öff­ne­ten Datenbank (online) durch­führ­bar und bereits in der Standard Edition 2 enthalten.

2. Flashback Tran­sac­tion Query*

Für die Diagnose von durch User oder An­wen­dun­gen ver­ur­sach­ten logischen Fehlern eignet sich die Flashback Tran­sac­tion Query. Innerhalb eines be­stimm­ten Zeitraums durch­ge­führ­te Trans­ak­tio­nen und da­zu­ge­hö­ri­ge Metadaten können mittels Flashback Tran­sac­tion Query abgefragt und aus­ge­ge­ben werden.

3. Flashback Version Query

Mit der Flashback Version Query können ver­schie­de­ne Versionen einer Zeile innerhalb eines vor­ge­ge­be­nen Zeitraums aus­ge­ge­ben werden. Dabei werden u.a. die Start- und End-SCN, die Start- und Endzeit für die Gül­tig­keit dieser Version, sowie die jeweilig durch­ge­führ­ten Ope­ra­tio­nen (Insert, Update, Delete) aus­ge­ge­ben, die zu der Version dieser Zeile führten.

4. Flashback Transaction*

Mit Flashback Tran­sac­tion ist es möglich, einzelne Trans­ak­tio­nen zu­rück­zu­rol­len, so dass Daten, die durch State­ments in dieser Trans­ak­ti­on geändert wurden, an­schlie­ßend wieder im ur­sprüng­li­chen Zustand vorliegen. Diese Variante führt DML-State­ments aus bzw. rollt diese zurück.

5. Flashback Table – gelöschte Tabelle wiederherstellen*

Um eine gelöschte Tabelle wie­der­her­zu­stel­len, muss sich diese noch im ‘Recycle Bin’ befinden. Der Undo-Ta­b­le­space wird hierfür nicht benötigt und die Operation kann online durch­ge­führt werden. Wurde die gelöschte Tabelle aus dem ‘Recycle Bin’ gelöscht, lässt sie sich nur noch durch ein Flashback Database oder mittels Point-in-Time-Recovery wie­der­her­stel­len. Beides würde jedoch die komplette Datenbank verändern und auf einen früheren Zeitpunkt zurücksetzen.

6. Flashback Table – Tabelle zum früheren Zeitpunkt wiederherstellen*

Um Daten einer Tabelle mittels Flashback zu einem früheren Zeitpunkt wie­der­her­stel­len zu können, müssen die ent­spre­chen­den Daten noch im Undo-Ta­b­le­space vorhanden sein. Zudem dürfen zwischen dem ge­wünsch­ten Wie­der­her­stel­lungs­zeit­punkt und dem aktuellen Zeitpunkt keine DDL State­ments aus­ge­führt worden sein, die die Struktur der Tabelle geändert haben. Ein Flashback Table wird ab­ge­bro­chen, wenn während der Flashback Operation Cons­traints der Tabelle verletzt werden. Die Tabelle wird in diesem Fall nicht geändert. Die Operation ist online durch­führ­bar, läßt sich jedoch nicht auf System-Tabellen anwenden.

7. Flashback Database*

Mit Flashback Database kann die Datenbank zeitlich in einen früheren Zustand versetzt werden, ver­gleich­bar mit dem Zu­rück­spu­len eines Tonbands. Ein Restore aus dem Backup und ein Point-in-Time-Recovery führt zwar zum selben Ergebnis, braucht aber in den meisten Fällen mehr Zeit.

Für ein Flashback Database werden die so­ge­nann­ten Flashback Logs benötigt, die in der Fast Recovery Area abgelegt werden. Zu­sätz­lich kann ein Flashback Retention Target fest­ge­legt werden, dass das obere Limit in Minuten festlegt, wie weit das Flashback Database maximal zu­rück­ge­hen kann. Vor­aus­set­zung hierfür ist hin­rei­chend viel Platz in der Fast Recovery Area, um die Menge an Flashback Logs vorhalten zu können.

Wird ein Datenfile nach dem Ak­ti­vie­ren des Flashback Database gelöscht, kann es mittels Flashback Database nicht wie­der­her­ge­stellt werden. Für Flashback Database muss die Datenbank im Exclusive Mode sein.

8. Flashback Time Travel (vorher: Flashback Data Archive)

Daten über einen langen Zeitraum zu ar­chi­vie­ren und dabei jede Änderung mit­zu­ver­fol­gen, fällt in den Bereich des Flashback Time Travel, früher Flashback Data Archive genannt. Dabei werden Än­de­run­gen an ent­spre­chend be­rück­sich­tig­ten Tabellen ‘getrackt’ und im Flashback Archive abgelegt. Mit den Flashback Queries können dann die Daten zu jedem be­lie­bi­gen Zeitpunkt in der Ver­gan­gen­heit – soweit er in die Retention Policy des Flashback Archive fällt – abgefragt werden. Daten die außerhalb der Retention Policy liegen, werden au­to­ma­tisch gelöscht.

Basic Flashback Time Travel steht bereits in der Standard Edition 2 zur Verfügung. Op­ti­miza­ti­on for Flashback Time Travel benötigt die Oracle Advanced Com­pres­si­on Option und steht daher nur in der En­ter­pri­se Version zur Verfügung.

* Für die Nutzung ist die En­ter­pri­se Edition nötig.

Fazit

Flashback bietet viele Mög­lich­kei­ten, logisch verlorene Daten wie­der­her­zu­stel­len oder alte Daten anzusehen und zu ver­glei­chen. Mit Ausnahme von Flashback Query und Flashback Time Travel (als Basic Variante) stehen jedoch alle Flashback Varianten erst in der En­ter­pri­se Edition zur Verfügung. Vor­aus­ge­setzt, es ist hin­rei­chend Spei­cher­platz verfügbar, steht dann bei passender Kon­fi­gu­ra­ti­on einem Sprung in die Ver­gan­gen­heit nichts mehr im Weg.

Hier findest du weitere Infos rund um Oracle aus unserem News & Insights Bereich.

icon-arrow_right_medium-violet-blue.svg

Share this article

Facebook 
Twitter 
LinkedIn 
XING 
WhatsApp 
Email