The Oracle Database Standard Edition Licensing Trap
David Woodard, Principal Architect
Standard Edition 2 Can be a Great Value
Oracle database Standard Edition 2 (SE2), as well as past editions Standard Edition and Standard Edition 1, can be a great value and cost significantly less than Oracle Enterprise Edition (EE). Current list price is $17,500 per socket for SE2 versus $47,500 per processor for Enterprise Edition. Additionally, since Standard Edition is licensed by socket, there is no limit on the number of cores per processor on which it can be installed. For the current version of Standard Edition 2, there is a limitation of 16 threads executing simultaneously, which is imposed by the software. Unless you have a database that consumes significant amounts of CPU however, this is usually not an issue. For more details, see our blog on Standard Edition 2 which was written shortly after it was announced.
One common misconception about Standard Edition is that there is some sort of database size limitation imposed, which is smaller than that of Enterprise Edition. However, that is not the case, as both editions have the same maximum size limits.
The main reason that Standard Edition costs less than Enterprise Edition is that it has a reduced feature set. Oracle documentation provides a table that shows which features are available in each edition of the database.
One of the main limitations you will note is that there are options and packs available for Enterprise Edition that cannot be licensed, or used, in Standard Edition. Options such as Advanced Compression, Partitioning, Database Vault, etc., can only be licensed for Enterprise Edition. But, did you know that most of these options and packs are actually installed in Standard Edition?
Beware Accidental EE Feature Usage
Ever since Oracle version 10, there is a DBA_FEATURE_USAGE_STATISTICS view that keeps track of your use of options, packs, and features in the database. So, if you stumble into using these options or packs in Oracle Standard Edition, the history of their use will be available for Oracle to review during an audit. If you are audited by Oracle, and found to be using these Enterprise Edition options or packs within Standard Edition, you will be required to upgrade to Enterprise Edition, and purchase the options and/or packs in use. These options and packs are licensed per processor, like the Enterprise Edition database itself, and can add significant cost to the price of the license. In addition, moving to Enterprise Edition licensing requires you to license by processor (core), not by socket, which is also substantially more expensive. Unfortunately, during installation of the Oracle database software, you cannot avoid installing these options. However, the good news is that after installation you can go back and uninstall them, and I will show you how to do so in the steps below.
Uninstalling EE Options and Disabling Packs
To install the Oracle database you download the software, unzip the installation file, and run the Oracle Universal Installer. On a side note, from Oracle version 18c on up, you are not able to select the installation location for the software. So, make sure you run the installer from the desired software location, also known as the Oracle Home.
A typical installation sequence would look like this:
mkdir -p /opt/oracle/product/19c cd /opt/oracle/product/ora19c unzip /home/oracle/V982063-01.zip ./runInstaller
During the actual installation, you would obviously make sure to select Standard Edition 2 for installation, and then follow the remaining prompts to install it. At no time during that process are you able to deselect any components of the database software so they are not installed. Also, keep in mind that this blog is not a tutorial on installing Oracle database software, as you can find a variety of tutorials online, so we will skip the installation screens.
Once you have completed installation of the software, you will need to exit the Oracle Universal Installer that was used for initial installation. You will then need to start the Oracle Universal installer, which was installed as part of the software in the Oracle Home (substitute your Oracle Home path):
cd /opt/oracle/product/ora19c/oui/bin ./runInstaller
Once you start the Oracle Universal installer again, you will see a window like this:
Click on the ‘Installed Products …’ button at the bottom, which will take you to this next window:
Click on the plus sign next to your Oracle Home to expand, then click on the plus sign next to ‘Oracle Database …’ to show the features that are installed, as shown in the screenshot below.
You will see a list of about a dozen or so components that have been installed along with the database. You will note (near the top) there is one labeled ‘Enterprise Edition Options’. As shown above, check the box next to it to select it for de-installation. Also, a few rows below that is ‘Oracle Programmer’. Oracle Programmer is another extra cost option that consists of the ProC and ProCOBOL pre-compilers. If you are not licensed for Oracle Programmer (and most people are not) you should also check the box next to this item to select it for de-installation.
Once you have selected those two items, click on the ‘Remove …’ button in the lower right corner, which will take you to this next window:
As you can see, there are quite a number of Enterprise Edition options installed, such as Advanced Security, Partitioning, Database Vault, Real Application Testing, etc. You may be wondering why all of these Enterprise Edition options are installed by default in Oracle Standard Edition. We have the same question. If anyone from Oracle Corporation would like to comment on the reason we would love to hear from them. We have seen this issue in the database software since version 10g, and it may have existed prior to that.
Click on the ‘Yes’ button to proceed with de-installation of the selected items. Once they are de-installed you will be taken back to the Oracle Home screen. From there, you can exit the Oracle Universal Installer and de-installation of these features is complete. Please note: anytime you perform a major version upgrade to the Oracle database software, you should go back and check for these items and de-install them again if necessary.
While that takes care of the Enterprise Edition database options, Diagnostic and Tuning Pack are also installed for Standard Edition and cannot be removed. However, they can be disabled, and are disabled by default in Standard Edition. Ever since Oracle 11g, the control_managment_pack_access database initialization parameter can be used to disable Diagnostic and Tunings packs. This parameter should be set to “NONE” in Standard Edition. If it is not, it is an easy change to make:
alter system set control_management_pack_access=none scope=both
Oracle license compliance is complex and difficult enough without having to watch out for minefields like this one. Oracle does not use license keys for their software, so it’s easy to stumble into using features that can significantly increase your licensing costs without realizing it. One of our main goals at House of Brick to help you stay compliant with your Oracle software licensing, so let us know if you have questions or concerns and we would be happy to review your situation and explore how we can help.