Oracle 10g - ein Blick ins Eingemachte

06.12.2004
Von Christian Antognini
Highlights für Profis (III)



Flashback Database: Wird die Datenbank im Flashback-Modus betrieben, kopiert ein neuer Hintergrundprozess in regelmäßigen Abständen die Before Images von geänderten Blöcken in einen speziellen Plattenbereich (Flash Recovery Area). Will man die Datenbank auf einen bestimmten Zeitpunkt zurücksetzen, werden die entsprechenden Block Images aus der Flash Recovery Area geholt und mit Hilfe der Redo Logs aktiviert.

Ein besserer Ansatz wäre es, die Datenbank mit Hilfe der Redo Logs zurückzusetzen. Dies kann Oracle aber nicht, man denke nur an Kommandos wie Truncate Table. Dennoch hat Oracle das Zurücksetzen mit einem neuen Feature implementiert, allerdings nicht auf Basis der Redo Logs. Falls die Datenbank im so genannten Flashback-Modus betrieben wird (ALTER DATABASE FLASHBACK ON im Mount-Status), kopiert ein neuer Hintergrundprozess (RVWR) in regelmäßigen Abständen die "Before Images" von geänderten Blöcken in einen speziellen Bereich auf der Platte, die "Flash Recovery Area". Will man nun den Inhalt der Datenbank zu einem vergangenen Zeitpunkt wiederherstellen, so werden die entsprechend älteren Block-Images der geänderten Blöcke aus dieser Flash Recovery Area zurückgeholt und mit Hilfe der Redo Logs auf den gewünschten Zeitpunkt zurückgesetzt, die Datenbank muss also im Archivelog-Modus betrieben werden. Wie weit man mit dieser Methode zurückgehen kann, wird über einen Instanzparameter (DB_FLASHBACK_RETENTION_TARGET) bestimmt.