Our company is having a debate with Oracle LMS (Oracle License Management Services) over their method of counting sockets in AMD multi-chip CPUs. It is our opinion that their method is particularly unorthodox when counting sockets if Oracle DB SW is licensed with Standard Edition 2 (Oracle DB SE2) license.
Oracle DB SE2 software can only be installed on HW that complies with certain limitations. These limitations state that it can only be installed on a server that has a maximum of two sockets. As no hard-partitioning is allowed for Oracle DB SE2 this means that the whole server has to be taken in regard. In monolithic CPU-s 1 socket meant 1 physical CPU socket, but if a CPU is constructed of chiplets, Oracle considers this a multi-chip-module processor (MCM). If a CPU is MCM each physical CPU is counted as more than one socket.
Here comes the interesting part: In case of all generations of AMD EPYC processors Oracle counts each CCX (yes CCX, not CCD) as one socket. Meaning that there is no AMD EPYC processor (apart from some embedded models) which can be used to run Oracle DB SE2 software. This renders some bizarre cases where there is for instance only 1 active core per CCX (7262), meaning that Oracle counts this chip as 8 sockets, while this chip only has 8 cores.
Our company prefers using AMD CPU-s as they historically had more cores which is beneficial for running databases, but this Oracle LMS policy actually prevents us from offering servers with EPYC processors to our customers for running Oracle DB SE2. Now-days AMD EPYC CPU-s are superior to Intel and this is why we really want to use them, but are limited because of these limitations.
We have consulted Oracle a couple of times over the last year and this information that I'm sharing with you today is about a month old. Information that we got about a half year before that was that all standard AMD (Opteron and EPYC) and Intel (Xeon) server processors count as monolithic (1 CPU = 1 socket). This only started changing in the recent times.
In the past I also received information from Oracle that when they receive inquiries regarding CPUs and licensing, they contact manufacturer (namely you) to consult about CPU architecture. But in this last case when Oracle explained this metrics of their to me personally they took for reference this wiki page: https://en.wikipedia.org/wiki/Epyc and that they get information about CCX number from the first number in "Core Config" tables on this page.
I'm wondering whether you have any information that would render this Oracle socket counting policy incorrect - I imagine that you must have come across this issue before, as this must be a pressing issue for your company.
Kindest regards,
This really is a big issue for small organizations. AMD should clarify with Oracle and ease the burden, AMD EPYC CPUs are a no-no in this context.
Did you further investigate this topic or come to an agreement with Oracle?
Are they still standing their grounds and making AMD EPYC unusable for Oracle SE2? In theory you can do some hard partitioning with Oracle Linux Virtualization Manager ... but castrating your EPYC CPU to a single core in the worst case makes absolutely no sense (and even the worst Intel CPU will give you much higher performance).
It's not like we get the performance of 8 Multicore processors with a single AMD EPYC CPU and even then the 16 thread limit per Oracle instance would be enforced ...
I'm in the same boat, I'm going to ask my hardware vendor. if not Intel CPUs are still a good option, there is a significant risk if oracle counts it non compliant.
I'm in the same boat, going to check with my hardware vendor. Leaning toward Intel as this could cause compliance issue with oracle licensing.