CPU Pools

FAQs on CPU pools on Oracle Database Appliance.

What are the types of CPU pools supported?

There are three types of CPU pools available. BM type, VM type and DBS (DB system) type. The dbs type is available in Oracle Database appliance release 19.11 and later. In general, CPU pool is used to limit CPU usage by the objects, but it is not designed to prevent other objects from using the CPUs within the CPU pool.

What is the BM CPU pool?

BM CPU pool is designed to limit the database on the Oracle Database Appliance to only run on the CPUs within the CPU pool. Once a CPU pool is assigned to a database, then the database can only run on the CPU set within the CPU pool. BM CPU pool can be attached to different databases. But one database cannot use more than one CPU pool.

What is VM CPU pool?

VM CPU pool is designed to limit the application VMs to only run on the CPUs within the CPU pool. Once a CPU pool is assigned to a VM, then the VM can only run on the CPU set within the CPU pool. VM CPU pool can be attached to different VMs.

What is DB system CPU pool?

With Oracle Database appliance release 19.11 and later, a new CPU pool type called DB system CPU pool, or dbs type is available. The dbs CPU pool cannot overlap with any other CPU pool (BM, or VM CPU pool). After it is created, it can be passed as a parameter to the command odacli create-dbsystem to limit the DB system CPU within the CPUs inside this CPU pool. Multiple DB systems can share one dbs CPU pool and can oversubscribe to the dbs CPU pool. When DB system is created without specifying the dbs CPU pool, an internal CPU pool is created and this CPU pool is exclusive to this DB system; it cannot be shared with any other DB system. The dbs CPU pool is the DB system CPU pool is manually created through ODACLI commands. The dbs CPU pool is assigned to DB systems at creation time or after creation using the command odacli modify-dbsystem. The dbs CPU pool can be shared by different DB systems, but the size of the CPU pool should be at least equal or greater than the largest DB system shape it is associated to.

What is shared DB system CPU pool?

With Oracle Database appliance release 19.11 and later, a new CPU pool type called DB system CPU pool, or dbs type is available. The dbs CPU pool cannot overlap with any other CPU pool (BM, or VM CPU pool). After it is created, it can be passed as a parameter to the command odacli create-dbsystem to limit the DB system CPU within the CPUs inside this CPU pool. Multiple DB systems can share one dbs CPU pool and can oversubscribe to the dbs CPU pool.

What happens if application VMs are not using CPU pool?

If a database or VM is not using a CPU pool, then the database or VM can run on any CPU. The operating system assigns the available CPUs at run time, including the CPUs within a CPU pool assigned to other VMs.

Can a CPU pool overlap with another CPU pool by sharing some CPUs?

No, two CPU pools cannot overlap.

Can I create the vm CPU pool on a single node on a high-availability environment?

Currently, this is not supported. If a VM uses a vm CPU pool, and wants to failover to the other node, the CPU pool is pre-created.

I have DB system and application VMs running on the same host, how do I prevent application VMs from using the CPUs of the DB system?

You should create a CPU pool for the application VMs. Attaching the vm CPU pool to the application VMs will limit VMs to only use the CPUs in the CPU pool, and not use the CPUs of the DB systems.

Can application VMs share the same CPU pool?

Yes, different application VMs can share the same CPU pool. Oversubscription to the CPU pool is allowed, although not recommended because of potential performance impact.

Can DB systems share the same CPU pool?

Yes, different DB systems can share the same dbs CPU pool. Oversubscription to the CPU pool is allowed, although not recommended because of potential performance impact.

Can DB systems share the same CPU pool with application VMs?

No.

Can I use all bare metal system CPU cores in the CPU pool?

In general, you must not use all CPU cores in the CPU pool. The bare metal system host needs CPU as well. Starting with Oracle Database Appliance release 19.12, by default, the first core of the socket is reserved for the bare metal system host and cannot be used by the VM or DB system CPU pools, and can be used by BM CPU pools. With Oracle Database Appliance release 19.13, you can use the --use-reserved-cpucores option to override this behavior in the odacli remap-cpupools command. For more information, see the Oracle Database Appliance Deployment and User's Guide for your hardware model.