Oracle Real Application Clusters is an option of Oracle Database that was first introduced with Oracle 9i. Oracle Real Application Clusters is now proven technology used by thousands of customers in every industry in every type of application. Oracle RAC provides option for scaling applications beyond the capabilities of a single server. This allows customers to take advantage of lower cost commodity hardware to reduce their total cost of ownership and provide a scalable computing environment that supports their application workload. Oracle RAC provides the ability to remove the server as a single point of failure in any database application environment.
Real Application Clusters Architecture
A RAC database is a clustered database. A cluster is a group of independent servers that cooperate as a single system. Clusters provide improved fault resilience and modular incremental system growth over single symmetric multiprocess(SMP) systems. In the event of a system failure, clustering ensures high availability to users. Access to mission critical data is not lost.
Redundant hardware components such as additional nodes,interconnects and disks allow the cluster to provide high availability. Such redundant hardware architectures avoid single points-of-failure and provide exceptional fault resilience. With Real Application Clusters, we de-couple the Oracle Instance (the processes and memory structures running on a server to allow access to the data) from the Oracle database (the physical structures residing on storage which actually hold the data, commonly known as data files). A clustered database is a single database that can be accessed by multiple instances. Each instance runs on a separate server in the cluster. When additional resources are required, additional nodes and instances can be easily added to the cluster with no downtime. Once the new instance is started, application using services can immediately take advantages of it with no changes to the application or application server.
Oracle provides Oracle Clusterware, a portable clusterware solution that is integrated and designed specifically for Oracle Database. You no longer have to purchase third party clusterware in order to have a RAC database. Oracle Clusterware monitors and manages Real Application Cluster databases. When a node in the cluster is started, all instances,listeners and services are automatically started. If an instance fails the clusterware will automatically restart the instance so the service is often restored before the administer notices it was down.
Oracle Real Application Clusters is shared everything architecture. All servers in the cluster must share all storage used for a RAC database. The type of disk storage used can be network attached storage (NAS), storage area network(SAN), or SCSI disk. Your storage choice is dictated by the server hardware choice and what your hardware vendor supports. Choosing a storage system that will provide scalable I/O for your application an I/O system that will scale as additional servers are added to the cluster. A Cluster requires an additional network to the Local Area Network (LAN) that a database server is attached to for application connections. A cluster require a second server is attached to for application connections. A cluster requires a second private network commonly known as the interconnect. Oracle recommends that you use 2 network interfaces for this network for high availability purposes. A network interface bonding external to Oracle should be used to provide fail over and load balancing. The interconnect is used by cluster for inter-node messaging. The interconnect is also used by RAC to implement the cache fusion technology.
Virtual Internet Protocol Address (VIP)
Oracle RAC 10g requires a virtual IP address for each server in the cluster. The virtual IP address is an unused IP address on the same subnet as LAN. This address is used by application to connect to the RAC database. If a node fails, the virtual IP is failed over to another node in the cluster to provide an immediate note down response to connection requests.
Benefits of Real Applications Clusters Scalability
Scalability is the ability to add additional nodes to Real Application Clusters and achieve markedly improved performance. Real Application Clusters can take advantage of additional equipment and harness the processing power of multiple systems. All servers in the cluster must run the same operating system and same version of oracle but they do not have to be exactly the same capacity.
The term high availability
refers to systems with redundant components that provide consistent, uninterrupted service, even in the event of hardware or software failures. In most high availability configurations, nodes are isolated from each other so a failure at one node does not affect the entire system. In such a case, surviving nodes compensate for the loss of the failed node through recovery and the system continues to provide data access to users. This means data is consistently available, more so than it would be with a single node upon node failure. High availability also implies increased data.