7

From Oracle Docs:

Start the instance, and mount and open the database. This can be done in unrestricted mode, allowing access to all users, or in restricted mode, allowing access for database administrators only.

....

To mount a database to a previously started, but not opened instance, use the SQL statement ALTER DATABASE with the MOUNT clause as follows:

ALTER DATABASE MOUNT;

The first part gives me the impression that we are mounting the instance to the database. But the "To mount a database to a previously started, but not opened instance" part makes me think that we are mounting the database to an instance.

What is the correct interpretation when working with Oracle database instances?

3 Answers 3

13

We are mounting a database to an instance. See the concepts guide:

The instance mounts a database to associate the database with that instance.

One way I've seen it explained (probably here or on SO) is that the instance is the memory structures and processes, and the database is the data on disk. The instance has to have a database associated with it to be able to do anything useful.

1
  • 3
    +1. Either way the database and instance get attached. But it is possible (in RAC) for the same database to be opened by multiple instances.
    – Gary
    Jul 5, 2011 at 12:39
6

I can see why this might be confusing given the mental model we apply to the word mount. It may help to think of mount as an abstract Oracle term and only apply to it what the software actually does. Here are the stages of instance and database startup:

Shutdown

NoMount

  • Reads the parameters in the initialization file.
  • Allocates memory.
  • Starts the background processes.
  • Opens the alert log.

Mount

  • Opens and reads the control files.

Open

  • Opens the datafiles and log files.
  • Verifies the consistency of the datafiles.

To say that an instance mounts a database means nothing more than the control files have been opened and read. At this point in memory it has knowledge of the database, but the datafiles, redo logs, and therefore the database are not open.

The Oracle Concepts guide has already been cited, but here is the 11.2 version of the same. http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/startup.htm#CNCPT602

2
  • 1
    Since posting this I've seen the mount stage described as mounting the control files. I like this because it allows us to keep the traditional meaning of the word mount without adding confusion to what actually happens. Jul 7, 2011 at 13:20
  • Why there is a Mount mode though? Seems useless to me. May 10, 2023 at 19:44
3

First start the instance, next mount the database and open the database to enable access to the data.

This can all be done in one simple step: startup, this starts the instance, mounts the database and opens it to enable access for applications.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.