Undo-Log-Einträge werden von liveCache-Datenbankinstanzen dafür verwendet, dass mehrere Transaktionen gleichzeitig auf denselben Datensatz zugreifen und ihn konsistent lesen können, ohne dass der Datensatz für eine der Transaktionen gesperrt werden muss.
...
1. Transaktion T1 liest in einer Tabelle den Datensatz 4711 zum ersten Mal. Transaktion T1 sperrt den Datensatz nicht.
2. Transaktion T2 ändert den Datensatz 4711 und wird mit einem COMMIT beendet.
3. Transaktion T1 liest erneut den Datensatz 4711.
4. Transaktion T1 prüft in der History-Datei, ob seit dem ersten Lesen eine andere Transaktion den Datensatz 4711 geändert hat.
Falls ja, greift Transaktion T1 auf die Undo-Log-Einträge der Transaktion T2 zurück, um für das zweite Lesen dasselbe Ergebnis wie für das erste Lesen zu erhalten. Ohne Undo-Log-Einträge würde Transaktion T1 für das erste und zweite Lesen von Datensatz 4711 unterschiedliche Ergebnisse erhalten.
5. Erst wenn Transaktion T1 mit einem COMMIT beendet wird, löschen die Garbage-Collectoren die Undo-Log-Einträge von Transaktion T2.
Nur liveCache-Datenbankinstanzen können auf diese Weise ungesperrt konsistent lesen. Bei OLTP-Instanzen müsste der Datensatz 4711 so lange gesperrt werden, bis Transaktion T1 beendet ist. Dies ist über eine entsprechende Wahl des Isolation-Level möglich.