What options do I have to deploy Oracle RAC on Oracle Cloud?

There are different questions about RAC on Oracle Cloud:

  • Is it possible to deploy RAC on IaaS?
  • Is it possible to deploy more than two RAC nodes on DBCS VMs?
  • Are the RAC nodes deployed on different Fault Domains or Availability Domains?
  • Are databases on ExaCS and ExaC@C always deployed on RAC?
  • Does my Autonomous Database run on RAC even if I have less than 17 OCPUs?

So I consolidated these questions in “What options do I have …”.

If you are not familiar with the different Oracle Database Cloud services in general, then look here first.

Infrastructure as a Service (IaaS)

To make it short, RAC is not supported on IaaS Compute Instances. But why would you need to install, configure, and manage everything manually if you have the option to get it done by the click of a button and benefit from a huge number of automated tasks? Just use RAC on DBCS VMs.

Database Cloud Service on Virtual Machines (DBCS VM)

It is possible to deploy a 2 node RAC on DBCS VMs.

Choose a shape with a minimum of 2 OCPUs (VM.Standard2.2), and select “2” from the “Total node count” drop-down-menu. That’s everything! You’ll see that the “Oracle Database software edition” menu is set automatically to “Enterprise Edition Extreme Performance”. This setting can not be changed, as you need that edition for RAC.

2 node RAC is the only option available. You can not add additional nodes. So you’ll end up with a minimum of 4 OCPUs. If you need more, select a higher VM shape. The biggest one is VM.Standard2.24 with 24 OCPUs, so the maximum number of OCPUs to get on VMs for RAC is 48. It is also possible to scale up and down afterward by changing the DB System’s VM shape. Both nodes will be changed to the new VM shape selected.

The nodes are deployed on two different Fault Domains in the same Availability Domain. It is possible to choose the fault domains yourself during the system creation process.

Database Cloud Service on Bare Metal Machines (DBCS BM)

RAC is not supported on DBCS BM. If you are looking for a dedicated, high-performance solution, go with ExaCS. You’ll get even much more performance and flexibility.

Exadata Cloud Service (ExaCS)

All databases provisioned on ExaCS are RAC databases. The cluster spans across all database servers on the Exadata machine. The number of database servers depends on the Exadata shape you choose:

  • 2 node RAC on Exadata Base and Quarter Rack
  • 4 node RAC on Exadata Half Rack
  • 8 node RAC on Exadata Full Rack

It is not a good idea to remove the RAC nodes or permanently stop the database instances on part of the cluster, e.g., configuring 2 node RAC on an Exadata Half Rack machine manually, as this could have an impact on the automation tools the Cloud provides.

If you need your application to run on a subset of the nodes only, just configure your database service to do so:

srvctl [add | modify] service ... 
-preferred isnt1,inst2 -available inst3,inst4

The newly released Exadata X8M-2 machines provide more flexibility. You start with a 2 database and 3 storage servers and then add more at will.

Exadata Cloud at Customer (ExaC@C)

Like on ExaCS, all databases are based on RAC clusters across all the Exadata machine’s database servers. You can choose Base, Quarter, Half, or Full Exadata rack machines.

Autonomous Database on Dedicated Exadata Infrastructure (ADB-D)

Again, all databases are based on RAC clusters across all database servers of the Exadata machine. You can choose Quarter, Half, or Full Exadata rack machines.

Autonomous Database on Shared Exadata Infrastructure (ADB-S)

The good thing here is, you don’t care! You specify the number of OCPUs you want to activate, and Oracle will take care of providing you that from one or more RAC nodes.

But you are always curious as I am to know how many nodes your database is running on?

SELECT instance_number, instance_name FROM gv$instance;

What a surprise, only one! I have only one OCPU activated 🙂

And how many nodes in total are there?

SELECT inst_number, inst_name FROM v$active_instances;


The thing about the 17 and more OCPUs is this: if you are using the Bring Your Own License (BYOL) model with Enterprise Edition and activate 17 or more OCPUs, you must have the Oracle Real Application Clusters Option license support. So this is a licensing thing, and so I’m out! And have to tell you to read the licensing documents carefully.

Would you like to get notified when the next post is published?