Hello Akshay,
Whenever any application requests for any transaction on data in memory it is first written to a log volume which is nothing but a hardisk and external to RAM. This is referred to as redo log. Redo log holds following information:
Start of transaction
Commit of Transaction or abort of transaction
update details:
Value before update(undo log) and Value after update(redo log).
Once written to log volume the data is then written to to disk or data volume.
where a savepoint is built of committed transactions .It represents consistent state of db. From a savepoint a system can be successfully restored.
In the event power goes the redo log or log volume is read to restore from the last savepoint on data volume and onwards.
In case for transactions which were not written to redo log and were uncommitted are written to undo log and they are stored in data volume not in log volume.
For recovery both redo, undo and savepoints are read for restoration.
Hope that helps.
Regards,
Pooja M