Die Redo-Liste ist eine datenbankinterne Liste von Transaktionen, die initial vom Redo-Log-Manager angelegt wird. Sie befindet sich im Hauptspeicher.
Die Redo-Liste ergänzt die Transaktionsliste. In der Redo-Liste sind diejenigen Transaktionen und die Reihenfolge ihrer Ausführung aufgeführt, die nach dem letzten Savepoint gestartet wurden und bei einem Restart oder einer Wiederherstellung wiederholt werden müssen.
Der Log-Leser ermittelt die Transaktionen, die in die Redo-Liste eingetragen werden müssen, auf folgende Weise:
· Wenn Transaktionen in der Transaktionsliste zum Zeitpunkt des Savepoints als beendet markiert sind, trägt der Log-Leser diese Transaktionen sofort in die Redo-Liste ein.
· Für jede weitere in den Redo-Log-Einträgen gefundene Transaktion legt der Log-Leser eine Redo-Log-Datei an. Wenn ein COMMIT oder ein ROLLBACK für die gesamte Transaktion gefunden wird, trägt der Log-Leser die Transaktion in die Redo-Liste ein. Wenn ein ROLLBACK innerhalb einer Transaktion gefunden wird, entfernt der Log-Leser die entsprechenden Redo-Log-Einträge aus der Redo-Log-Datei, um ein unnötiges Abarbeiten dieser Log-Einträge zu vermeiden.
· Wenn nach dem Lesen aller Redo-Log-Einträge nicht abgeschlossene Transaktionen gefunden werden, dann versieht der Log-Leser diese Transaktionen mit einem ROLLBACK und trägt sie in die Redo-Liste ein. Im weiteren Verlauf werden diese Transaktionen wie ROLLBACK-Transaktionen verarbeitet.