Redo tasks are active components during a restart or recovery. Redo tasks are server tasks.
...
1. In the redo list, the redo tasks look for transactions that were completed with a COMMIT, and are therefore ready to be re-imported. In the redo list, the transactions are sorted by the log sequence numbers of their COMMIT.
2. The redo task starts by processing the transaction with the lowest COMMIT log sequence number.
The redo log files that belong to this transaction are processed in sequence. If a redo log entry of this redo log file has a higher log sequence number than the lowest COMMIT log sequence number, it cannot be processed. In this case, the redo task waits for the COMMIT of the other transaction. Only then can the redo task continue processing the redo log file. This mechanism ensures consistent data.
3. Once a COMMIT transaction has been processed in full, the redo task deletes the redo log file and the undo log file of the transaction. The transaction is removed from the redo list.
...
1. In the redo list, the redo tasks look for transactions that were completed with a ROLLBACK.
2. The redo tasks delete the relevant redo log files. This prevents the transaction being redone unnecessarily.
3. If the ROLLBACK transaction started before the savepoint, the redo task evaluates the undo log file of the transaction, in order to set the transaction to the state before the savepoint. Once the ROLLBACK transaction has been fully processed, the redo task deletes the undo log file of the transaction.
If the ROLLBACK transaction started after the savepoint, the redo task does not process the transaction further.
See also Example: Restart