What is the difference between an instance and mounting in Oracle?
An Oracle user asks what the difference is between an instance and mounting.
In Oracle, a database is a collection of datafiles, online redo logs, and control files. A database persists across shutdowns. When you terminate Oracle, the data persists in the database, in the files on the server.
Before you can access the database's contents, you must start Oracle. The Oracle instance is the collection of memory and processes running which give you access to the database. If the database server abnormally terminates, the instance will die. But the data still survives in the database. After the server is up and running again, one needs to start the instance before they can access the data.
When you start an instance, there are three stages the instance goes through:
1. NOMOUNT – In this mode, only the parameter file is accessed. Typically, this mode is only used to modify the parameter file's contents or to create the database.
2. MOUNT – In mount mode, the control files are accessed for the first time. Certain maintenance operations require the database to be in MOUNT mode. Mount mode is when the instance acquires memory and spawns the various background processes required for the Oracle instance.
3. OPEN – This mode is the first mode to touch the datafiles and online redo logs. Once Oracle has contacted these files, Oracle lets users connect to the instance so as to interact with the data.
When you issue a normal STARTUP command, the instance proceeds from NOMOUNT to MOUNT to OPEN. You can STARTUP MOUNT the instance, in which case the instance goes from NOMOUNT to MOUNT mode, but does not get to OPEN mode.