Instance Startup Modes & Shutdown Modes

instanceoracleshutdown

So, I know that there are 3 modes of startup modes available for the instance which is NOMOUNT, MOUNT, and OPEN.
What I want to know is in NOMOUNT mode it is stated that the instance started but still not associated with the Database then Who activates the instance? Is it the database itself or is it something else?

And If I use the command shutdown then is the instance only that got shutdown or is the database too got shutdown?

Thanks in advance!

Best Answer

Think of it this way:

  • the database is the set of physical files, on disk. It's a completely passive "thing". It doesn't "do" anything on its own - it's just data.
  • the instance is the software/processes (with its memory) that manages the database. It's the active part. It's what clients connect to, it's what processes SQL, reads data, updates it, maintains the transaction logs, etc.

When you start with nomount, you start the instance (start a few processes, create the memory areas), but don't actually go look at the database. You'll have something in memory ready to mount a database, or do the few maintenance things you can do in that state (like creating a database), but that's all. The database is completely inaccessible at that point.

When you mount, the control file (which contains a description of the database's files) is read, but the database is still not open. I.e. you can't access the data itself.

Only you finally open the database can clients start interacting with the database.

Things get a bit more complicated with RAC, but the principle is the same: the database is only the set of files. The instances are what allow you to interact with the database.

Shutdown progresses in the opposite direction. For a normal, non-RAC shutdown, the instance flushes all the in-memory data that's not yet saved in the database, and closes the database files. Clients can no longer access the data.
Then the instance dismounts the database, closing the control files. At this point you're left with pretty much the same thing as with an instance in nomount - a set of processes and memory that can't really do much.
The final step is the actual shutdown: the memory areas are released back to the OS and the processes die, which is the end of that instance.

The database doesn't ever do anything. The instances are the only active parts of the system.

For a more in-depth view, see Oracle Database Instance. It has an overview of the startup and shutdown sequence, and other essential information.