|
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.