What 's Oracle Real Application Cluster - RAC for high availability and scalability
Oracle Real Application Cluster or RAC has become more popular than ever . It is a very useful option of Oracle database enterprise edition. A lot of customer today choose this option without asking why ther will need it . Only because they know that RAC target at high end requirement. But why ?
It is not so difficult to answer this question actually that RAC is designed for solving two simple problem:
- High availabity
- Scalability
High Availability for RAC
RAC is a typical multi-node cluster system, We expect RAC to survice any single-node crash the way we expect for any other multi node cluster system.
The concept server cluster has exist for a long time and we have common concept that each node in the cluster will have its own IP.

When process P in one node is crash, the cluster will transfer the IP to the surviving node and a new process will be started at the surviving node. Of course It will take minutes before the new process to function normal.

This kind of cluster is called cold failover system because The process could only exist on only one node and the other node is usually for backup purpose.
Although RAC cluster is similiar in many way, the main difference for RAC cluster is that every node in the cluster has active database process that could handle client database request. It is an active-active configuration.

When one node is crash, There 's no need for the surviving node to start a new process because a process already exist.

That 's why one node crash of RAC has little impact . Some customer is not even aware of a node crash accident.
Scalibility for RAC
Scalability is a tricky word cause a common misunderstanding of the concept is like
'One database node could process the database request in 20 seconds, then RAC with two node could process the same request in 10 seconds'.
This usually will not be the case in most of the time. Actually a more comprehensive description of 'Scalability' is
'One database node could handle 100 concurrent request , Then a two node RAC with the same configuration could usually handle 180 concurrent request'
The concept 'Scalability' of RAC is targeting at the expansion of capacity.
It is really useful cause as your business grow, the one node database might exceed the designed capacity . We 're coming into the situation of either replacing the server with a better one or just adding one more node to the existing cluster if you're using RAC!
This approach has many benefit cause we could use the 'buy more only when our business grow' strategy. considering the server price decrease each year, We could use the same price a few year later to buy a much much better server. This will reduce our cost greatly.
Now you see that RAC is not so difficult to understand, you could considering use it if you have high availability requirement or need additional processing capacity!
