Real Application Clusters (RAC) allows multiple computers to run Oracle software simultaneously while accessing a single database, therefore providing a clustered database. In the previous non-RAC oracle database, a single instance accesses a single database. And we know that clustering is the task of assigning a set of objects into groups. In an Oracle RAC atmosphere, two or more computers (each with an instance) simultaneously access a single database. This allows an application or user to connect to either computer and have access to a single synchronized set of data. Real Application Clusters offers significant benefits for all system types.
Real Application Clusters is a network computing solution that allows several nodes (servers) in a clustered system that is present in on shared disk storage. If a single system (node) fails, the service will still be available on the other remaining nodes. Other computers in a network access are not interrupted. All instances can simultaneously execute transactions against the single database. It is an integral part of the Oracle database setup. Oracle Real Application Clusters, or Oracle RAC is a clustering technology that provides the facility to measure performance and recover server availability for Oracle data center environments. However, getting started with Oracle RAC can be difficult and challenging for the Oracle professional who is new to this technology and has worked only with single-instance Oracle databases.
Oracle 11g Clusterware is Oracle’s implementation of cluster management software, which was introduced in the 10g release of Oracle RAC software. It was originally called Cluster Ready Services (CRS) and is the complex software that exists under the hood of all Oracle 11g RAC environments. Oracle Clusterware provides several key services essential to an Oracle 11g RAC configuration, including the following:
- Group Services to manage cluster services within 11g RAC
- Node Monitor or the “heartbeat” to monitor the status of nodes in 11g RAC cluster
- Locking services performed by the LMS database process to manage concurrency activities for 11g RAC cluster
- HA Resource management for failover or load-balancing activities in 11g RAC
Oracle has had clustering functionality in their product for a long time. Previously, the clustering technology was more dependent on the Operating System. Oracle chose to incorporate more of the clustering functionality into the Oracle database rather than rely on how the OS does clustering. Oracle 9i and 10g RAC have more of the key clustering capabilities within Oracle itself. This means that the clustering is done differently than it was with Oracle Parallel Server(OPS).
Oracle RAC is “Shared Everything” clustering. This allows all nodes in the cluster to have access to the data at the same time. There is only one set of data that all of the nodes can use at all times. With Real Application Clusters, We can run multiple Oracle instances on systems in a shared disk cluster configuration or on multiple nodes of a Massively Parallel Processor (MPP) configuration. RAC manages traffic between the systems or nodes, authorizing the instances to function as a single database. The failure of a single instance will not cause widespread delays while the system recovers.
Oracle RAC has multiple database instances in comparison to a single instance Oracle database, with each cluster instance in the environment functioning separately, yet in unison with the entire cluster. At the central point of performance, bottlenecks may arise in an RAC database because all of the cluster instances must share access to the RAC database. As such, tuning the pathways to the RAC database is important to ensure a high level of performance. RAC uses a parallel processing-based architecture that shares the resources among all of the cluster nodes. Cache Fusion is the mechanism that provides throughput for the RAC database by using an algorithm to send data between cluster nodes without the previous issues caused by block disk pinging in older versions of the Oracle cluster technology, which was called Oracle Parallel Clusters (OPS).
Architecture of Oracle RAC:
Oracle RAC creates a highly available architecture. Oracle RAC is a complex mix of system, network, and database technologies.
Below figure shows an overview of Oracle RAC Database Architecture. The figure has been shared from Oracle documentation.
Figure 1: Oracle Database with Oracle RAC Architecture.
Oracle RAC allows multiple nodes to run multiple instances of Oracle while accessing a single physical database.A cluster includes multiple interconnected computers or servers that perform. Oracle RAC uses Oracle Clusterware for the substructure to bind several servers so that they operate as a single system. An Oracle RAC Databases may have more than 100 instances and all access one database. All database instances essentially use the same interconnection. Oracle Clusterware is a convenient management solution that is combined with the Oracle Database. Oracle RAC is a distinctive technology that provides high accessibility and scalability for all application types. Usually, an Oracle RAC environment is positioned in one data hub. However, we can construct Oracle RAC on an extended distance cluster, which is a design that provides tremendously fast retrieval from a site failure and allows for all nodes.
Fig 2: Shared Everything Architecture
Real Application Clusters are designed as “Shared Everything” architecture. This means that both server resources and storage resources are shared, with a single database image. This is beneficial for scalability and flexibility. However, the shared nature of all of the resources (particularly storage) makes it more important than ever to institute High Availability architecture, to avoid single points of failure.
Each node in the cluster has a different physical internet protocol address. However, users (or clients) connect to the database via a virtual database service name. Oracle automatically balances the user load among the multiple nodes in the cluster. The RAC database instances on the different nodes subscribe to all or some subset of database services. This allows you to choose whether specific application clients that connect to a particular database service can connect to some or all of the database nodes.
If more nodes are added to the cluster, the CPU and memory resources of the new node are immediately made available to the rest of the cluster. (Data does not have to be re-partitioned.) This allows you to add nodes as you need them.
Oracle 11g RAC components
In addition to the many hardware, network, and storage components that drive the foundation of Oracle 11g RAC, we have the complex software called Clusterware that lies at the heart of the Oracle RAC architecture. Oracle 11g RAC consists of these physical devices along with the Clusterware and Automatic Storage Management (ASM) software. ASM provides the mechanism for managing storage within RAC environments and uses both a special type of instance called an ASM instance and special disk volume management in the form of ASM disks and ASM disk groups. Clusterware refers to the Oracle software layer that performs the operational tasks within the Oracle-clustered environment for RAC. In summary, the Clusterware consists of the following components for Oracle 11g RAC:
- Voting Disk(s)
- Oracle Clusterware Registry (OCR)
- Background processes that manage clusterwide operations and provide functionality for Oracle 11g RAC Database
Voting Disk: The Voting Disk provides cluster quorum administration within an Oracle 11g RAC environment and is configured on shared storage for the Oracle 11g RAC environment.
Oracle Cluster Registry: The Oracle Cluster Registry provides housekeeping tasks for maintenance of the Oracle 11g RAC Clusterware infrastructure.
Oracle 11g R1 RAC background processes: Oracle 11g RAC contains many unique background processes that perform clusterwide operational tasks and management. The majority of these background processes are integrated into the Oracle 11g Clusterware, which is special software used by Oracle to manage cluster operations for RAC environments
In the above discussion of Oracle RAC, we discussed how Oracle RAC manages the instances and aspects of the system architecture Oracle RAC. The article gives the conceptual idea about the Oracle RAC Database in 11g. By using a shared everything architecture, Oracle RAC allows the creation of multiple, independent Oracle instances, all sharing a single database.