Oracle Real Application Clusters (Oracle RAC) is a shared cache clustered database architecture that utilizes Oracle Grid Infrastructure to enable the sharing of server and storage resources. Automatic, instantaneous failover to other nodes, and therefore enables an extremely high degree of scalability, availability, and performance.
Originally focused on providing improved database services, Oracle RAC has evolved over the years and is now based on a comprehensive high availability (HA) stack that can be used as the foundation of a data base cloud system as well as a shared infrastructure that can ensure high availability, scalability, flexibility and agility for any application in your data center.
Enterprises run Oracle RAC as a part of bigger application in variety of scenarios. They also need such environments for development, testing, staging and running User Acceptance Tests. It is expensive to have on-premise environments for such transient needs. Ravello provides a great platform for such use-cases by offering data-center like environments on public cloud with VMware and Layer 2 networking.
An Oracle RAC database is a shared everything database. All data files, control files, SPFILEs and redo log files in Oracle RAC environments must reside on cluster-aware shared disks so that all of the cluster database instances can access these storage components. All database instances must use the same interconnect, which can also be used by Oracle Clusterware. Public cloud environments do not provide shared storage and Layer2 capabilities required by Oracle Clusterware for RAC natively. However, such functionality can be achieved using Ravello.
The following implementation is broadly followed from the reference article to setup Oracle RAC DB installation in VMware ESXi environment1. The deployment diagram for the implementation:
For the deployment, we have 4 configured subnets
The ‘racnas’ node is running Openfiler 2.99.1 and is setup as an iSCSI target for the RAC nodes to connect to. Two logical volumes are setup as iSCSI targets as below:
The database access is configured through iSCSI with Automatic Storage Management (ASM). The binaries for Grid Infrastructure and Database are stored locally on each RAC node.
All VMs are using Oracle Linux 7.3 distribution with the RAC DB nodes configured with 4VCPUs and 16GB of memory. The storage node is running Openfiler and is configured with 4VCPUs/16GB memory, while the test node running OL7.3 is configured with 2VCPUs and 8GB of memory.
On the network tab, Ravello automatically re-creates the underlying network by looking at the ESXi configuration files and VM disk images.
We will now make sure all the settings in each VM are as per our expectation. Let us take a look at ‘rnode1’ in the Ravello UI.
We now have a fully functional Oracle RAC environment running Oracle Database 12cR1 running on the cloud using Ravello. One can test out the deployment by connecting to the database from the test node ‘ractest’.
To try out your custom RAC environment on public cloud, please open a free Ravello trial account.