Just for refreshing my memory and yours
he differences in the 3 startup stages for oracle db are as below.
When DB is in the nomount stage, oracle first opens and reads the initialization parameter file “init.ora” for the DB configuration which includes various parameters required for initialization. Based on the parameters, the memory areas in database instance are allocated and db background processes are started. The instance then starts.
When DB is in this stage, it opens and reads the control file which contains the physical structure of db like the database datafiles etc.. It determines the location of the datafiles and the database is ready to be opened.
When DB is in this stage, it opens the database, it tries to access all of the datafiles associated with the database. Once it has accessed the database datafiles, it makes sure that all of the database datafiles are consistent.
After that DB is into normal operations state.