Note:
This literature review is a
collection of information from Oracle and news
sources on 23 August 2005. The license rules
change frequently (as a result of the
quickly-changing hardware), so this August 2005
survey may not apply to your special cases.
IT IS NOT a good idea
to conduct you own license review,
as there are many complex criteria in the license
agreements. We recommend hiring Oracle
Certified professionals to conduct a
license compliance assessment
|
|
Also see
my notes on
Oracle standby database
enterprise and standard edition.
Overview of Oracle Store License
rules
The
Oracle Store web site has complete MSRP
prices for Oracle database licenses. As of
August 2005, Oracle has two pricing models, "named
user plus" and "processor". Historically,
Oracle has also sold "unlimited use" licenses for
large corporations, but they are not mentioned on
the Oracle Store web site.
- Named User Plus - This is a pricing
model that factors
minimum numbers of users.
- Processor - The processor license
pricing model is based on the number and type of
processors on the Oracle servers.
Oracle licensing and replicated
databases
Many Oracle shops are now using Oracle replication tools (Oracle
Streams, standby database, data guard, multi-master replication) to
create a standby Oracle server as protection against hardware
failure.
However, many Oracle shops forget that all ?hot? standby servers
(where you use the standby server for Oracle transactions) may
require an Oracle license.
This
Oracle license pricing document (as of March 16, 2006), notes
that mall standby and failover database must be fully licensed if
they might be used as production:
"Standby - In this type of recovery, a copy of the primary
database is maintained on a separate server at
all times. These systems are configured for
disaster recovery purposes. If the primary
database fails, the standby database is
activated to act as the new primary database.
In this
environment, both the primary and the standby
databases must be fully licensed."
Oracle standby servers need to be fully licensed if they are ?hot
standby? servers that can be used for production SQL queries.
Some sources say that cold standby servers
used less than 10 days per year do not need to be licensed, but you
should verify this with your Oracle representative or the Oracle
Store, as Oracle license policies change frequently.
Suggestions for getting the best deal on Oracle
licenses
Even though Oracle licensing agreements allow Oracle corporation to
perform license audits, most Oracle shops are honor-bound to pay for
the databases according to their license agreement.
Don't pay for more Oracle licenses than you need
There's an
interesting February 2004 article over on the
IT Manager's Journal about Oracle licensing and support,
suggesting that many shops are paying for more licenses than they
use. There is also this 2003 article titled "Oracle
is Putting the Support Screws to Customers" with similar
recommendations.
Plan your Oracle architecture to minimize Oracle license charges
With proper planning you can save a great deal in
license fees while keeping high database
performance. Some suggestions for
processor-based licensing include:
- Consolidate Oracle production environments - In
shops with many production database running on
separate servers, and consolidating the
instances in production
can save thousands of licensing dollars. With
Oracle server consolidation, buying large
SMP servers (i.e. an Intel Linux 16-CPU
UNISYS ES7000) and moving dozens of Oracle
instances onto a single monolithic environment
is ideal because CPU resources can be transparently shared
between Oracle instances. Of course,
server consolidation requires high-speed network
connectivity from all application areas, so this
may not be appropriate for widely distributed
shops with sporadic network latency.
- Use dedicated Oracle servers
- Oracle
does not give you a discount if you run other
applications on the same server with your Oracle
database. Keep your Oracle servers isolated and
only use as many processors as you need for
high-water-mark processing.
- Buy fast processors - Oracle
licensing does not distinguish between fast and
slow processors. The super-fast Intel
Itanium2 64-bit processors can have double the
processing power of older CPU's.
- Maximize processor resources - You
may be paying too much if you have many Oracle
servers with a small average CPU consumption.
You can compute high-water-mark (HWM) CPU consumption in
Oracle 10g AWR reports or with UNIX or Linux
vmstat utility, but it is important to consider
the high-water-mark for CPU consumption,
especially if your shop has service level
agreements (SLA) for fast response time.
For example, four production servers with one
CPU and a HWM of 20% CPU might comfortable fit
onto a single server, thereby freeing-up three
processor licenses.
Let's examine the Oracle licensing literature on processor-based
Oracle licensing for multi-core processors..
Multi-core CPUs and Oracle
"Processor" licenses
A dual core chip is a processor that contains
more than one processing unit. This Washington
Post article titled
Dual-Core Chips Help Processors Share Load,
dated June 5, 2005 we see a good description of he
reasons for multi-core processors:
Both AMD's Athlon 64 X2 and Intel's
Pentium D use "dual-core" designs that put two
processors on a single piece of silicon,
divvying up the work between the pair.
In a July 14, 2005 new item titled
Oracle Shifts Multicore Licensing Model, the new
CPU chips by AMD, Sun and IBM.
Following months of anticipation and some
high-profile criticism, Oracle has changed the
licensing model for its databases and middleware
on multicore servers, bringing it a step closer
in line with competitors.
The price change only effects the "multi core"
processors, and the article discusses the
formulas used:
Multicore processors pack more than one
processing unit, or core, on a piece of silicon.
The technique boosts performance of a machine,
while keeping the heat generation down, although
two cores do not double the performance.
We also see that this
July 15, 2005 article shows examples of the
computations required to determine license fees:
"For example, a 4-way, dual core processor
server which previously had a list license fee
of $320,000 (4*2 [cores] *$40,000) would now
have a list license fee of $240,000 (0.75 * 8
[cores] *$40,000)."
And it gets even more complicated! A sharp
Register reader forwards this advisory from
Oracle's finer print:
"A multicore chip with 11 cores would
require a 9 processor license (11 multiplied by
a factor of .75 equals 8.25 which is then
rounded up to the next whole number which is
9)."
The price change are only for "dual core"
processors and they do not yet address
"hyperthreaded" CPU's (The Intel Itanium2 and
AMD 64-bit processors).
Oracle Store also shows details on counting
multi-core processors
For the purpose of counting the number of
processors which require licensing, a multicore
chip with "n" cores shall be determined by
multiplying "n" cores by a factor of .75. All
fractions of a number are to be rounded up to
the next whole number.
For example, a multicore chip with 11
cores would require a 9 processor license (11
multiplied by a factor of .75 equals 8.25 which
is then rounded up to the next whole number
which is 9).
The Oracle Audit
As noted, your Oracle licensing agreement
allows Oracle to inspect your shop for license compliance:
Upon 45 days written notice, Oracle may audit
your use of the programs. You agree to cooperate
with Oracle's audit and provide reasonable
assistance and access to information.
You agree to pay within 30 days of written
notification any fees applicable to your use of
the programs in excess of your license rights.
If you do not pay, Oracle can end your technical
support, licenses and/or this agreement. You
agree that Oracle shall not be responsible for
any of your costs incurred in cooperating with
the audit.
Oracle guru Tony Jambu has these interesting
observations about Oracle pricing in 2015:
As an
example, let's take a 2 Node RAC cluster
consisting of 4 CPUs (ignoring multi cores) per
node plus the following options:
?
Real
Application Clusters($20,000 per processor)
?
Active Data
Guard($5,000 per Processor)
?
Partitioning($10,000 per Processor)
?
Real
Application Testing($10,000 per Processor)
?
Advanced
Compression($10,000 per Processor)
?
Total
Recall($5,000 per Processor)
?
Advanced
Security ($10,000 per Processor)
Taking the
options into account, the software cost per CPU
would be US $110,000.For the2 Node RAC, that
would come to be(2 nodes) x (4 CPU) x
US$110,000=US$880,000.
The secondary site where your Active Data Guard
is being replicated is missing. That would be
double your cost to US$1,760,000(list).
Likewise, adding support of 22 percent brings
the figure to US$2,147,200(list).
You would not pay this price, as discounting has
not been applied. Using figures form Oracle's
Store, we get a discounted figure of
US$1,610,400.
Oracle Pricing-good News
Some good news?Oracle has
revised the condition for which Oracle
Database Standard Edition (SE) and Standard
Edition One (SE1) may be licensed.
In the past, Oracle SE could
only be licensed on servers with
?
a
maximum capacity of 4 single core processors
or
?
Sum of
Cores*Core Processor Factor <= 4 and Sum
Cores < = 8
For a cluster environment,
?
The sum
of single core processors < = 4 or
?
Sum of
clustered Cores* Core Processor Factor < = 4
and Sum of clustered Cores < = 8
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.
Special Cases
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.
Misconceptions
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 an
ESX environment, you must license the entire
ESX environment. (Note,
this article mentions that it is
possible to work with Oracle on this).
Cost Cases
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.
Enterprise Edition:
- 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
Conclusion
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.
|
|
Get the Complete
Oracle SQL Tuning Information
The landmark book
"Advanced Oracle
SQL Tuning The Definitive Reference" is
filled with valuable information on Oracle SQL Tuning.
This book includes scripts and tools to hypercharge Oracle 11g
performance and you can
buy it
for 30% off directly from the publisher.
|