CPU Overprovisioning with Autonomous Database on Dedicated Exadata Infrastructure

You can provision more Autonomous Databases than the available physical CPUs on Dedicated Exadata Infrastructure. This is known as CPU overprovisioning.

Note:

CPU overprovisioning is supported for the OCPU compute type only.

About CPU Overprovisioning

CPU overprovisioning allows you to create more databases at the system level and run more databases on each infrastructure instance.

While provisioning Autonomous Databases, you can assign a fractional OCPU value (0.1 to 0.9 OCPUs with an increment of 0.1) to databases that do not need an entire OCPU. You can optimize the OCPU consumption by allocating a fraction of an OCPU to databases with minimal or non-performance critical workloads used for non-production databases such as development or test environments. Provisioning a test database with a less than 1 OCPU, for example, 0.1 OCPUs, lets you retain the remaining 0.9 OCPUs for other databases. Thus, you can provision more databases than the available CPUs. For example, an Exadata Infrastructure with 100 CPUs can cater to 1000 Autonomous Databases with CPU overprovisioning.

For databases using one or more OCPUs, you must increment the number of assigned CPUs by multiples of 1 or more OCPUs. For example, you cannot assign 3.5 OCPUs to a database. The next available number of OCPUs above 3 is 4. You can also assign as little as 32 GB of storage to each Autonomous Database. The lowered minimum requirements for OCPU and storage resources allow you to overprovision databases and run more databases on each infrastructure instance.

Implementing CPU Overprovisioning

Databases provisioned with OCPU overprovisioning can only connect to:
  • The tp and low services for the Autonomous Transaction Processing workloads.
  • The low services for Autonomous Data Warehouse workloads.
The resources allocated to databases provisioned with OCPU overprovisioning are calculated proportionally based on the number of OCPUs chosen. For example, an Autonomous Database with 0.3 OCPUs will get memory and concurrent statement allocations that is 30% of the allocation for a single OCPU Autonomous Database. See Predefined Database Service Names for Autonomous Databases for more details.
When creating a new Autonomous Database instance or cloning an existing Autonomous Database instance or its backup:
  • CPU overprovisioning is not supported for databases using ECPUs. The minimum ECPU value for an Autonomous Database is 2.
  • You can assign a fractional OCPU value from 0.1 to 0.9 (in increments of 0.1 OCPUs) to databases that do not need an entire OCPU. For databases that need one or more OCPUs, you must specify the number of assigned OCPUs as an integer. For example, you cannot assign 3.5 OCPUs to a database. The next available number of OCPUs above 3 is 4.
  • While cloning from a backup, you can resize the CPU to a fractional value only after the clone, if needed. Refer to Clone Autonomous Database from Backup for instructions on cloning from a backup.
When scaling an Autonomous Database up or down:
  • Scaling up from a fractional value to a full OCPU does not impact the predefined database services you can connect to. You can only connect to the tp and low services for the Autonomous Transaction Processing workloads and the low services for the Autonomous Data Warehouse workloads. Refer to Add CPU or Storage Resources to an Autonomous Database for instructions on scaling up your database.
  • Scaling down to a fractional value from a full OCPU does not impact the predefined database services you can connect to. Despite being on an overprovisioned OCPU, you can continue to connect to all the predefined database services, as done before scaling down. Refer toRemove CPU or Storage Resources from an Autonomous Database for instructions on scaling down your database.

Auto-scaling enables an Autonomous Database to use up to 3 times more CPU and IO resources than its allocated CPU count. When auto-scaling is applied on databases created on overprovisioned OCPUs, if 3 times the CPU count results in a fractional value, it will be rounded to the next whole number. See CPU Allocation When Auto-Scaling for more details.