Oracle Autonomous Database always runs on Oracle RAC, ALWAYS


Since day one, I have been involved in discussions about whether Oracle Autonomous Database runs on Oracle RAC and whether the CPUs are distributed on multiple RAC nodes only for 17 OCPUs or more.

Does that actually matter? No! But many, including me, always want to know more about what’s happening behind the scene.

The number 17 comes from the Oracle PaaS and IaaS Universal Credits Service Descriptions

Using a single BYOL Cloud Service instance of 17 OCPUs or more, including auto scale OCPUs, additionally requires one supported Processor license of the Real Application Clusters Option for every 2 OCPUs of the BYOL Cloud Service.

and the Cloud Price List

For 17 OCPUs or more of Oracle Autonomous Database for analytics and data warehousing: For each supported Processor license of Oracle Database Enterprise Edition plus Options: Multitenant and Real Application Clusters, you may activate up to 2 OCPUs of the BYOL cloud service.

Let’s execute some simple SQL queries and enjoy the results!

Autonomous always runs on Oracle RAC

Whether Shared or Dedicated, Autonomous Database ALWAYS runs on Exadata and Oracle RAC.

Check the database type:

Query the number of active RAC instances:

For Autonomous Dedicated, you will get the number of instances depending on your Exadata Shape and the size of your VM Cluster. On Autonomous Shared, I always get 8 (Full Exadata Rack). Is this documented somewhere? No (at least not that I am aware of). Why? Because it does not matter! You simply get the High Availability SLAs provided by the service.

CPU Allocation

Another statement I still see very often is that for less than 17 OCPUs, all CPUs will be allocated on one RAC node, and starting with 17 OCPUs, the CPUs will be distributed across multiple RAC nodes.

Is this true? Let’s check!

Here is my ADB Shared having 1 OCPU (=2 vCPUs):

The cpu_count is 2 as expected. As an OCPU is a physical core, it can only be provided by one node, here where instance #2 is running.

Let’s scale up to 16 OCPUs, which is less than 17:

Oh, now we get the CPUs allocated from two nodes, where instances 1 and 2 are running, even though we have less than 17 OCPUs!

Ok, 16 is almost 17? Then let’s scale down to 2 OCPUs:

It is still allocated from two RAC nodes, one OCPU (=2 vCPUs, cpu_count=2) each.

Is it documented somewhere? No. Why? Exactly!

Simply specify the number of OCPUs you want to run for your workload, and you will get them.

Application Continuity

Follow the best practices to implement Application Continuity and make any planned maintenance and unplanned outage entirely transparent for your end-users. On whatever node your database services are running, when they are relocated to another node, your application will not be impacted at all.


Oracle Autonomous Database, both on Shared and Dedicated Infrastructure, always runs on Oracle RAC. Just specify the number of OCPUs for your workload, and the automation will take care of providing you what you need. You don’t care about the CPUs being allocated on which RAC node or whether from single or multiple nodes. This is independent of the number of OCPUs you provide. It doesn’t matter. Let Autonomous do it for you! But if you are curious, speak a little SQL and figure it out.

Requiring the RAC option license for 17 and more OCPUs per Autonomous Database service instance while using Bring Your Own License (BYOL) is merely a licensing matter.

Further Reading

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