Anfang des Inhaltsbereichs

 Redo-Task 

Redo-Tasks sind aktive Komponenten bei einem Restart oder einer Wiederherstellung. Sie sind Server-Tasks. Die Redo-Tasks führen diejenigen Transaktionen aus, die für den Restart oder die Wiederherstellung wiederholt werden müssen. Hierbei gehen sie wie folgt vor.

COMMIT-Transaktionen

...

      1.      Die Redo-Tasks suchen in der Redo-Liste nach Transaktionen, die mit einem COMMIT abgeschlossen wurden und daher bereit sind, wiedereingelesen zu werden. Die Transaktionen sind in der Redo-Liste nach der Log-Sequenznummer ihres COMMIT sortiert.

      2.      Die Redo-Task beginnt mit der Abarbeitung der Transaktion mit der kleinsten COMMIT-Log-Sequenznummer. Die zu dieser Transaktion gehörende Redo-Log-Datei wird der Reihe nach abgearbeitet. Ein Redo-Log-Eintrag dieser Redo-Log-Datei mit einer höheren Log-Sequenznummer als die kleinste COMMIT-Log-Sequenznummer darf nicht bearbeitet werden. Die Redo-Task wartet in diesem Fall auf das COMMIT der entsprechenden anderen Transaktion. Erst danach kann die Abarbeitung der Redo-Log-Datei durch die Redo-Task fortgesetzt werden. Durch diesen Mechanismus wird die Datenkonsistenz sichergestellt.

      3.      Wenn eine COMMIT-Transaktion komplett bearbeitet wurde, löscht die Redo-Task die Redo-Log-Datei und, wenn es sich um eine OLTP-Instanz handelt, auch die Undo-Log-Datei der Transaktion; bei liveCache-Instanzen wird die Undo-Log-Datei der History-Verwaltung übergeben. Die Transaktion wird aus der Redo-Liste entfernt.

ROLLBACK-Transaktionen

...

      1.      Die Redo-Tasks suchen in der Redo-Liste nach Transaktionen, die mit einem ROLLBACK abgeschlossen wurden.

      2.      Die Redo-Tasks löschen die entsprechenden Redo-Log-Dateien. Dadurch wird ein unnötiges Nachfahren der Transaktionen vermieden.

      3.      Wenn der Beginn einer ROLLBACK-Transaktion vor dem Savepoint lag, wertet die Redo-Task die Undo-Log-Datei der Transaktion aus, um die Transaktion auf den Stand vor dem Savepoint zu bringen. Wenn die ROLLBACK-Transaktion komplett bearbeitet wurde, löscht die Redo-Task die Undo-Log-Datei der Transaktion. Wenn der Beginn einer ROLLBACK-Transaktion nach dem Savepoint lag, bearbeitet die Redo-Task die Transaktion nicht weiter.

Siehe auch:

Beispiel: Restart

Ende des Inhaltsbereichs