I read that when an instance is terminated with SHUTDOWN ABORT and then restarted, SMON will come into the picture and ensure database consistency. In this process it performs rollforward and rollback operations. Please explain to me what is meant by rollforward and rollback operations and how they are different. How are redo logs and rollback segments used in these processes? Your answer would help me understand the concepts clearly.
When the instance is terminated abnormally, including SHUTDOWN ABORT, then you can have changes to the data blocks that were in memory but were not yet written to disk. Some of these changes may have been committed; others may not have been committed. If a transaction was not committed, then the database must assume that it is to be rolled back.
When you start the database after an abnormal end, the database will look at the datafiles to find the last time...
data was written to those datafiles. The database will then look at the online redo logs to see what transaction occurred (committed or uncommitted) after the database datafiles were last updated. Once the database knows what went on, it can replay the transactions that were not written to the database datafiles. This process is called "rolling forward." Some of the transactions that are not rolled forward were not committed, therefore, the database has to undo, or "roll back" those uncomitted transactions.
Dig Deeper on Oracle database design and architecture