ODA CPU Core Reset

ODA CPU core reset, is one of those tasks that seems simple—until patching quietly reverts your setup. During a recent post-patch check, we spotted that the capped core count had been lifted. Thankfully, this fix was in our hands, unlike my favorite football team’s season 🙁

After Patching an ODA to 19.23, during post-patching validations we noticed that the CPU cores had been reset and the cap imposed had been removed. And to fix this had to reset them.

Why Perform an ODA CPU Core Reset?

Adjusting the number of active CPU cores on your ODA can be necessary for several reasons:

  • Licensing Compliance: Oracle’s licensing is often tied to active cores. Reducing them can help align with entitlements and keep costs in check.
  • Performance Optimization: Increasing cores boosts capacity; scaling down reduces overhead when demand is low.
  • Testing and Development: Varying core allocation helps simulate performance under different resource constraints.

In our case, the core reset was required to stay within licensing limits after patching unexpectedly re-enabled all available cores.

Things to Know Before Resetting CPU Cores on ODA

  • System Downtime Is Required: Changing CPU core allocation triggers a full reboot of the appliance.
  • HA Configuration Requires Dual Changes: On HA ODAs, the core change must apply to both nodes.
  • Some Reductions Require -f: If you’re trying to reduce cores a second time, you’ll need to use the force option.

How to Perform an ODA CPU Core Reset

  1. Check the Current Core Count
# odacli describe-system | grep -i cpu
# lscpu | grep 'Core\|Socket'
# odacli list-cpucores

Sample output

#odacli list-cpucores

Node  Cores  Modified                           Job Status
----- ------ ---------------------------------- ---------------
0     32     October 2, 2024 2:11:49 PM EDT     CONFIGURED

2. Prepare for Reboot

Make sure that you are ready for a system reboot before next step

3. Modify Core Count

Modify the number of active CPU cores on your ODA, and use the odacli modify-cpucore command. For example, to set the number of cores to 4:

# odacli modify-cpucore -c cores

This generates a job, Sample output

# odacli modify-cpucore -c 4
Modifying the enabled number of CPU requires a reboot of all nodes in the ODA system. Are you sure you want to proceed with this operation? (Y/N): Y
{
  "jobId" : "bdb35034-daf3-4393-95c2-397f73332f01",
  "status" : "Created",
  "message" : null,
  "reports" : [ ],
  "createTimestamp" : "January 23, 2025 13:21:01 PM EST",
  "resourceList" : [ ],
  "description" : "CPU cores service modify",
  "updatedTime" : "January 23, 2025 13:21:01 PM EST",
  "jobType" : null
}
WARNING: Reducing the number of enabled cores may set offline any of the CPUs used by a CPU Pool. Thus, please review the status of all the CPU Pools after this operation using the 'describe-cpupool' command. In case of any CPU from a CPU Pool was offline please run 'remap-cpupools -f' to modify the list of CPUs and use only online CPUs
WARNING: All the nodes in this ODA system will reboot after this operation has completed

4. Validate Post-Reboot Core Count

Sample output

# odacli describe-system | grep -i cpu
CPU Core Count: 4

# lscpu | grep 'Core\|Socket'
Core(s) per socket: 2
Socket(s):           2


#  odacli list-cpucores
Node  Cores  Modified                           Job Status
----- ------ ---------------------------------- ---------------
0     32     October 2, 2024 2:11:49 PM EDT     CONFIGURED
0     4      January 23, 2025 13:21:01 PM EST  CONFIGURED

DCS-10045:Validation error encountered: reduction in number of cores is not supported

Here’s something to keep a note of — after one reduction (say, from 10 to 4), any further reductions (e.g., from 4 to 2) will fail unless you use the -f (force) option

For e.g. If you try to reduce cores again (e.g., from 4 to 2), the following error appears:

# odacli modify-cpucore -c 2
Modifying the enabled number of CPU requires a reboot of all nodes in the ODA system. Are you sure you want to proceed with this operation? (Y/N): Y
DCS-10045:Validation error encountered: reduction in number of cores is not supported.

# odacli modify-cpucore -c 2 -f
Modifying the enabled number of CPU requires a reboot of all nodes in the ODA system. Are you sure you want to proceed with this operation? (Y/N): Y
{
  "jobId" : "75d8c283-2ab7-4a76-bdba-d3014e46feb1",
  "status" : "Created",
  "message" : null,
  "reports" : [ ],
  "createTimestamp" : "January 23, 2025 13:55:17 PM EST",
  "resourceList" : [ ],
  "description" : "CPU cores service modify",
  "updatedTime" : "January 23, 2025 13:55:17 PM EST",
  "jobType" : null
}


# odacli list-cpucores
Node  Cores  Modified                           Job Status
----- ------ ---------------------------------- ---------------
0     32     October 2, 2024 2:11:49 PM EDT     CONFIGURED
0     4      January 23, 2025 13:21:01 PM EST  CONFIGURED
0     2      January 23, 2025 13:55:17 PM EST  CONFIGURED

If CPU Pools were previously configured, reducing cores may leave them misaligned.

Check and remap:

# odacli list-cpupools
No data found for CPU Pool

# odacli remap-cpupools -f

In many ODA environments running Enterprise Edition without unlimited licenses, it’s common to reduce the number of active CPU cores to align with licensing limits. That setup usually stays untouched post-deployment.

But here’s something that slips under the radar — patching your ODA can sometimes re-enable all CPU cores by default, without any explicit warning. No alert, no confirmation — just a quiet reset that could leave you out of compliance.

It’s a subtle change, but one that’s worth verifying after patch cycles — especially if core limits matter in your licensing model.

And at other times, patching also brings in helpful surprises. That’s how the new utility odaconfigcli showed up on the radar — quietly bundled in during a patch, and now a handy tool for collecting ODA configuration snapshots.



Discover more from oratrails-aish

Subscribe to get the latest posts sent to your email.