Identify the processes and memory structures that make up an Oracle instance.
Components that make up an Oracle Instance
The diagram below illustrates the processes and memory structures that make up an Oracle instance. When you move your mouse over a box, you will see a brief description of what each particular process does. The square boxes represent processes, while the circle in the center represents an area of memory that they all share. Boxes drawn in bold are processes that are mandatory, and that will always be running when a database is open. The other processes are optional, and whether or not they will exist depends on the specific mix of Oracle features that you are using.
Database Instance Configurations
Oracle Database runs in either a single-instance configuration or an Oracle Real Application Clusters (Oracle RAC) configuration. These configurations are mutually exclusive. In a single-instance configuration, a one-to-one relationship exists between the database and a database instance as shown in figure 4-3.1.
In Oracle RAC, a one-to-many relationship exists between the database and database instances. The following figure 4-3.2 shows database instance configuration for RAC.
Whether in a single-instance or Oracle RAC configuration, a database instance is associated with only one database at a time. You can start a database instance and mount (associate the instance with) one database, but not mount two databases simultaneously with the same instance
You will notice that several of the process names end with one or more zeros. DBW0 is one example. An Oracle instance can be configured to have several such processes running simultaneously. For example, if your database experiences a high volume of updates,, you might configure the instance to run with two database writers, which would be named DBW0 and DBW1. This generally only makes sense when you have multiple CPUs to run those processes. The procedures for displaying a list of running processes are different, and depend on whether you are using
Listing processes on a UNIX system
You can use the UNIX ps command to generate a list of running Oracle processes. The way this is generally done is to use
to see an extended process status listing, and then grepping for the processes of interest. For example, it's very common to run multiple instances on the same server, and if you are not sure which instances you have running, you can find out by grepping for database writers. Every instance has at least one database writer, so you are sure not to miss any Here's an example:
Notice the process names. The first part is always “ora.” The second part identifies the specific Oracle process, dbw0, lgwr, and so on. The third part is the SID , which identifies the instance. This naming convention enables you to have multiple instances, or databases, on one computer. To see a list of all processes running for an instance, just grep for the SID. For example: