Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Neil.

Asked: February 10, 2020 - 1:28 pm UTC

Last updated: December 08, 2022 - 12:44 am UTC

Version: 11.2.0.4 Standard Edition x64

Viewed 10K+ times! This question is

You Asked

Hello!

Thanks for answering my questions regarding the testing of Oracle SE2's CPU thread limit on Oracle 11g Standard Edition - I really appreciate the informative response.

I have a related question...

If we have a server with, say, 18 CPUs hosting 4 SE2 single-instance databases, would each of the single-instances 'see' 16 CPUs (i.e., SE2's CPU thread limit) or would SE2's 16 CPU thread limit be shared between the instances, so they each see only 4 CPUs?

Similarly, if the same server hosted a single-instance database and one node of a 2-node RAC, which of the following would apply:

1. Single-instance would be limited to 16 CPU threads while the RAC node would be limited to 8
2. Single-instance would be limited to 8 CPU threads while the RAC node would also be limited to 8

I'm aware of the recent announcement re 19c SE2 no longer supporting RAC! These are just theoretical questions at the moment.

Many thanks,

Neil Garside

and Connor said...

This is from the Mar 19 license guide ( https://www.oracle.com/assets/lic-def-rules-v030819-5390819.pdf )

You are responsible for ensuring that the following restrictions are not violated:

Oracle Database Standard Edition 2 may only be licensed on servers that have a maximum capacity of 2
sockets. When used with Oracle Real Application Clusters, Oracle Database Standard Edition 2 may only be
licensed on a maximum of 2 one-socket servers. In addition, notwithstanding any provision in Your Oracle
license agreement to the contrary, each Oracle Database Standard Edition 2 database may use a maximum of
16 CPU threads at any time. When used with Oracle Real Application Clusters, each Oracle Database Standard
Edition 2 database may use a maximum of 8 CPU threads per instance at any time. If You purchase Named
User Plus (NUP) licenses, You must maintain a minimum of 10 NUP per server


Hence, it is No. 1 in your listed options ("Single-instance would be limited to 16 CPU threads while the RAC node would be limited to 8").

But please

a) take note of the responsibilities regarding *socket* count
b) always clarify with your local Oracle account representative. Anything regarding licensing on AskTOM is our opinion/interpretation only and should not be taken as official position by Oracle (because we in the team don't work for the licensing division)

Rating

  (2 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

19c SE2 thread count

Alan, September 09, 2021 - 2:38 pm UTC

Hi,
am trying to find a definitive answer on the thread count in SE2.

I have a server with 128 threads as show by the parameter cpu_count

to be compliant with the SE2 license do I set this parameter to 16

I cant seem to find anywhere on metalink a definitive guide on this

regards

Alan
Connor McDonald
September 13, 2021 - 1:58 am UTC

As long as you have no more than 2 sockets (physical CPUs) you're good.

SE will not use more than 16 concurrent CPU threads anyway - its baked into the kernel.

Good FAQ here

https://www.oracle.com/database/technologies/standard-edition-2-faq.html

Oracle SE2 multiple VMs on a CPUs more than 16 cores

Slawomir O., December 06, 2022 - 12:38 am UTC

I cannot find any answer to the following question:

Assume I have only a single server with a single CPU socket in my environment. The CPU is 36-core, however. I virtualize this host with Oracle Linux KVM. I want to run multiple VMs with (single-instance) Oracle SE2 on this host using Oracle Linux as guest. I do not want or need to follow hard partitioning policies, since the whole computing power will be covered with Oracle license(s).

How do I correctly license Oracle SE2 in this scenario?

Is there only a single socket Oracle SE2 license required? In this case, I one may notice, I could fully use all 36-cores (72 threads). Although each of the Oracle SE2 will limit itself to 16 threads, but if I run some 5 or more VMs this could lead to a full use of the computing power of the CPU. What rules should I follow in a scenario with multiple VMs on servers with CPUs having more then 16 cores?

In the above scenario I feel like I am overcoming the 16-thread limit. Probably I am missing some important policy or rule. I am just reading what was said in the "Hard Partitioning with Oracle Linux KVM" dated June 2022 available there: https://www.oracle.com/a/ocom/docs/linux/ol-kvm-hard-partitioning.pdf

"Live migration of CPU pinned virtual machines to another Oracle Linux KVM node is not permitted under the terms
of the hard partitioning policy. Consequently, the cluster, that is a pool of Oracle Linux KVM nodes with shared
storage, must not be configured with any scheduling policy available on Oracle Linux Virtualization Manager.
When live migration is used with pinned virtual machines running Oracle software in an Oracle Linux KVM cluster,
hard partition licensing for Oracle software is not applicable. You must determine the number of virtual machines
running the Oracle software and then license the same number of physical servers (starting with the largest servers
based on the CPU core count) up to the total number of the physical servers in the cluster. For example, if a
customer has a cluster with 32 servers and 20 virtual machines running Oracle software within the cluster, the
customer must license the 20 largest physical servers in the cluster. If the customer is running 50 virtual machines
with Oracle software in a cluster of 32 physical servers, they need only to license the 32 physical servers in the
cluster. "

Please let me know, if you think you can advice.
Connor McDonald
December 08, 2022 - 12:44 am UTC

As per

https://www.oracle.com/assets/databaselicensing-070584.pdf

"each Oracle Database Standard Edition 2 database may use a maximum of 16 CPU threads at any time."

So you don't even need to VM that box. You can have as many standard edition databases as you want, and each one will be limited to 16 threads, thus allowing you to utilise all of the cores on the box.

One thing I'd note is that typically more cores = higher overall throughput but less performance per core. Some customers on SE2 deliberately go with lower core counts in order to get the absolute max performance out of the 16 threads. But if you want the box to run lots of the databases, then by all means, go big on core counts.


More to Explore

Administration

Need more information on Administration? Check out the Administrators guide for the Oracle Database