Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

The following text is extract from oracle documentation.

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;

You can read it directly from http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/start.htm

The first part gives me an 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 gives me an impression that we are mounting database to an instance.

Which one understanding is right? Anyone can help to explain it please?

Thanks

share|improve this question

3 Answers 3

up vote 10 down vote accepted

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.

share|improve this answer
2  
+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 '11 at 12:39

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

share|improve this answer
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. –  Leigh Riffel Jul 7 '11 at 13:20

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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