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?

John K. N.
  • 18,854
  • 14
  • 56
  • 117
Just a learner
  • 2,082
  • 7
  • 36
  • 57

3 Answers3

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.

Alex Poole
  • 2,585
  • 1
  • 18
  • 24
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

Leigh Riffel
  • 23,884
  • 17
  • 80
  • 155
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.