Monday, 9 February 2015

Starting an oracle database. The 3 stages with explanation.

There are 3 stages through which an oracle database passes during start up.

These 3 stages are

1. No Mount
2. Mount
3. Open

Normally when we issue the 'startup' command on the sql prompt, we see the following

SQL> startup
ORACLE instance started.
Total System Global Area  285212672 bytes
Fixed Size                               2020224 bytes
Variable Size                      109055104 bytes
Database Buffers                171966464 bytes
Redo Buffers                          2170880 bytes
Database mounted.
Database opened.

But we don't know the story behind this. Let's find out, what actually happens.


No Mount Stage, instance starts.

As soon as we issue this command,
  • The oracle server process reads the parameter file corresponding to the SID (That can be a pfile or spfile initSID.ora or spfileSID.ora).
  • The memory areas associated with this instance are allocated and oracle background processes are started. Together we can say the instance starts.
  • The database is at no mount state now.


Mount Stage

At this stage, oracle server process reads the control file, which contains important information like the location of the datafiles and redo log groups. (This control file is previously specified in the parameter file). And finally the database is mounted.


Open Stage

At this stage, oracle server process accesses the datafiles and the finally the database is opened.
We can enter these stages individually but with the sequence. We have to issue the following commands one after another.
SQL> startup nomount
SQL> alter database mount;
SQL> alter database open;


That's all for now. Do not hesitate to correct or include any points or information that I have mentioned wrongly or missed completely. Your feedback is highly appreciated.

Thanks
Subhajit

No comments:

Post a Comment