
Oracle RAC - a technology without a use case
Oracle RAC was originally created as a scalability solution, the idea being that you could scale out using multiple nodes with "near linear" performance. It was also designed to offer high availability, but that was secondary - here is the description from the Oracle 9i RAC Concepts guide where the technology was introduced:
"With Real Application Clusters, you can scale applications to meet increasing data processing demands without changing the application code."
Anyone who has worked with RAC knows that it's nonsense to say you don't need to change application code. And as large x86 servers have become available and relatively cheap, the need for scalability through RAC has waned, so Oracle now presents it primarily as an HA solution. But it isn't ideal for HA because it introduces so much more complexity - the enemy of availability. Almost nobody has an application which uses TAF and FAN to ensure that users don't get kicked off when a RAC node fails; the majority of customers just restart their middle tiers to cope with a node eviction or crash.
And it's expensive too. Really expensive. So with virtualisation technology becoming increasingly used with production databases, what's the use case for RAC now? Oracle is nowhere in the hypervisor space, with OVM having less than 1% of the market according to IDC. This is why Oracle had to come up with the Pluggable Database feature of 12c, implementing a feature that SQL Server and other databases have had for years.
I'm sure that someone on here will seek to disagree, but I can't see a future for RAC. Oracle's licensing policy around virtualisation is an attempt to hold of the inevitable onslaught as more and more customers start running production databases on VMware, with all of the HA, scalability and management features that come associated with such an environment.
http://flashdba.com/2012/09/10/database-virtualisation-the-end-of-oracle-rac/