Tag Archives: licensing

Oracle licensing: recent changes?

Oracle seems to have changed something in their licensing policy because in two recent cases I have heard of companies being able to license Oracle on a per host basis in stead of per cluster.

I have heard this now in two seperate instances with one person mentioning that this had changed in the last months because of Oracle’s own initiatives with virtualization. If anyone has recent info I am very interested if there has been a change in Oracle’s licensing policy.

Oracle licensing

Just like IBM for Websphere licensing there are all sorts of issues with licensing Oracle when used in a virtualized environment. Because the advantages of virtualizing Oracle outnumber the disadvantages in my experience so far it is highly recommended to specifically address the licensing consequences and the possible influence that this has on the final design. This prevents any nasty surprises afterwards when you get an Oracle licensing audit.

The current situation is as follows:
How to calculate your licensing needs for Oracle Application Server and Oracle Database Server products is described in the Software Investment Guide (http://www.oracle.com/corporate/pricing/sig.html). Oracle database and application server both fall under the category of “Oracle Technology products”. Technology products have two forms of licensing: Named User Plus and Processor. If you have a larger deployment (> 50 users) than you will almost certainly user processor based licenses which is what I am focusing on in this post.
The software investment guide has the following quote regarding licensing Oracle within a virtualized environment:
“Oracle only recognizes hardware partitioning as a mean to install and license Oracle on fewer than the total number of processors in the box”.
This affects virtualization customers in the following way:

  • Oracle categorizes x86 virtualization solutions as “software partitioning”
  • If you use a cluster of virtualization hosts the term “box” as mentioned in the quote applies to the entire cluster of hosts
  • With VMotion, DRS and HA you need to license all the servers that the virtual machine could end up on (this may or may not include passive HA nodes, I do not know that at this time)
  • Oracle does not recognize locking a virtual machine to a host through the virtualization software with the goal to license only that cluster host. This also defeats much of the advantages of virtualizing the Oracle servers anyway.
Depending on the number of servers that have Oracle software you have the option to let them be physical servers or:
  • Make a separate cluster for Oracle VM’s. You can add other vM’s ofcourse but you need to ensure Oracle VM’s do not go outside of that dedicated cluster
  • Plan failover capacity for both clusters (this could mean more capacity than necessary if you place all the hosts in the same cluster so calculate VMWare licenses and hardware accordingly).

Oracle licensing examples

Example 1:

Company X has 20 physical servers with two dual core processors running 15 times Oracle database and 5 times Oracle Application Server (IAS). Their planned host cluster consists of four DL580’s with four quad core CPU’s running a mixed environment. Currently they have licensed 15 x 2 x 2 x 0,5 = 30 CPU’s database and 5 x 2 x 2 x 0,5 = 10 CPU’s Application Server. The processor metric for the new situation will become: 4 x 4 x 4 x 0,5 = 32 CPU’s for database and IAS. This means they have to license two extra CPU’s Oracle database and 22 extra CPU’s IAS. This would mean an extra cost of $80000 for the databases and $660000 for the IAS licenses.

Creating a two-node cluster for Oracle VM’s to get around the licensing issue they calculate they need an extra cluster host for the “other” servers making the total tot 5 hosts. This will cost an extra server + VI license but will have a positive effect on Oracle licensing by reducing the number of processors to: 2 x 4 x 4 x 0,5 = 16 CPU’s database and IAS.

This means they save 14 x $8800 in annual maintenance and support fee for the database vs. an additional investment for 4 CPU’s IAS at $30000 per CPU and $6600 per year in maintenance and support which means they can expect an ROI within roughly two years.

Example 2:

Company Y has five physical servers with two dual core processors running Oracle database software. In Oracle processor metric they need to license 5 x 2 x 2 x 0,5 CPU’s = 10 CPU’s. They want to virtualize these servers to one HP BL480 blade server with two quad core CPU’s. The processor metric for this server is 2 x 4 x 0,5 = 4 CPU’s. However if that one server fails than everything is gone. So they plan a second BL480 in a cluster making the total processor metric 2 x 2 x 4 x 0,5 = 8 CPU’s. This means 2 CPU’s less than they have currently licensed saving $8800 per CPU per year in maintenance and support (before discount).

Compared to the investment needed in extra hardware and VI licenses there would need to be significant other factors like a high valuation of the increased resilience of the environment (because of the added failover capacity) to make this business case work.

Disclaimer: These are theoretical examples based on my experience with Oracle licensing, please discuss your licensing needs with your local Oracle rep.

Websphere licensing

IBM licensing has had a real makeover about 18 months ago with the introduction of the PVU (Processor Value Unit). All prices are calculated per PVU which makes it easy to calculate your licensing fee once you have figured out the number of PVU’s you have.

In a virtualized environment however this poses the following challenges:

  • In a heterogenous environment finding out the number of PVU’s requires you to count them based on the PVU table supplied by IBM: PVU Table. If you use single, dual and quad core CPU’s in your clusters this can become quite a task
  • IBM does not recognize resource groups as a means of reducing the number of licenses. The current policy requires you to license the entire cluster that a Websphere virtual machine resides on. The reasoning behind this logic is that because of VMotion/DRS a server can be on any host using any resource so all should be licensed. Depending on the configuration of a failover environment it is possible that you need to license that failover environment as well.
  • The above point could force unwanted or unnecessary design alterations as you need to take into account a seperate cluster for Websphere servers where you maybe wouldn’t want to do that. This could have VMWare and Websphere licensing and hardware consequences by increasing the number of necessary licenses and servers to create separate Websphere clusters.
    • An example: if you have two dual core physical servers running Websphere and you use quad dual-core CPU hosts than you have a four fold increase in Websphere licenses even if you put them in a dedicated cluster. This logic evens out when you have significantly more Websphere instances but you will still need to take it into account as a design constraint and calculate how many hosts you need in the cluster for Websphere VM’s to ensure sufficient availability of resources for operation and a sufficient amount of resources for host failure.

Licensing in virtualized environments

As I encounter different technologies in virtualized environments it has become clear that one field that does not benefit from virtualization is licensing. Each software vendor is free to determine it’s own licensing terms and a lot of them end up with licensing terms that do not quite match the licensing terms of others.

In the series of posts in the category “Licensing” I will discuss different technologies and vendors and how they approach licensing in virtualized environments as I have encountered them. Feel free to share to your own experiences with the particular vendor or application so I can make separate posts about that.Ā 

Application Licensing

The reason for making a post about licensing is the possible pitfall that could exist in your software vendor’s licensing terms.

While VMWare itself doesn’t make a big deal out of multiple core processors we nearly fell into the trap of Oracle’s dual core and virtualization standpoint. For us, having about half the servers on Microsoft Windows 2000 or 2003 we will have to keep an accurate licensing count but for the sake of the example I’ll just stick with Oracle.

Oracle’s general licensing terms are described in the Oracle Software Investment Guide (SIG) which is currently located at: http://www.oracle.com/corporate/pricing/sig.html. This is a 56 page document outlining everything there is to know about the different Oracle products.

To make life easier….. Oracle uses different metrics and licensing criteria for virtually each product. We use both Oracle 9i Enterprise database software and Oracle 10g Application Server software (which is version 9 release 4 to make it simple). In our situation there were two important criteria in determining the licensing:

1. Processor Metric

Because of the size of the company we use perpetual per processor licensing. Because we are currently using single core servers but are switching to dual-core Opteron servers it is important to keep track of Oracle’s definition of the Processor Metric. The SIG describes this as follows: “…………..For the purposes of counting the number of processors which require licensing for AMD and Intel multicore chips, ā€œnā€ cores shall be determined by multiplying the total number of cores by a core processor licensing factor of .50“.

2. Partitioning Servers

Oracle doesn’t mention virtualization as a criterium in the SIG document. The wider definition used there is “Partitioning”. The SIG gives the following definition for partitioning in relation to Oracle licensing:

Oracle recognizes that customers may elect to partition servers for various reasons. These might include achieving lowered costs and simplified management by running multiple operating systems, such as Windows NT and UNIX, on the same server, or improving the workload balancing and distribution by managing processor allocations within applications and among users on the server. While there are two broad categories of partitioning ā€“ software partitioning and hardware partitioning – for licensing purposes, Oracle only recognizes hardware partitioning as a mean to install and license Oracle on fewer than the total number of processors in the box.

In short this means that for our DL585’s the Processor Metric is:

8 cores * 0.50 = 4

So if you are thinking (like we were) about ditching a two way Oracle server for a single vCPU Virtual Machine on a 4-way server which you then give extra resources to achieve the same performance and use that to save on Oracle licensing then you will see that’s not possible given Oracle’s current licensing position with regards to software partition / virtualization.

In the preparation for the project I am fortunate that I only have to check this for a limited amount of apps but keep this in mind if you have this form of licensing for other applications.