Despite reams of legalese and countless blog/forum posts, basic Oracle RDBMS licensing still remains a mystery to many. While I won’t even begin to discuss components like Oracle Apps, hopefully this post may help you attain a basic understanding of Oracle, what you can license, and what it costs.
The first and most important thing to learn are the editions of Oracle RDBMS. These editions are:
- Oracle Express Edition (XE) – A free use version of Oracle which can use a single CPU (though it can be installed on a server with as many CPUs as you want), 1GB RAM, and 11GB data.
- Oracle Personal Edition (PE) – Single User, Single Machine development/deployment license which can use any SE1, SE, or EE feature with the exception of RAC and Management Packs.
- Oracle Enterprise Edition (EE) – Full featured edition of Oracle RDBMS which allows all core features along with the option to purchase add-on features (like Partitioning) and Management Packs (like the Diagnostics Pack).
- Oracle Standard Edition (SE) – A damped down of edition of Oracle which can run on a server with a maximum of four CPU sockets. It cannot take advantage of add-ons or Management Packs. It does, however, include Oracle RAC as long as all nodes combined have no more than 4 sockets.
- Oracle Standard Edition One (SE1) – A further reduced edition which shares the same features with SE but is limited to 2 CPU Sockets with no RAC option.
On top of knowing the editions, you also need to know about the type of license. The most common is a Processor based license, where your license count is based on the number of CPU Sockets/Cores and the CPU Type for EE or the number of CPU Sockets for SE and SE1. The other type is a Named User License, where you buy a number of seats on the database instead of licensing it for unlimited users. Please remember if you are pursuing this type of license: non-human processes are also named users. So any application server, script, or even a scheduled job is a ‘named user’.
Enterprise Edition Core Factor
For Enterprise Edition and all of its add-ons and management packs, there is a concept called “core factor” which is applied for licensing purposes. This factor is based on the type of CPU you are using in your server. For instance, if you are using a SUN M5000 with SPARC VII processors, the core factor is 0.75. That means 4 Quad-Core CPUs (16 cores) would equal 16 * 0.75 = 12 licenses. You would purchase 12 EE licenses to cover the server, and then purchase 12 licenses of whatever add-ons or management packs you might be using.
If, on the other hand, you used SPARC VII+ processors, the core factor is 0.5. The same CPU setup would only require 8 licenses in that case.
For the most part, x86/x86_64 architecture CPUs are a 0.5 core factor. A small number of processors are 0.25, but there is a reason: they are not very suitable for running Oracle, generally System On A Chip (SOC) solutions with a very high amount of hyperthreading.
You can find the full core factor table here.
Two types of databases are exempt from licensing restrictions: RMAN Catalogs and Grid/Cloud Control Repositories. If one of these repositories is the only database on a server, that server does not have to be licensed. But if the server or those databases are used for any custom or other Oracle purpose, they must be licensed. Generally speaking it can be beneficial to put these databases on the same server. See this page under “Infrastructure Repository Databases” for details.
Add-Ons and Management Packs
Let’s get one thing out of the way: Standard Edition and Standard Edition One CAN NOT use any add-on or Management Pack features (except RAC for SE). That means you can’t even buy Diagnostics Pack for Oracle SE. The option does not exist. Based on licensing requirements, AWR/ASH/ADDM are completely off limits on an SE or SE1 database.
However, Enterprise Edition has options for add-ons like RAC, Partitioning, and Active DataGuard. These add-ons are extra cost and apply to any database on which they are used. For instance, if you want to use Enterprise Edition with Partitioning and RAC across four nodes, each of the four nodes must be fully licensed for EE, Partitioning, and RAC. If Oracle is running on it, you must license it.
Your standby databases need to be licensed. I’ve heard a lot of mixed opinions on DataGuard and whether your standby database must be licensed. The definitive answer is YES. A DataGuard standby is running Oracle (in MOUNT mode), which means it must be fully licensed for all features.
This goes for Development, QA, and Testing servers as well. This one has a lot of misinformation surrounding it. While you can install Oracle on your PC and use it for your own development/deployment purposes with Oracle Personal Edition, you cannot have a dedicated production-cycle development or QA server without a license. If it is part of the development cycle, then it must be paid. The only way you can get around that is if it is single-machine, single-user, for personal development.
One other big misconception is Oracle on a virtual server, like an ESX environment. Oracle does not recognize soft partitioning of CPUs. If you host Oracle on a VM in ESX, you must license the entire ESX server. (Note, this article mentions that it is possible to work with Oracle on this).
So let’s take a look at some costs. The license costs are:
- Enterprise Edition – $47,500 per unit (sockets * cores per socket * core factor)
- Standard Edition – $17,500 per unit (sockets)
- Standard Edition One – $5,800 per unit (sockets)
You can find the full cost list on Oracle’s site, which includes all licenses types, add-ons, and management package.
2 Node RAC + DataGuard + AWR/ASH
In this example we are going to set up a 2 node RAC cluster with DataGuard to a standby 2 node RAC cluster. We also want AWR/ASH for diagnostics. Each server (4 total) will have 2 Intel Xeon X7560 processors (8 core).
Our costs for Enterprise Edition would be (in list prices):
- 4 servers * 2 sockets per server * 8 cores per socket * 0.5 core factor = 32 units
- 32 Units Enterprise Edition ($47,500ea) = $1,520,000
- 32 Units RAC ($23,000ea) = $736,000
- 32 Units Diagnostics Pack ($5,000ea) = $160,000
Our grand total for this setup in EE would be $2,416,000. Hopefully you have a good discount!
Now, if we wanted to do the same thing in Standard Edition, we would have to make some exceptions. DataGuard does not work on SE, so we would have to use a third party software like DBVisit or homegrown scripts. Also, AWR/ASH don’t work in SE and can’t be added, so you might have to fall back to Statspack and adapt with excellent tools like Tanel Poder’s Snapper. In return for these trade-offs, let’s look at pricing:
- 4 servers * 2 sockets per server = 8 units
- 8 units Standard Edition ($17,500ea) = $140,000
The total price for two 2-node RAC clusters which 2 sockets per server (you can’t have more than 4 sockets in a single SE RAC cluster) is $140,000. Quite a big savings, and definitely enough leftover to buy some extra utilities.
Production, QA, and Development with Partitioning and AWR
In this example we’ll have three databases which must be licensed as they are part of the development production cycle. Each server is a SUN M5000 with 4 Quad-Core SPARC VII processors.
- 3 servers * 4 sockets per server * 4 cores per socket * 0.75 core factor = 36 units
- 36 units Enterprise Edition ($47,500ea) = $1,710,000
- 36 units Partitioning ($11,500ea) = $414,000
- 36 units Diagnostics Pack ($5,000ea) = $180,000
The grand total is $2,304,000.
If we were able to forego Partitioning and Diagnostics Pack, the requirement in Standard Edition would be:
- 3 servers * 4 sockets per server = 12 units
- 12 units Standard Edition ($17,500ea) = $210,000
Remember, a lot of this is up to you and your sales rep or third party reseller. Make sure you work out all the details and understand exactly what you can and can’t deploy. It is highly recommended that you keep an eye out for license use; the last thing you want is a licensing audit that you are not prepared for, with database installations ranging all over the environment. This paragraph also servers as a DISCLAIMER: This post is based on my personal knowledge and references available online and is not a substitute for actual information from Oracle Corporation. Please check with your sales rep on all licensing questions.
As you can see in these prices, it is VERY important that you buy what you need and nothing more. Instead of going the whole hog and getting Active DataGuard, Diagnostics and Tuning Packs, Partitioning, etc. on every single server, really take a look and see what your requirements are. You can save a huge amount of money that way.
Also note that there are special types of licensing structures out there such as site licenses. These are special deals worked out with Oracle in order to license your entire enterprise for a certain period, and can often save you a lot of money on licensing depending on your plans. If you decide to pursue this kind of agreement with Oracle, it is important to really work with your team to decide what you need and what you don’t, as well as anticipated business requirements for the near and long-term future.
There is still much confusion about virtualization.
Doing hard-partitioning (setting the vm.cfg) for Oracle Virtual Machine definitively does the trick. But there is some legal-activity going on whether or not you can set a ‘vm.cfg’-like construction on any hypervisor, and whether or not Oracle should accept this.
So, this still is an interesting area!
I could beat your X7560s with E5-2667 and that is an 8c versus 6c comparison. There’s actually a good chance that the E5-2643 at 4c would beat a Nehalem-EX box (such as your example).
People need to learn SKUs.
I need to find the time to write more about it.
My Oaktableworld preso is just about ready to be posted. It has some of these sorts of thoughts in it.
If you’ll allow a URL, this shows audited Oracle TPC-C by the core: http://kevinclosson.files.wordpress.com/2013/03/bythecore.png
My two cents about virtualisation (you can write a book about this subject…):
I’m struggling for a while now with virtualisation and what will be accepted by LMS. OracleVM is no problem as we know, but the only thing within a ESX/VMware environment they accept is to create seperate VM-clusters.
That’s safe for the customer, no legal fights. Speaking of partitioning: LMS won’t even accept ruling out cpu’s in the bios!
I know some people are waiting for a judgment, but what I heard Oracle has settled some cases before they went to court.
Two very minor additions:
OPN Partners do get (free) restricted use licenses for demonstration and development purposes if they develop for others: http://www.oracle.com/partners/en/how-to-do-business/opn-agreements-and-policies/index.html
And another special case is if you use Oracle as a repository for Oracle VM. Those are also included in the (free) OVM license: http://docs.oracle.com/cd/E35328_01/E35330/html/vmiug-manager-components.html
There is one case I heard of in Spain, where there is some legal procedure going on about the “hard-partitioning” with a vm.cfg-like construction. Those guys, from what I heard, chose not to settle and see what the court will say.
If anyone has news on those proceedings… That would possibly free up the Red-Stack a little more.
I have a doubt on the licensing part. We intend to go in for Oracle E business Suite 12.1.3 with 11g DB. We will be using Rack servers (Intel based servers, 2 CPU / 6 cores) and there would 35 users.
Now i have been told by the implementing partner that I would require to purchase only the User licence from oracle and would not require to purchase the Core license. The vendors for the servers are insisting that i require Core licence.
I would appreciate it if you could clarify the same and through some light on it.
User licenses must be purchased for every single user who will be logging into the database. If the users are logging into an always on enterprise application, you’re technically supposed to use a core license for it. I’d take it up with Oracle sales.
Please confirm whether we can install Oracle 11g Standard , 5 User on two different servers for configuration of Oracle RAC . Total number of users are max. 2 to 3 .
Where is the concept of socket based licensing here?proc count and socket count… Are they similar?
Vicky, sockets are physical processors. So when I say that SE is socket based, I mean the licenses are based on the number of physical CPUs plugged into a board.
we have a server with SE1 licensed, but we do not know what are the DBA views can be use with it, we have an audit inspect, can u please help me.
Does Oracle streams require licensing?
You can use Streams on Standard Edition but only with synchronous data capture (no async with redo mining).
Beyond doing an audit, is there a technical way that Oracle enforces the license terms? In other words, if I buy a 4 core Oracle license but run on a 6 core machine.
In your last example,
3 servers * 4 sockets per server = 12 units
12 units Standard Edition ($17,500ea) = $210,000
how many “Oracle SE” can i install for $210,000 ?
If i install 4 “Oracle SE”, the cost it is $210,000 x 4 = $840,000 ?
What if one is running EE and SE on the same platform? Do I need to licenses for both of these editions?
Do named user licenses apply only to one database or to all databases in the shop?
Yes we need license for both editions . However if editions are same which means one installation with different instances then unique users will be charged
Hi, how can we calculate the Oracle pricing for the Oracle standard edition one edition If i am taking the server with the configuration as: Amazon M3 Extra Large with 15.0 GB memory and 4 cores with 80 GB (2 * 40 GB SSD) and 64-bit architecture. (Amazon EC2 instance)
DR , standby or failover machine should be licensed from the same like production
Hi. Can I use Partitioning with Oracle Personal Edition (PE) for testing purposes?
As stated in Amazon EC2 Instance Types page, each vCPU is a hyperthread of an Intel Xeon core except for T2 and m3.medium. For Oracle Enterprise Edition every two vCPUs of hyperthreaded instance equate to a licensing requirement of one Oracle processor license. For non-hyperthreaded instances, each vCPU equate to one Oracle processor license.
I’ve bought the popcorn – waiting for when the above license scheme is leveraged in an on-premise cloud case……