Oracle Database Licensing Insights and Tips

posted June 11, 2015, 5:21 PM by

Jim Hannan (@HoBHannan), Principal Architect

Is this blog post we will take a look at general Oracle database licensing and how the Oracle database tracks feature usage. This can be helpful in preparing for a LMS audit or for taking inventory before renewing an Oracle contract. We will also provide general tips for entitlements and Oracle contracts. As most people close to Oracle know, licensing and product discovery can be complex. The intent of this blog is to help clear up some of the common misunderstandings.

Tip: Oracle audits are not for the faint of heart. House of Brick strongly recommends that any organization going through an Oracle LMS audit consult with experts in the licensing of Oracle products. House of Brick offers expert guidance regarding Oracle licensing. Learn more about our Oracle License Assessment Services.

As you may be aware, every seven days (default behavior) the view dba_feature_usage_statistics updates with what features have been used in the database. You can manually kickoff a refresh by running the procedure below[1]:



Oracle support document 1317265.1 provides the scripts necessary to query this table. This document is a must read for any DBA involved in Oracle licensing.

Below is a description of dba_feature_usage_statistics:

SQL> DESC dba_feature_usage_statistics

Name                                Null?               Type
DBID                                NOT NULL            NUMBER
NAME                                NOT NULL            VARCHAR2(64)
VERSION                             NOT NULL            VARCHAR2(17)
DETECTED_USAGES                     NOT NULL            NUMBER
TOTAL_SAMPLES                       NOT NULL            NUMBER
CURRENTLY_USED                                          VARCHAR2(5)
FIRST_USAGE_DATE                                        DATE
LAST_USAGE_DATE                                         DATE
AUX_COUNT                                               NUMBER
FEATURE_INFO                                            CLOB
LAST_SAMPLE_DATE                                        DATE
LAST_SAMPLE_PERIOD                                      NUMBER
SAMPLE_INTERVAL                                         NUMBER
DESCRIPTION                                             VARCHAR2(128)


What happens when I clone a database?

This is something you should keep in mind when reviewing your usage. Cloning will carry over the statistics from the source to the cloned environment. In a DEV or TEST database, a particular feature may not have been used. An example of this is SQL Tuning Advisor, which is part of the Tuning Pack.

First Usage and Last Usage Columns

The columns first_usage and last_usage are good for determining when a feature has been used. For example, as mentioned above, you may have recently cloned your DEV database. These tools will give you insight regarding whether the feature was used since the clone date. In this example we cloned our database on June 10, 2015, and you can see from the query below that the feature has not yet been used in the cloned database.

feature            detected_usages    first_used       last_used
SQL Tuning Advisor        24          5-AUG-11          5-JUN-2015


Advance Compression

Many customers are surprised to find out that they are using the Advance Compression. What catches them off guard is all of the places Advance Compression can be used in the database. When using any of the following features, you need to keep in mind that these count as using Advance Compression[2]:

  • Data Guard Compression
  • Data Pump Compression
  • RMAN Compression Level (Medium and High) — Updated 8/10/15
  • OLTP Table Compression
  • SecureFile Compression and Deduplication
  • Total Recall



Entitlements are Oracle products that you are entitled to because you own a parent product. For example, purchasing Oracle E-Business Suite entitles you to Oracle Database Enterprise Edition, but only if you do not do internal development to the EBS database (which is rare in our experience). A better example is GoldenGate and Active Data Guard; you are entitled to Active Data Guard wherever GoldenGate is installed.

Oracle Contracts

The vast number of Oracle contracts and education documents can be very confusing. Below is an image of all the Oracle contracts and guides. Yes, there is difference between a contract and a guide. The guide is simply that – a guide provides additional information on licensing, but it is not contractual. Guides are represented with blue borders in the image below. The documents with red and black borders are contractual.


If you are interested in our other recent licensing blogs we encourage you to read:



[1] Reference:

[2] Reference:

Share with your networkTweet about this on Twitter
Share on LinkedIn
Share on Facebook
Digg this
Email this to someone


  • Ben says:

    Is it possible to clone a database with a different method so you dont carry over the statistics from the source database?

    • Jim Hannan says:

      Ben, first let me apologize for my slow response. This is a very good question. You can do an export/input to keep the feature_usage table clean but it’s a slower method as you are aware.

      At House of Brick we prefer RMAN over all the other tools for backups and recovery. My favorite part of doing a clone it that you are testing your backups!

      Unfortunately a RMAN clone would clone over the feature usage BUT you have something that can be used. v$database has the creation date of your database (CREATED). Use that to compare when a feature or option was used with the column LAST_USAGE_DATE.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.