13 Managing CPU Pools on Oracle Database Appliance Bare Metal and KVM Deployments
Use CPU pools to manage CPU resources on Oracle Database Appliance bare metal and KVM deployments.
- About CPU Pools
CPU pools enable management of CPU resources on Oracle Database Appliance on both bare metal and KVM deployments. There are three types of CPU pools, that is, BM, VM, and dbsystem. - Creating a CPU Pool in a Bare Metal or KVM Deployment
Use ODACLI commands or the Browser User Interface to create a CPU pool in a bare metal or KVM deployment. - Viewing CPU Pools in a Bare Metal or KVM Deployment
Use ODACLI commands or the Browser User Interface to view all CPU pools or details about a CPU pool in a bare metal or KVM deployment. - Modifying a CPU Pool in a Bare Metal or KVM Deployment
Use ODACLI commands or the Browser User Interface to modify a CPU pool in a bare metal or KVM deployment. - Deleting a CPU Pool in a Bare Metal or KVM Deployment
Use ODACLI commands or the Browser User Interface to delete a CPU pool in a bare metal or KVM deployment. - Viewing CPU Pool Audit Records in a Bare Metal or KVM Deployment
Use ODACLI commands or the Browser User Interface to delete a CPU pool in a bare metal or KVM deployment. - About Over-Subscribed CPU Pools
Configure virtual machines so that they do not subscribe to more CPU resources than the resources available in CPU pools.
About CPU Pools
CPU pools enable management of CPU resources on Oracle Database Appliance on both bare metal and KVM deployments. There are three types of CPU pools, that is, BM, VM, and dbsystem.
Use the BM CPU pool to ensure that the database on a bare metal host runs
exclusively on the CPU lists specified in the CPU pool. All Oracle processes are bound
to the CPUs in this CPU pool and run only on these CPUs. The bare metal CPU pool is
assigned to database by updating the init.ora
parameter
processor_group_name
.
Use the VM CPU pools to cage and manage CPU resource allocations to workloads for virtual machines. Workloads are isolated by creating CPU pools and assigning or pinning virtual machines to a specific CPU pool. When you pin a virtual machine to a CPU pool, you ensure that the virtual machine uses CPUs in only that CPU pool.
The dbsystem CPU pool is similar to the VM CPU pool, but it only applies to a dbsystem.
Resources in CPU pools cannot overlap, that is, CPU pools cannot share CPUs. But one CPU pool can be assigned to multiple databases (BM CPU pool) or VMs (VM CPU pools).
Oracle Database Appliance provides ODACLI commands to create, update, modify, and delete CPU pools.
About Bare Metal CPU Pools
For new databases, you can attach the new CPU pool using the
create-database
command. For existing databases, use the
modify-database
command to attach the CPU pool to the database.
Restart the database manually for changes to take effect. Clone, irestore and
recover database operations will also try to use the same CPU pool if the CPU pool
is used by the source database. Specify the --cpupool
option to use
the new cpupool. The standby database uses the CPU pool configured for the primary
database. Specify the --cpupool
option in the
irestore-database
command when restoring the backup to the
standby site if you want to use a separate CPU pool on the standby site. For more
details about the command syntax, see the Oracle Database
Appliance Command Line Interface chapter in this guide.
About VM CPU Pools
For new VMs, you can attach the new CPU pool using the
create-vm
command. For existing VMs, use the
modify-vm
command to attach or update the CPU pool. Use the
--live
option to apply the changes to a running VM, and use the
--config
parameter to persist the change. For more details
about the command syntax, see the Oracle Database Appliance Command Line
Interface chapter in this guide.
About DB System CPU Pools
Creating a dbsystem automatically creates an internal dbsystem CPU pool associated with this dbsystem. The internal dbsystem CPU pool is created and managed internally. It cannot be created, modified, or deleted manually. Starting with Oracle Database Appliance release 19.11, you can create a new type of shared dbsystem CPU pool which can be shared among dbsystems. For more details, see the topic Managing Shared CPU Pool with Database System in a KVM Deployment in this guide.
About Audit Records for CPU Pools
CPU pool operations history are recorded in audit records metadata and
system log for audit purposes. The CPU pool changes include create, modify, delete
operations, and attach and detach operations from VMs and databases. The CPU pool
audit records can be queried using odacli list-auditrecords
and
odacli describe-auditrecord
commands but they can not be
changed or deleted. For more details about the command syntax, see the Oracle Database Appliance Command Line Interface chapter in
this guide.
Understanding the Effect of Changing the CPU Cores on CPU Pool Allocation
You may have changed the CPU core count on Oracle Database Appliance
using the odacli update-cpucore
command. You must assign cores in
multiples of two, with a minimum of two cores. If you change the CPU core count,
then you can subsequently only increase the CPU core count.
odacli create-cpupool
andodacli modify-cpupool
will always select the online CPUs. Therefore, on both bare metal and KVM deployments, any CPU pool created after running theodacli update-cpucore
command, will select from the available online CPUs.- For existing CPU pools on bare metal and KVM deployments, some
CPUs can become offline when you run the
odacli update-cpucore
command. Check the CPU pools for any offline CPUs using theodacli describe-cpupool
command. You can then update the CPU pool to use available ONLINE CPUs by using theodacli modify-cpupool
command. - If the databases use a CPU pool and some CPUs become offline,
then use the
odacli modify-cpupool
command to update the CPU pool. Restart the databases to use the updated CPU pool.
Creating a CPU Pool in a Bare Metal or KVM Deployment
Use ODACLI commands or the Browser User Interface to create a CPU pool in a bare metal or KVM deployment.
Using ODACLI to Create a CPU Pool
Use the command odacli create-cpupool
to
create a CPU pool.
cpupool1
with 6 cores
associated to
it.# odacli create-cpupool -n cpupool1 -c 6 -vm
Using Browser User Interface to Create a CPU Pool
- Log into the Browser User Interface:
https://host-ip-address:7093/mgmt/index.html
- Click the Appliance tab.
- Click CPU Pool to display the CPU Pool page.
- Click Create CPU Pool.
- In the Create CPU Pool page, specify the following:
- CPU Pool Name: Name of the CPU pool
- CPU Pool Type: Specify if the CPU pool is bare metal or virtual
- Number of CPU Cores: Number of CPU cores allocated to the pool
- Configure on: For high-availability deployments, select the nodes where you want to configure the CPU pool.
- Click Create.
- When you submit the job, the job ID and a link to the job appears. Click the link to display the job status and details.
- Validate that the job completed. You can track the job in the
Activity tab in the Browser User Interface, or
run the command
odacli describe-job
with the job ID.
Viewing CPU Pools in a Bare Metal or KVM Deployment
Use ODACLI commands or the Browser User Interface to view all CPU pools or details about a CPU pool in a bare metal or KVM deployment.
Using ODACLI to View CPU Pools
odacli describe-cpupool
displays details about a CPU pool. Use the command odacli
list-cpupools
to view all CPU pools in the
deployment.# odacli list-cpupools
# odacli describe-cpupool -n cpupool1
Using Browser User Interface to View CPU Pools
- Log into the Browser User Interface:
https://host-ip-address:7093/mgmt/index.html
- Click the Appliance tab.
- Click CPU Pool to display the CPU Pool page.
- You can view the list of all configured CPU pools.
- To view the details of a CPU pool, click on the CPU pool or click on the Actions drop down and select View Details.
Modifying a CPU Pool in a Bare Metal or KVM Deployment
Use ODACLI commands or the Browser User Interface to modify a CPU pool in a bare metal or KVM deployment.
Using ODACLI to Modify CPU Pool
Use the command odacli modify-cpupool
to
modify a CPU pool.
# odacli modify-cpupool -n cpupool1 -c 10
Restart the associated databases to use the updated CPU pool.
Using Browser User Interface to Modify CPU Pool
- Log into the Browser User Interface:
https://host-ip-address:7093/mgmt/index.html
- Click the Appliance tab.
- Click CPU Pool to display the CPU Pools page.
- From the Actions drop down list for the CPU pool you want to modify, select Modify.
- In the Modify CPU Pool page, specify any changes in the Number of CPU Cores, and select if you want to apply the changes to running VMs or if you want to force the modify operation. Then click Modify.
- When you submit the job, the job ID and a link to the job appears. Click the link to display the job status and details.
- Validate that the job completed. You can track the job in the
Activity tab in the Browser User Interface, or
run the command
odacli describe-job
with the job ID.
Deleting a CPU Pool in a Bare Metal or KVM Deployment
Use ODACLI commands or the Browser User Interface to delete a CPU pool in a bare metal or KVM deployment.
Using ODACLI to Delete CPU Pool
Use the command odacli delete-cpupool
to
delete a CPU Pool.
cpupool1
.# odacli delete-cpupool -n cpupool1
Using Browser User Interface to Delete CPU Pool
- Log into the Browser User Interface:
https://host-ip-address:7093/mgmt/index.html
- Click the Appliance tab.
- Click CPU Pool to display the CPU Pool page.
- From the Actions drop down list for the CPU pool you want to delete, select Delete.
- Click Yes to confirm your choice.
- When you submit the job, the job ID and a link to the job appears. Click the link to display the job status and details.
- Validate that the job completed. You can track the job in the
Activity tab in the Browser User Interface, or
run the command
odacli describe-job
with the job ID.
Viewing CPU Pool Audit Records in a Bare Metal or KVM Deployment
Use ODACLI commands or the Browser User Interface to delete a CPU pool in a bare metal or KVM deployment.
Using ODACLI to View Audit Record Details for CPU Pools
Use the odacli list-auditrecords
command to list the
audit records for a CPU Pool:
# odacli list-auditrecords
Use the odacli describe-auditrecord
command to describe
the audit record for a CPU Pool.
# odacli describe-auditrecord
Using Browser User Interface to View Audit Record Details for CPU Pools
- Log into the Browser User Interface:
https://host-ip-address:7093/mgmt/index.html
- Click the Security tab.
- Select Show Advanced Search and specify the filters for the CPU audit records details such as the From and To dates, Resource type, Resource name, DCS user name, Operation type, and the number of records to display the CPU Pool details.
- From the list of audit records displayed, click on the audit record ID for which you to drill down for more details.
About Over-Subscribed CPU Pools
Configure virtual machines so that they do not subscribe to more CPU resources than the resources available in CPU pools.
A CPU resource can belong to one, and only one, CPU pool. You can assign multiple virtual machines to a CPU pool. A CPU pool becomes oversubscribed when the virtual machines that are active in the pool require more CPUs than you configured for the pool. For example, if a CPU pool has four CPUs, then you can start two virtual machines that are defined to use four CPUs each. In this case, the CPU pool is oversubscribed, because each of the four CPUs is supporting two virtual machines.
If you stop one of those virtual machines, but start another one that requires two CPUs, then the CPU pool is still oversubscribed. This is because two of the CPUs are supporting both virtual machines. When oversubscribing a CPU pool, assess the performance of the virtual machines in that pool. Reassign one or more virtual machines to a different CPU pool if sharing an oversubscribed pool degrades performance to unacceptable levels.