An Oracle instance can be defined as an area of shared memory and a collection of background processes.
The area of shared memory for an instance is called the System Global Area, or SGA. The SGA is not really one large undifferentiated section of memory—it’s made up of various components described in the next section, “Memory Structures for an Instance.” All the processes of an instance—system processes and user processes—share the SGA.
Prior to Oracle9i, the size of the SGA was set when the Oracle instance started. The only way you could change the size of the SGA or any of its components was to change the appropriate initialization parameters and stop and restart the instance. With Oracle9i, you can now change the size of the SGA or its components while the Oracle instance is still running.
The background processes interact with the operating system and each other to manage the memory structures for the instance. These processes also manage the actual database on disk and perform general housekeeping for the instance.
Other physical files can be considered as part of the instance as well:
- Instance initialization file
The initialization file contains a variety of parameters that configure how the instance will operate: how much memory it will use, how many users it will allow to connect, what database the instance actually provides access to, and so on. You can alter many of these parameters dynamically at either the systemwide or session-specific level. Up until Oracle9i, the initialization file was called INIT.ORA.[1] Oracle9i introduced the SPFILE, which performs the same function as the INIT.ORA file but can also persistently store changes to initialization parameters that are made while Oracle9i is running. Refer to your operating system-specific documentation for the default location of the INIT.ORA file on your system.
- Instance configuration file
The configuration file, called CONFIG.ORA, is an optional parameter file, included if you want to segregate a set of initialization parameters (for example, those used for Oracle Parallel Server or Real Application Clusters).
- Password file
Oracle can use an optional password file, stored as an operating system file, to provide additional flexibility for managing Oracle databases. This file is encrypted and contains user IDs and passwords that can be used to perform administrative tasks, such as starting and stopping the instance. Use of a password file is a standard method for implementing remote access security in addition to access security by operating system. The latter is typically used locally (i.e., on the database server). For example, on a Unix system, any user in the DBA group can start up or shut down Oracle—the operating system group gives that user the authority. Validating a password against the value stored in the database for a user is not possible when the database is not open. The password file forces a user to authenticate himself with a password in order to start up the database.
Additional background processes may exist when you use certain other features of the database: for example, the Shared Server/Multi-Threaded Server (MTS), job queues, or replication.
Get Oracle in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.