To restore or restart the database instance after a system failure, the database system first analyzes the log information.
...
1. The redo log manager starts the log reader.
2. The log reader reads the transaction file that the database system saved at the last savepoint and uses it to regenerate the transaction list.
3. For transactions that were started after the last savepoint, the log reader gets the redo log entries and writes them from the log area to a redo log file in the data area.
4. The redo log reader determines which transactions need to be redone and enters them as follows in the list of transactions to be redone (Redo List):
¡ If a transaction in the transaction list was marked as completed at the time of the savepoint, the log reader enters that transaction immediately in the redo list.
¡ For each additional transaction that is found in the redo log entries, the log reader creates a redo log file. If it finds a COMMIT or a ROLLBACK for the entire transaction, it enters the transaction in the redo list. If it finds a ROLLBACK within a transaction, it removes the corresponding redo log entries from the redo log file to prevent these log entries from being processed unnecessarily.
¡ If the log reader finds uncompleted transactions after reading all redo log entries, it flags these transactions for a ROLLBACK and enters them in the redo list. These transactions are later processed in the same way as ROLLBACK transactions.
The database system now has all the information it needs to repeat required transactions.
See also:
Using Log Entries for a Restart or Restore