There are two situations when a database recovery process will be required, one is after an instance failure, and the other is after a media failure. The recovery process takes information from the redo log files or the archivelog files as required and applies the changes found there against the datafiles. The applied changes depend on each individual datafile, and they range from the last applied change against the datafile to the last System Change Number(SCN) recorded at the control file.
The recovery process will read the transactions and it will apply all the recorded changes against the datafiles, the changes are from either committed or uncommitted transactions. During the first recovery phase all changes stored in either the archive log files or the redo log files are applied against the datafiles (this is known as rolling forward). During the second recovery phase all uncommitted transactions are rolled back. The recovery process ends when all the changes...