Today I’ve chosen to blog about Oracle database licensing policy for two reasons. First, My experience with Oracle databases always revolved around the performance tuning work, so I never had to bother about licensing bits. In last few months quite number of times some friends in my network approached me about how Oracle license its products. In latest situation, at my workplace I’ve been asked to review the Oracle licenses for a large data center with virtualized environment. Secondly technology has evolved very fast in recent years. Virtualization and Cloud computing has really made the licensing policies more complex. This triggered me to dig into the details and write about it.
My intent is to discuss about Oracle policies for educational purpose and if you are planning to buy/renew Oracle license for your environment, I strongly recommend to refer official Oracle policies. Some of the links, I have mentioned at the end for your reference.
With the intention to make this post self-contained, I have discussed some additional things which are related to licensing policies like different Oracle database editions, hardware terminology, Cloud computing etc.
Without further ado, let’s start our discussion with licensing for an Oracle database running on physical servers (non-virtualized environments). Licensing requirements in this case depends on database edition, software environment and whether you want to license based on named users or number of processors. Before delving into actual details, let me quickly touch base on these criteria.
Database environment: Typically we can differentiate database environments into three categories:
- Development Environment
- Test Environment
- Production Environment
You can use full database licenses for development OR optionally you can download absolutely free database software from Oracle Technology Network (OTN). In order to download an Oracle product from OTN, you have to accept the OTN Development License. According to this agreement, user can use the licensed product for development purpose and has not the right to deploy applications. Please refer references section for further details on OTN licensing. Test and Production environments must be fully licensed and OTN option is only available for development environments.
Now a brief discussion about various Oracle database editions. Oracle database comes in five flavors or edition, each suitable for different scenario.
- Express Edition: This is an entry-level, small-footprint database that’s free. Of course it comes with certain restrictions, It can be installed on any size host machine with any number of CPUs (one database per machine), but can store up to 4GB of user data, use up to 1GB of memory, and use one CPU on the host machine.
- Personal Edition: This edition of an Oracle Database is designed to provide software developers a cost effective, yet full featured Oracle Database environment without technical limits.
- Standard Edition One: It is an affordable, full-featured database for servers with up to two sockets.
- Standard Edition: Standard Edition is an affordable, full-featured database for servers with up to four sockets.
- Enterprise Edition: The Oracle Database Enterprise Edition (EE) offers industry-leading database solution without any restriction.
For further differences between various database editions, refer MOS Doc ID 465455.1
Now let’s take a step further, and discuss hardware terminologies:
- Socket: Physical receptacles on server main boards that accommodate CPU packages. Our laptop has 1 socket.
- CPU package: A silicon die which fit into socket.
- CPU core: The core is a self contained execution unit on the silicon die and capable of doing processing. Multi-core CPUs have multiple execution cores on the single piece silicon die.
These days most of the processors are of multicore capability (dual and quad core, also called 2-way and 4-way respectively). This means that a single physical package has more than one execution core. Thus a server can have multiple physical sockets and a single physical socket in turn can accommodate a package with more than one execution core. This means a machine with 2 physical sockets, can accommodate 4 CPUs; and if each package is dual core, we have 8 cores of execution.
License Metrics: Oracle database can be licensed using two metrics, Named User Plus or Processor with the exception of the Personal Edition which can only be licensed using the Named User Plus metric.
The Named User Plus metric is used in environments where users (or non-human devices accessing the database, for eg temperature monitoring device) can be easily identified and counted. The Processor metric is used where users cannot be easily identified and counted, such as internet-based applications. The Processor metric is also used when it is more cost effective than Named User Plus licenses.
Let’s start with Named User Plus licensing for different database editions:
- Standard Edition One can only be licensed on servers that have a maximum capacity of 2 sockets. It requires a minimum of 5 Named User Plus licenses or the total number of actual users, whichever is greater.
- Standard Edition can only be licensed on servers that have a maximum capacity of 4 sockets. It requires a minimum of 5 Named User Plus licenses or the total number of actual users, whichever is greater.
- The Enterprise Edition requires a minimum of 25 Named User Plus per Processor licenses or the total number of actual users, whichever is greater.
Example: A customer who wants to license the Database Enterprise Edition on a 4-way box will be required to license a minimum of 4 processors * 25 Named User Plus, which is equal to 100 Named User Plus.
Oracle’s processor based licensing are based on number of CPU cores but number of total CPU cores should be converted to number of processor. Oracle has a predefined core processor licensing factor which you can use for your platform. So all cores on all multi-core chips are to be aggregated before multiplying by the appropriate core processor licensing factor and all fractions of a number are to be rounded up to the next whole number.
As explained Oracle Standard One and Standard editions are licensed based on the sockets with restriction of 2 and 4 sockets respectively, for such editions a processor is counted equivalent to a socket; however, in the case of multicore-chip modules, each core in the multi-chip module is counted as one occupied socket. It means 2-socket server each having one dual-core CPU, will be considered as 4 sockets server and is not eligible for Standard One edition installation.
Let’s take another example of a multi-core chip based server with total 6 cores and an Oracle Processor Core Factor of 0.25, which would require 2 processor licenses (6 multiplied by 0.25 equals 1.50, which is then rounded up to the next whole number, which is 2).
Also a multicore hardware platform not specified in the Oracle Processor Core Factor Table, will have a core processor licensing factor of 1.0, means all the cores will be equivalent to a processor.
Now, let’s discuss licensing for virtualized environments. There can be two types of virtualized environments: soft-partitioning and hard-partitioning. In soft-partitioning, CPU capacity can be changed on runtime as additional resource is needed. This is a flexible way of managing resources. In hard-partitioning, a physical server is separated into distinct smaller systems, each with its own CPUs. Oracle licensing is straightforward. One has to license for all the CPUs configured on the system in case of soft partitioning and only for number of CPUs configured to that partition in case of hard partitioning. Here are few illustrations:
- A server has 32 CPUs installed, but it is hard partitioned and only 16 CPUs are made available to run Oracle. The customer is required to license Oracle for only 16 CPUs.
- A server comes with 30 CPUs and Oracle is installed on this server. If this server cannot be hard partitioned, the customer must obtain licenses for all 30 CPUs.
On cloud computing environment, Amazon Web Services (AWS) is the only cloud service vendor licensed to run Oracle database. AWS offering is termed as Amazon Elastic Compute Cloud (EC2). In the cloud environment, licensing is based on the number of virtual cores and each virtual core should be considered equivalent to a physical core.
It means for Oracle Standard Edition One or Standard Edition, EC2 instances with 4 or less virtual cores are counted as 1 socket, which is considered equivalent to a processor license. For EC2 instances with more than 4 virtual cores, every 4 virtual cores used (rounded up to the closest multiple of 4) equate to a licensing requirement of 1 socket. It means, under cloud computing, Standard Edition can only be licensed on EC2 instances up to 16 virtual cores and Standard Edition One can only be licensed on EC2 instances up to 8 virtual cores.
For Enterprise editions, virtual cores should be converted to number of processors using standard core processor licensing factor. For example, licensing Enterprise Edition on a single EC2 instance of 8 virtual cores (platform with core processor licensing factor of 0.5) would require 8 * 0.5 = 4 processor licenses.
Standard named user plus licensing policies are also applicable in cloud environment.
That’s the end of the story. Please feel free to post comments if you have questions or feedback to share.
References (Further Reading) …
1) Oracle Technology Network Developer License Terms
2) Different Oracle Database Licensing Policies
3) Oracle’s Software Investment Guide
5) Oracle Processor Core Factor Table
6) Online Purchase of Oracle Products



hi,
I just want to drop u a question about oracle licensing. Currently my organisation had purchased oracle database 11g. What happen to our database or application if we not renew licence. in clear word..to cut cost?
Comment by anakkrai — February 16, 2011 @ 20:24 |
As far as I know, though you dont renew ur license, once it is purchased, it is enough , but u will not get support/updates when it expires usually after 1 year, but license u bought for 1 year u r not illegal….still u can use the existing version of software.
Anwar
Comment by Anwar — March 1, 2011 @ 15:10 |
Anakkrai,
You must renew your Oracle database licence, because:
1) Using unlicensed software is unethical.
2) It is illegal.
3) Using licensed software is an audit-able thing, so will be caught during External IT auditing
4) You will not get product support (MOS).
So in short, this is illegal and Oracle can sue your organization. There are other ways of cost cutting which you should consider (for e.g. reducing staff).
Neeraj
Comment by neerajbhatia — February 18, 2011 @ 09:58 |
I don’t see how this is illegal. You have paid for the software and the license for one year. You are paying for maintenance not the license for the years following. If you don’t pay for maintenace you will not receive patches and any help from Oracle.
Comment by Jeff — October 18, 2011 @ 21:27 |
Hi,
I am testing my application with oraclexe. I know oraclexe is free to use. Suppose I want to test my application with oracle personal edition. Should I have to buy license for this? Please note application and database is in my local machine and it’s not in a testing server or production server. My question is that is it possible to use my application with oracle personal edition in my local machine for testing and development purposes without licensing? Also, please note this is all done locally and my machine not connecting to network.
Thanks in advance.
Kind regards,
Santosh Kumar.
Comment by santosh kumar — February 25, 2011 @ 16:05 |
Why don’t you read the OTN licensing (accept if you like the terms) and do your testing/development on your machine under the OTN licensing. Then, you can use the EE version instead of the Personal Edition. Personal edition is personal and requires a license. (that is a period
If your company is OPN member, that makes testing/development much easier – have you guys considered that as well ?
Comment by Z — February 1, 2012 @ 00:33 |
We have server having 8 core processors , we are about to buy oracle 10g enterprize license, For testing purpose we installed enterprize oracle 10g 64bit, Please let me know without license max processors utilization will happen or not?
Comment by mahesh.kasbe — March 25, 2011 @ 01:16 |
Yes it will happen if you are using Oracle software downloaded from OTN.
Cheers,
Neeraj
Comment by neerajbhatia — March 28, 2011 @ 15:56 |
I have a question about the way Personal Oracle License works.
I am a developer and I can see that if you us what I call a traditional development environment you have personal oracle installed on your development machine plus your full development environment and everytuhing is fine, no license issues. I would guess you can have several sessions open to database, SQLPlus and the application you are testing but because you are running everything on one machine there are no Issues.
But I preffer to work in an environment where the database is on a virtual machine and develop and test against that. This has a number of advantages, it is more realistic of a live environment. It is very easy to have different versions of the database in different VMs and switch between which database you test against. Easy to backup a virtual machine. Easy to configure on another development machine…
But will Personal Oracle be OK, in particular with regard Licensing, now is possible to have several sessions open to the database or will it be blocked because these are considered as multiple users?
Comment by Brett Collins — April 27, 2011 @ 18:02 |
Hello Neeraj,
You write the following about Oracle Standard One and Oracle Standard editions:
“As explained Oracle Standard One and Standard editions are licensed based on the sockets with restriction of 2 and 4 sockets respectively, for such editions a processor is counted equivalent to a socket; however, in the case of multicore-chip modules, each core in the multi-chip module is counted as one occupied socket. It means 2-socket server each having one dual-core CPU, will be considered as 4 sockets server and is not eligible for Standard One edition installation.”
If you read the Oracle’s Software Investment Guide (http://www.oracle.com/us/corporate/pricing/software-investment-guide/index.html) carefully Oracle mentions multi-chip modules (and not multicore-chip modules). The number of cores is not important but the number of chips per module. So a 2-socket server with each a dual-core CPU in it needs 2 CPU licenses in case of Oracle Standard edition.
Comment by Dennis Veenstra — May 2, 2011 @ 19:43 |
I am still confused about development licenses. What does it mean “to develop but not deploy”? Does this mean that once a DB is deployed to test/prod, the development environment used for maintenance needs to be licensed (the same as test/prod, not using OTN dev licenses)?
Comment by Julie — May 18, 2011 @ 23:50 |
Hi Neeraj,
Thanks for posting this article. Please let me know what will be right edition for us having following scenario:
1. Server with Intel Quad Core Processor. (only one processor).
2. Only one named user will be created.
3. 50 network computers will connect from network using single named user.
Can we go with Standard One Edition?
and How many licenses we need to buy ?
Thanks
Hitendra Sharma
Comment by Hitendra Sharma — May 30, 2011 @ 15:27 |
Hi Neeraj,
We have a license of 8 cpu on a single server. How many database within that box I can create.
pathi
Comment by laxmi pathi — July 8, 2011 @ 03:12 |
Hi Laxmi,
You can create any number of databases if you have a license for 8-CPUs database. However you need to consider the performance implications if many databases run at the same time.
Comment by neerajbhatia — October 8, 2011 @ 01:32 |
Thank you Neeraj, lately I found out that information. Even I saw your mail regarding the AIOUG, I can’t make it. I might attend AIOUG some other time. Once again Thank you for your valuable info.
Pathi
Comment by Pathi — October 10, 2011 @ 02:23
Hi Neeraj,
I must admit that I did not understand most of the post since I am not really into IT hardware. I wanted to ask you 2 questions, before that, a brief background:
I am doing the budgeting for a IT project: basically the project involves hosting a web application made in Java using an Oracle 11g backend.
Currently the quote I got from a dealer is as follows:
Oracle 11g Standard – Rs 463043 (in INR) for 20 users
My questions are:
1. What is the concept of ‘users’ and will 20 users be required (I don’t expect more than 50 -100 simultaneous browsers accessing the application at any given point in time).
2. Is this quote too high?
Comment by tusay — October 31, 2011 @ 23:13 |
Hi Tusay,
Understanding of named user is really important. 1 Named User license is required for every person or device accessing the database. Connection can be established with same database username. For a web-based application, it can be number of users accessing the website which resulting in database connection. I think you need licenses for expected maximum simultaneous users accessing the database.
Please note that Standard Edition can only be licensed on servers that have a maximum capacity of 4 sockets.
For actual price you need to discuss with Oracle sales, I don’t have any information on the pricing part. In addition to that, you can check the price from Oracle’s website:
https://shop.oracle.com
In case you find the difference, you can discuss with Oracle sales. To may it is showing Rs 16,366.00 / Named User Plus for Oracle 11g Standard Ed.
Hope this helps!
Neeraj
Comment by neerajbhatia — November 3, 2011 @ 22:49 |
“every person or device accessing the database”
or process such as a cron job
Comment by Z — February 1, 2012 @ 00:34
The information you gave about Socket, CPU, Cores are bit confusing. Will you please make it a bit more clear?. As far as I know, A Socket can contain only one physical Processor. A physical processor contains Multiple cores. If Hyper threading is enabled, a core can have two threads.
2 dual core CPU= 2×2=4 Cores
4 Cores x 2 Threads=8 virtual CPUs.
Comment by Rahul — January 9, 2012 @ 14:37 |
Rahul,
Yes you’re right. A socket can have one CPU package (physical processor) which in turn can have more than one execution cores (CPU cores). Threading is operating system’s feature where OS can in parallel multiple threads.
The example you gave is ok, can you tell what exactly is your confusion.
Cheers,
Neeraj
Comment by neerajbhatia — January 9, 2012 @ 19:09 |
Neerajbhatia,
Though this post is just about a year old, it is still helpful and insightful to me.
I have the following licenses : Oracle Database Standard Edition – Named User Plus Perpetual (Quantity = 50) and
Internet Application Server Standard Edition – Named User Plus Perpetual (Quantity = 50).
However, I want to set up a test environment with these licenses only to be told by my vendor that it is illegal for me to install Oracle on the test environment as the license cannot cover this. The reason of the vendor is that the named users already has reached 80 users.
My arguement is that the named users has to do with simultaneous users and not total number of users so far.
To install Oracle for my test environment, what do I do in this situation?
Your input will be well appreciated.
Comment by Kunle Elutade — January 13, 2012 @ 20:00 |
Yes you are right in saying that named users are concurrent users and not total number of users.
~ Thanks,
Neeraj
Comment by neerajbhatia — January 26, 2012 @ 19:06 |
Check the OTN licensing and operate under the OTN licensing if possible. Better yet, try to become OPN member and operate under the OPN licensing, which gives you more flexibility especially for this type of situations. Test environment under OPN or OTN should be free, you are not pushing to production. Sometimes people confuse the test and production environments. If you constantly test your code prior to the production – that is really not a test environment, that is another sort of production environment
Read the OTN licensing very carefully and you will see that. OPN licensing terms are more flexible (because it is a paid service).
Comment by Z — February 1, 2012 @ 00:38 |
“My arguement is that the named users has to do with simultaneous users and not total number of users so far”
That is an incorrect argument. The “Named User Plus” license metric specified that “All human users and non-human operated devices that are accessing the program must be licensed.
It is NOT a Concurrent Usage license. You must have a license for every end user who CAN connect to the database. The license metric that used to count only Concurrent Usage, the “Concurrent Device” license, has not been sold by Oracle for some time now.
In your scenario, the vendor is quite right. If you have 80 users in total already, you are under licensed by 30 users.
Furthermore, if you are installed a Test Environment on another server, be aware that you will be subject to minimum Named Users License requirements (based on CPU cores). For example, you may only need 5 Named Users for your Test System, but the server minimum for Standard Edition DB is 5 Users per CPU Core. The total number of Named Users must be greater than or equal to the sum of all the server minimum requirements where the Oracle Product is installed.
Comment by Paul — February 6, 2012 @ 08:28 |
A blog post about Oracle edition installed
http://nikolayivankin.wordpress.com/2012/01/31/to-be-or-not-to-be-standard-edition-or-standard-edition-one/
Comment by neerajbhatia — January 31, 2012 @ 17:01 |
Hi Neeraj,
I have a server with 2 physical Xeon X5550 Quad Core Processors and a maximum of 200 users.
I would like to buy Oracle 11g Standard but I am unsure if I can use standard due to having 8 cores in total.
Could you tell me if this is possible and factors I should use as this process is not listed in the core factor table.
Many thanks
Comment by Jason — January 31, 2012 @ 22:19 |
Hi Jason,
With this scenario you would require 2 processor licences of Standard Edition – this would allow unlimited user numbers making administration easier, as well as being the most cost effective licence metric.
Generally a processor licence is the same cost as 50 Named Users, so where you have more than 50 users per (licence) processor, the processor licence metric is more cost effective.
With Standard Edition DB products each occupied processor socket requires licencing – hence you would require 2 processor licences. If the server has a max of 2 processor sockets then the lower cost Standard Edition One can be considered. So long as the server doesn’t have more than 4 processor sockets (even through only 2 are occupied) then Standard Edition would be required.
Generally (for Database ) with multi-core processors, the cores only need to be counted and multiplied by a factor for Enterprise Edition products.
Hope this helps
Regards,
Steve
Comment by Agile TS (@AgileTS) — February 1, 2012 @ 20:48 |
Just what I needed to know, thanks!
Comment by Jason — February 10, 2012 @ 14:30 |
We have 2 Physical Processors and 6 Cores per processor and Oracle Processor Core Factor of 0.5. This is equal to 6. Now my question is it 6 for the machine whether you have 1 or more oracle instances/databases on the same machine. We are going for the Core Processor Licencing.
Your answer will be greatly appreciated.
Many thanks
Yemi Ayofe
Comment by Yemi Ayofe — February 15, 2012 @ 18:16 |