During preparation for a client's datacenter migration, we decided to move services one-by-one to the datacenter / hardware in order to keep the scope of changes controlled. To accomplish this, we also needed to resize the CPU count of Exadata servers to better attend accommodating services and also keep licensing compliant. In this scenario, one of the steps would be increasing CPUs in the new datacenter and, on the same proportion, reduce CPU counts in the old hardware. Checking for the steps to accomplish that, however, we found references to change CPU and core count, but always described for increasing allocation, as per 2.7 Increasing the Number of Active Cores on Database Servers. Not much about reducing. I understand it can be a bit unusual, but in our case, it is perfectly reasonable. Also, consider that the planned change would be within the minimum number requirement: 2.1 Restrictions for Capacity-On-Demand on Oracle Exadata Database Machine. When reviewing on MOS, we found the When Attempting to Change the Number of Cores, Errors With: DBM-10004 – Decreasing the Number of Active Cores is not Supported ( Doc ID 2177634.1), pointing out that this procedure was actually not supported. The same doc, however, points to the use of clause “ FORCE” on “ ALTER DBSERVER pendingCoreCount =x” command as a solution. After confirming the procedure with an SR, we did indeed proceed with this. The only observation here goes to the disabling the iaasMode to play it safe and avoid the issue described as per MOS Exadata X6 Machine Is Not Showing Increased Corecount Value (Doc ID 2269705.1). Check the complete procedure below:
[root@server01~]# dbmcli DBMCLI: Release - Production on Mon Sep 05 01:10:12 EEST 2019 Copyright (c) 2007, 2014, Oracle. All rights reserved. DBMCLI> LIST DBSERVER attributes coreCount 36/44 DBMCLI> ALTER DBSERVER pendingCoreCount = 24 force DBM-10022: At least 26 physical cores need to be active in order to support IaaS. DBMCLI> ALTER DBSERVER iaasMode = "off" DBServer exadb01 successfully altered DBMCLI> ALTER DBSERVER pendingCoreCount = 24 force DBServer server01 successfully altered. Please reboot the system to make the new pendingCoreCount effective. DBMCLI> LIST DBSERVER attributes pendingCoreCount 24/44–> Restart the server After restarting, it should look like:
DBMCLI> LIST DBSERVER attributes coreCount 24/44 DBMCLI> LIST DBSERVER attributes pendingCoreCountHope this helps!
Share this
Previous story
← Working with Ansible, PostgreSQL and Docker
You May Also Like
These Related Stories
Optimizing CPU cores and threads for Oracle on AWS
Optimizing CPU cores and threads for Oracle on AWS
Jul 18, 2018
4
min read
Database migration: how to handle large tables
Database migration: how to handle large tables
Jun 26, 2018
3
min read
The getMOSPatch V2 is here!
The getMOSPatch V2 is here!
Jul 7, 2016
3
min read
No Comments Yet
Let us know what you think