Oracle licensing

Oracle VM Licensing – How to license Oracle software on OVM

Introduction to Oracle VM Licensing.

Oracle VM is a server virtualization solution that provides a platform for running multiple operating systems on a single physical server. It is based on the open-source Xen hypervisor and is designed to support various workloads, from small-scale applications to large-scale enterprise deployments.

While Oracle VM offers many benefits, users must know the licensing requirements and options.

In this article, we will explore the licensing options for Oracle VM and guide how to choose the suitable license for your organization’s needs.

We will also discuss the benefits and limitations of different license types and offer tips for optimizing your licensing costs.

Oracle VM – How To License Oracle

Understanding CPU Cores and Threads: a CPU core is a physical processing unit within a CPU that can independently execute tasks.

On the other hand, a CPU thread, also known as a logical processor or a virtual core, is a virtual processing unit created by splitting a physical core into multiple logical units.

When a hypervisor or a bare metal operating system presents a CPU to the guest virtual machine, it can either present a physical CPU core (without hyperthreading enabled) or a CPU thread (with hyperthreading enabled).

From the guest’s perspective, these CPUs are exposed as vCPUs, which the guest can schedule applications on.

Why CPU Cores and Threads Matter for Virtualization The number of CPU cores and threads you allocate to your virtual machines can significantly impact their performance. If multiple virtual machines run on a single physical server, each VM will need its own set of vCPUs.

However, if you allocate too few vCPUs, the VMs may struggle to keep up with the workload, leading to performance degradation and slower response times.

On the other hand, if you allocate too many vCPUs, you may waste resources and create contention for physical CPU cores or threads, which can also negatively impact performance. This is where hard partitioning, or CPU pinning, comes in handy.

Using Hard Partitioning to Optimize Performance Hard partitioning allows you to bind vCPUs to specific physical CPU cores or threads, preventing them from being scheduled on other cores or threads.

This can help you optimize performance by ensuring that each virtual machine has dedicated access to the resources it needs without interference from other VMs.

Oracle VM Server offers a powerful hard partitioning feature that enables you to pin vCPUs to specific CPU cores or threads. This can help you perform better and avoid potential bottlenecks in your virtual environment.

As long as you set your scheduling parameters correctly, all vCPUs from a guest will be symmetrical and treated equally by the hypervisor.

Conclusion In summary, understanding the difference between CPU cores and threads is crucial for optimizing the performance of your virtual environment.

You can ensure that your virtual machines run smoothly and efficiently by allocating the right amount of vCPUs to each VM and using hard partitioning to bind vCPUs to specific physical cores or threads.

With Oracle VM Server’s advanced hard partitioning feature, you have the power to take control of your virtual environment and achieve the best possible performance.

Oracle VM - How to license Oracle

Understanding Oracle Hard Partition Licensing

If you are running virtual machines with Oracle Software in your Oracle VM Server environment, it is essential to understand the hard partition licensing requirement.

To comply with the requirement, you must follow the guidelines in the relevant white paper to bind vCPUs to physical CPU threads or cores.

It is important to note that live migration of CPU-pinned virtual machines to another Oracle VM Server is not allowed under the terms of the hard partitioning license.

Therefore, if you have servers running CPU-pinned guests, these servers must not be included in DRS (Distributed Resource Scheduler) and DPM (Distributed Power Management) policies in Oracle VM Release 3.

However, hard partition licensing is not applicable when live migration is used in an Oracle VM server pool.

This means you need to determine the number of virtual machines running 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 physical servers in the pool.

For instance, if you have a server pool with 32 servers and 20 virtual machines running Oracle Software, you must license the 20 largest physical servers. On the other hand, if you have 50 virtual machines with Oracle Software in a pool of 32 physical servers, you only need to license the 32 physical servers in the pool.

It is worth noting that live migration of other virtual machines with non-Oracle software within the server pool is not relevant to Oracle software hard partitioning or has no impact on how Oracle software license is calculated. Additionally, “Trusted Partitions” offer subset licensing without limitations on live migration. Still, this feature is only available on the approved Oracle Engineered Systems listed on Oracle licensing policies for partitioned environments.

In conclusion, to ensure compliance with the Oracle hard partition licensing requirement, you must understand the guidelines for binding vCPUs to physical CPU threads or cores and ensure that live migration of CPU-pinned virtual machines is not permitted.

Following these guidelines can avoid licensing violations and ensure your Oracle VM Server environment runs smoothly and efficiently.

The “xm vcpu-list” command is essential for managing virtual CPUs in Oracle VM. This command provides you with a summary of which virtual CPUs are running on which physical CPUs, enabling you to pin virtual machines to specific physical CPUs and optimize performance.

For example, if you have a guest with two virtual CPUs running on a physical CPU (thread) 5, the “xm vcpu-list” command will show that both virtual CPUs could be running on either thread 5 or 6, and the guest is pinned on those two threads. You can then use the information obtained from the “xenpm get-cpu-topology” command to see that CPU 5 is thread 1 of core 2, and CPU 6 is thread 0 of core 8. In this case, the 2 vCPU guest is pinned to two separate physical cores, which can optimize the performance of your virtual machines.

By using the “xm vcpu-list” command, you can ensure that your virtual machines are running on the most optimal physical CPUs, which can significantly improve performance. This command allows you to allocate resources efficiently, reduce potential bottlenecks, and avoid overloading any single physical CPU. With a better understanding of how virtual CPUs are running on physical CPUs, you can optimize the performance of your virtual environment and improve overall efficiency.

How to configure Oracle VM Licensing

Oracle VM allows you to use the Oracle VM Utilities (ovm_vmcontrol) to configure hard partitioning. Here’s how to do it:

  1. First, download the Oracle VM Utilities in a .zip file from My Oracle Support. Search for patch ID 13602094 and read the patch readme file as versions of the utilities relate to versions of Oracle VM.
  2. Use the following command to connect to the Oracle VM Manager 3 and get the CPU/vCPU bindings for a virtual machine:
    ./ovm_vmcontrol -u admin -p Manager1 -h oracle_vm_manager_hostname -v apitest -c getvcpu
  3. You will get a response with the current pinned CPU for the virtual machine you specified, such as:
    Current pinned CPU: 5,6
  4. To bind the vCPUs to a specific core, use the following command:
    ./ovm_vmcontrol -u admin -p Manager1 -h oracle_vm_manager_hostname -v apitest -c setvcpu -s 0
  5. After binding the vCPUs, stop and then start the virtual machine to take effect. You can then check the CPU pinning status using the following command:
    xm vcpu-list 1
  6. Depending on the number of CPUs available, you can modify the vm.cfg file for the guest or virtual machine. For example:
    cpus = ‘0-3’
  7. This example allows only CPUs 0, 1, 2, and 3 to be used for the guest. Another example is:
    cpus = ‘0,1’
    This example allows only CPUs 0 and 1 to be used.
  8. If a guest has multiple vCPUs, you can specify the physical CPU(s) they can run on. For instance, with a 2 vCPU guest and an 8-CPU system, you can allow the vCPUs to run on any CPU by adding any cpu to the configuration:
    xm vcpu-list guest1
    Name ID VCPU CPU State Time(s) CPU Affinity
    guest1 4 0 4 -b- 8645.7 any cpu
    guest1 4 1 4 -b- 9843.6 any cpu
    Alternatively, you can specify the physical CPU(s) where they can run, such as:
    xm vcpu-list guest1
    Name ID VCPU CPU State Time(s) CPU Affinity
    guest1 26 0 0 -b- 8646.6 0
    guest1 26 1 0 -b- 9844.3 0
    This example specifies that both vCPUs should run on physical CPU 0.
  9. That’s it. With these steps, you can configure hard partitioning for virtual machines on Oracle VM

Expert Oracle Licensing Support at Your Fingertips

  • Former Oracle License Auditors: Benefit from the insights of experienced professionals.
  • Comprehensive Services:
    • Accurate licensing reports.
    • Specialized advice on Oracle licensing topics.
  • Global Reach, Remote Delivery: Serving over 200 clients in 41 countries, all services are delivered remotely.
  • Schedule a Consultation: Discuss how we can support your organization with our tailored Oracle licensing solutions.

Ready to optimize your Oracle licensing strategy?

Contact us today.


  • Fredrik Filipsson

    Fredrik Filipsson brings two decades of Oracle license management experience, including a nine-year tenure at Oracle and 11 years in Oracle license consulting. His expertise extends across leading IT corporations like IBM, enriching his profile with a broad spectrum of software and cloud projects. Filipsson's proficiency encompasses IBM, SAP, Microsoft, and Salesforce platforms, alongside significant involvement in Microsoft Copilot and AI initiatives, enhancing organizational efficiency.