Řekněme, že máte nedokončenou (nepotvrzenou) transakci. Společnost Oracle provedla všechny věci, které jste uvedli v otázce.
Nyní stroj havaruje.
DBA po obnově počítače (nebo na novém počítači, záleží :)) obnoví poslední zálohu a použije všechny redo logs na nové instanci. V opakování je také to, co bylo provedeno v kroku 1. Ale tato práce není zavázána, takže ji motor musí vrátit zpět. K tomu potřebuje rollback segment. Segment vrácení zde ale nebude, pokud jste jej nepřihlásili v kroku 3.
Vím, že se teď zeptáte:proč používá protokoly pro nezávaznou práci? To byla také moje otázka, když jsem o tom četl. Nevím to jistě, ale možná je to jednodušší. Možná je těžší zkontrolovat u každého záznamu protokolu, že je součástí potvrzené transakce. Oracle však funguje takto:použiji všechny redo logs a poté vrátím zpět nepotvrzené transakce.