In the special case of Oracle Real Application Clusters (RAC), an Oracle option that allows it to function on many computers in a clustered environment, we may have many instances simultaneously mounting and opening this one database, which resides on a set of shared physical disks. In other words, a RAC database consists of one or more instances connected to one database.
Multiple RAC instances run on different servers (nodes or hosts). All of the instances share the same database (files on disk).
The RAC database is designed for high availability, performance, and scalability. The idea is that you can add more instances (nodes) as you need more CPU and memory processing power.
This feature requires an extra license from Oracle to use. Figure 2-2 depicts the RAC architecture. This RAC database has two instances named ORCL1 and ORCL2. Both instances are connected to a single ORCL database.
Figure 2-2. Oracle’s single-tenant (non-container database) architecture in a two-node RAC configuration
The client connects to a special Single Client Access Name (SCAN) RAC listener, which hands off the connection request to one of the database listeners (on node 1 in this example).
The listener then connects the client request to a server process in the HR1 instance, which then handles any SQL processing initiated by the client.
You can have one or more nodes in this configuration. Each instance uses the same physical ORCL database.
The RAC software handles the complexity of multiple instances potentially simultaneously accessing the same blocks of data in the single set of database datafiles.
In addition to the Oracle home binaries, the RAC configuration requires the Grid Infrastructure software, which includes the Automatic Storage Management (ASM) software for managing the shared disks.
The Grid software is typically installed in a location on disk named GRID_HOME (with various components stored in subdirectories).
The Grid home software is separate from the Oracle home software. To summarize, the database depicted in Figure 2-2 is a single-tenant, two-node RAC database. Again, the single-tenant type database has been deprecated by Oracle and will be desupported as of Oracle 21c.