Which Edition of Oracle RDBMS is Right for My Business?

Which Edition of Oracle RDBMS is Right for My Business?

Do I really need Oracle Enterprise Edition? Do I need Oracle Enterprise Edition in order to have a standby database? What version of Oracle do I need?  

We get questions like these a lot. Oracle’s editions and features can be a bit overwhelming. This post shares some key information that I hope will make your choice easier.

To keep this post to a manageable length, this post deals only with Oracle Version 12c and Version 19c, and excludes Oracle cloud offerings. A future post will cover those feature sets. 

Oracle Standard Vs. Enterprise

For each version covered below, I took the feature set from Oracle’s licensing documentation and listed those things that are available only in the Enterprise Edition of Oracle, and not in any of the Standard Editions.

But before we look at the specific features available in each version, let’s explore two important categories of features:

Data Guard

One of the more frequently used options in Enterprise Edition is Data Guard. A set of Data Guard features is listed in the first table for each edition below. These are used to implement high availability; that is, having a standby database available that is kept up to date with your primary production database in case your primary database goes down.

If Data Guard related features are the only set of “Enterprise-only” features that you need, then you may still be able to use Oracle’s Standard Edition. Here’s why:

DBvisit Standby, an alternative to Oracle’s Data Guard, provides an active standby database using any version of Oracle. You will still need to license the database software on both the primary and the standby server, but both can be much less expensive Standard Edition licenses. 

Oracle Security

Oracle has a number of important security options. 

The advanced security option is an extra cost option that is only available with Enterprise Edition.  This includes transparent data encryption, data redaction, data masking and subsetting (very helpful for development environments), and other security options. To adequately secure sensitive data at the database level, we advise that you use advanced security, and thus Oracle Enterprise Edition. 

With that said, if you are not using advanced security, and the only Enterprise-only option you need is Data Guard, then we recommend taking a good look at Dbvisit.

Oracle Version 12c Features

Below are the features that are only available in Enterprise Edition for Oracle 12c. If you need anything on this list, then you need Oracle Enterprise Edition. Period! 

Category Feature
Data Warehousing and Business Intelligence Advanced Index Compression
Data Warehousing and Business Intelligence Automatic Data Optimization
Data Warehousing and Business Intelligence Basic Table Compression
Data Warehousing and Business Intelligence Bitmapped index, bitmapped join index, and bitmap plan conversions
Data Warehousing and Business Intelligence Deferred Segment Creation
Data Warehousing and Business Intelligence Exadata Flash Cache Compression
Data Warehousing and Business Intelligence Heat Map
Data Warehousing and Business Intelligence Hybrid Columnar Compression
Data Warehousing and Business Intelligence Hybrid Columnar Compression Row-Level Locking
Data Warehousing and Business Intelligence In-memory Parallel Execution
Data Warehousing and Business Intelligence Oracle Advanced Compression
Data Warehousing and Business Intelligence Oracle OLAP
Data Warehousing and Business Intelligence Oracle Partitioning
Data Warehousing and Business Intelligence Parallel capture and apply via XStream
Data Warehousing and Business Intelligence Parallel Data Pump Export/Import
Data Warehousing and Business Intelligence Parallel index build/scans
Data Warehousing and Business Intelligence Parallel query/DML
Data Warehousing and Business Intelligence Parallel Statement Queuing
Data Warehousing and Business Intelligence Parallel statistics gathering
Data Warehousing and Business Intelligence Prefix Compression (also called Key Compression)
Data Warehousing and Business Intelligence Summary management—Materialized View Query Rewrite
Data Warehousing and Business Intelligence Transportable tablespaces, including cross-platform and full transportable export and import
High Availability Application Continuity
High Availability Automatic Block Repair
High Availability Block change tracking for fast incremental backup
High Availability Block-level media recovery
High Availability Cross-platform Backup and Recovery
High Availability Duplexed backup sets
High Availability Fast-start fault recovery
High Availability Flashback Database
High Availability Flashback Table
High Availability Flashback Transaction
High Availability Flashback Transaction Query
High Availability Global Data Services
High Availability Lost Write Protection
High Availability Online Datafile Move
High Availability Online index rebuild
High Availability Online index-organized table organization
High Availability Online table redefinition
High Availability Oracle Active Data Guard
High Availability Oracle Data Guard—Far Sync Standby
High Availability Oracle Data Guard—Real-Time Cascading Standbys
High Availability Oracle Data Guard—Redo Apply
High Availability Oracle Data Guard—Snapshot Standby
High Availability Oracle Data Guard—SQL Apply
High Availability Parallel backup and recovery
High Availability Recovering tables and table partitions from RMAN backups
High Availability Rolling Upgrade Using Active Data Guard
High Availability Rolling Upgrades—Patch Set, Database, and Operating System
High Availability Tablespace point-in-time recovery
High Availability Transaction Guard
High Availability Trial recovery
High Availability Unused block compression in backups
Integration Advanced Replication
Integration Messaging Gateway
Integration Sharded Queues
Manageability Database Resource Manager
Manageability Oracle Cloud Management Pack for Oracle Database
Manageability Oracle Data Masking and Subsetting Pack
Manageability Oracle Database Lifecycle Management Pack for Oracle Database
Manageability Oracle Diagnostics Pack
Manageability Oracle Fleet Patching and Provisioning

(formerly Rapid Home Provisioning)

Manageability Oracle Real Application Testing
Manageability Oracle Tuning Pack
Manageability SQL Plan Management
Manageability SQL Tuning Sets
Networking Infiniband Support
Networking Network Compression
Networking Oracle Connection Manager
Performance Adaptive Execution Plans
Performance Attribute Clustering
Performance Client Side Query Cache
Performance Concurrent Execution of UNION and UNION ALL Branches
Performance Database Smart Flash Cache
Performance Fault Tolerant In-Memory Column Store
Performance In-Memory Aggregation
Performance In-Memory Column Store
Performance PL/SQL Function Result Cache
Performance Query Results Cache
Performance Support for Oracle Exadata Storage Server Software
Performance TimesTen Application-Tier Database Cache
Performance Zone Maps
Scalability Oracle NoSQL Database Basic Edition
Scalability Quality of Service Management
Security Enterprise User Security
Security Fine-grained Auditing
Security Oracle Advanced Security
Security Oracle Database Vault
Security Oracle Label Security
Security Privilege Analysis
Security Real Application Security
Security Redaction
Security Transparent Sensitive Data Protection
Security Virtual Private Database
Snapshots and Cloning Storage Snapshot Optimization
Spacial Multimaster replication of SDO_GEOMETRY objects
Spacial Parallel spatial index builds
Spacial Partitioned spatial indexes

Now we’ll look at features that are only available in certain versions of Oracle 12c Standard Edition, or that are limited in Standard Edition. The “Notes” column explains the limitations.

Category Feature SE1 SE/SE2 EE Notes
Data Warehousing and Business Intelligence Oracle Machine Learning (formerly Advanced Analytics) N Y N Included with SE2 and EE

Not included with SE1 and SE

OML4R (Oracle R Enterprise) Server is limited to operation on Oracle Linux 6 or higher

High Availability Optimization for Flashback Data Archive N Y N Basic Flashback Data Archive is in all editions. Optimization for Flashback Data Archive requires EE and the Oracle Advanced Compression option.
Integration Basic Replication Y Y N SE/SE1/SE2: read-only, updateable materialized view
Integration Oracle Streams Y Y N SE/SE1/SE2: no capture from redo
Manageability Instance Caging N Y N Included with SE2 and EE

Not included with SE1 and SE

Spacial Oracle Spatial N Y N Included with SE2 and EE

Not included with SE1 and SE

Spacial RDF Graph N Y N Included with SE2 and EE

Not included with SE1 and SE

If you need any of the above features, then you may need Oracle Enterprise Edition, depending on the specifics as listed in the notes.

That’s it!

Your DBA team should be able to tell you if you need/use these Enterprise-only features. 

If you don’t need any of these features, then potentially you can save many thousands of dollars by using the Standard Edition instead. 

Oracle version 19c Features

OK, that’s it for 12c. Oracle 19c is essentially the same but with a somewhat different, more “evolved” set of options. The considerations mentioned above remain valid. 

First, let’s look at the 19c features that definitely require Enterprise Edition:

Category Feature
High Availability Application Continuity
High Availability Oracle Sharding
High Availability Oracle RAC One Node
High Availability Oracle Data Guard—Redo Apply
High Availability Oracle Data Guard—Far Sync Standby
High Availability Oracle Data Guard—SQL Apply
High Availability Oracle Data Guard—Snapshot Standby
High Availability Oracle Data Guard—Real-Time Cascading Standbys
High Availability Oracle Active Data Guard
High Availability Rolling Upgrades—Patch Set, Database, and Operating System
High Availability Rolling Upgrade Using Active Data Guard
High Availability Online index rebuild
High Availability Online table organization
High Availability Online table redefinition
High Availability Duplexed backup sets
High Availability Block change tracking for fast incremental backup
High Availability Unused block compression in backups
High Availability Block-level media recovery
High Availability Lost Write Protection
High Availability Automatic Block Repair
High Availability Parallel backup and recovery
High Availability Tablespace point-in-time recovery
High Availability Trial recovery
High Availability Fast-start fault recovery
High Availability Flashback Table
High Availability Flashback Database
High Availability Flashback Transaction
High Availability Flashback Transaction Query
High Availability Optimization for Flashback Data Archive
High Availability Online Datafile Move
High Availability Transaction Guard
High Availability Cross-platform Backup and Recovery
High Availability Global Data Services
High Availability Recovering tables and table partitions from RMAN backups
Integration Messaging Gateway
Integration Sharded Queues
Manageability Oracle Cloud Management Pack for Oracle Database
Manageability Oracle Data Masking and Subsetting Pack
Manageability Oracle Database Lifecycle Management Pack for Oracle Database
Manageability Oracle Diagnostics Pack
Manageability Oracle Tuning Pack
Manageability Oracle Real Application Testing
Manageability Database Resource Manager
Manageability SQL Tuning Sets
Manageability Oracle Fleet Patching and Provisioning (formerly Rapid Home Provisioning)
Networking Infiniband Support
Networking Oracle Connection Manager
Networking Network Compression
Performance Client Side Query Cache
Performance Query Results Cache
Performance PL/SQL Function Result Cache
Performance Oracle TimesTen Application-Tier Database Cache
Performance Database Smart Flash Cache
Performance Adaptive Execution Plans
Performance Concurrent Execution of UNION and UNION ALL Branches
Performance Oracle Database In-Memory
Performance In-Memory Column Store
Performance In-Memory Aggregation
Performance Attribute Clustering
Scalability Oracle Real Application Clusters (Oracle RAC)
Scalability Oracle NoSQL Database Basic Edition
Security Column-Level Encryption
Security Tablespace Encryption
Security Oracle Advanced Security
Security Oracle Database Vault
Security Oracle Label Security
Security Enterprise User Security
Security Centrally Managed Users
Security Fine-grained Auditing
Security Privilege Analysis
Security Real Application Security
Security Redaction
Security Transparent Sensitive Data Protection
Security Virtual Private Database
Snapshots and Cloning Storage Snapshot Optimization
Spatial and Graph Data Parallel spatial index builds
Spatial and Graph Data Multimaster replication of SDO_GEOMETRY objects
Spatial and Graph Data Partitioned spatial indexes
VLDB, Data Warehousing, and Business Intelligence Oracle Partitioning
VLDB, Data Warehousing, and Business Intelligence Oracle On-Line Analytical Processing (OLAP)
VLDB, Data Warehousing, and Business Intelligence Oracle Advanced Compression
VLDB, Data Warehousing, and Business Intelligence Advanced Index Compression
VLDB, Data Warehousing, and Business Intelligence Prefix Compression (also called Key Compression)
VLDB, Data Warehousing, and Business Intelligence Hybrid Columnar Compression
VLDB, Data Warehousing, and Business Intelligence Hybrid Columnar Compression Row-Level Locking
VLDB, Data Warehousing, and Business Intelligence Heat Map
VLDB, Data Warehousing, and Business Intelligence Automatic Data Optimization
VLDB, Data Warehousing, and Business Intelligence Basic Table Compression
VLDB, Data Warehousing, and Business Intelligence Deferred Segment Creation
VLDB, Data Warehousing, and Business Intelligence Bitmapped index, bitmapped join index, and bitmap plan conversions
VLDB, Data Warehousing, and Business Intelligence Parallel query/DML
VLDB, Data Warehousing, and Business Intelligence Parallel statistics gathering
VLDB, Data Warehousing, and Business Intelligence Parallel index build/scans
VLDB, Data Warehousing, and Business Intelligence Parallel Data Pump Export/Import
VLDB, Data Warehousing, and Business Intelligence In-memory Parallel Execution
VLDB, Data Warehousing, and Business Intelligence Parallel Statement Queuing
VLDB, Data Warehousing, and Business Intelligence Parallel capture and apply via XStream
VLDB, Data Warehousing, and Business Intelligence Transportable tablespaces, including cross-platform and full transportable export and import
VLDB, Data Warehousing, and Business Intelligence Summary management—Materialized View Query Rewrite

If you need any of the above, the you must use Oracle Enterprise Edition 

Now we look at the features that are included in the Oracle 19c Standard edition, but are limited.

Category Feature Notes
Consolidation Oracle Multitenant – # of PDBs The number value in each column indicates the maximum number of pluggable databases (PDBs) that can be created for each offering.

For all offerings, if you are not licensed for Oracle Multitenant, then you may have up to 3 user-created PDBs in a given container database at any time.

Manageability SQL Plan Management SE2: Only one SQL plan baseline per SQL statement is allowed and SQL plan evolution is disabled. Limits on baseline capture methods as well.

The following DBMS_SPM functions and procedures are not allowed: CONFIGURE, LOAD_PLANS_FROM_AWR, LOAD_PLANS_FROM_SQLSET, and all functions and procedures associated with SQL plan evolution.

If you are not using pluggable databases, or if three databases are enough, and if you are not using sophisticated plan management, then you can likely use Standard Edition.

If you know of any other enterprise-only options that are not listed here, or if you think I misstated anything, please comment.  I’d like to hear from you. Also, if you know of other good disaster recovery alternatives, let me know.

If you are not sure about any of this, or you just want to double-check your thought process, leave a comment or give me a call and I will be happy to have a conversation with you about it.

How to Resolve Oracle Database Licensing Issues with Processor Cores in Virtualized Environments

How to Resolve Oracle Database Licensing Issues with Processor Cores in Virtualized Environments

Virtualization technology revolutionized the RDBMS world by allowing database administrators and system administrations to utilize 90% of a server’s hardware resources, versus on average between 10%-30% utilization in non-virtualized environments. But with the push from a physical to a virtualized environment comes a host of new management tasks. One of those tasks is trying to demystify your licensing. 

Oracle Virtual Server Licensing 

In most circumstances, your virtualized environment would be running inside a virtual hypervisor. Your virtual servers would then be allocated a set of resources from a pool set in the hypervisor manager. One of the most important settings is how many virtual CPUs (vCPUs) your server is allocated.

The reason vCPUs are such an important virtual resource is because this setting directly relates to the physical processor and its cores. Processor cores is the metric many vendors like Oracle and Microsoft use to license some of their software stacks. This post focuses on Oracle virtual server licensing, which can be licensed by processor core, and explains one of the most common mistakes administrators make when setting up an Oracle environment in a virtualized environment.

A key point to understand is how the database software is licensed. Most servers purchased these days are running Intel Xeon processors containing huge core counts of 12 or higher. Let’s say you purchased a server with two Intel Xeon 4-Core processors. Oracle grades most Intel Xeon processors as 0.5 of a core license each. That means that 2 Xeon cores will equal 1 core license. So, for a system with two Xeon 4-core processors, which is 8 processors total, you will need to purchase an Oracle Database core license count of 4.

But what happens when you decide to upgrade to new servers with two Xeon 12-core processors for less than the original cost of the two Xeon 4-core processors? Oracle requires that all processor cores contained in a server are licensed for their database product when using core licensing. If you were running your database environment in a physical format, you would need to purchase 8 more core licenses, causing your operating cost to increase. 

The only way to continue with your 4 core licenses would be to virtualize your database environment—and the only way to comply with Oracle in an on-premise setting outside of an Oracle engineered system is to run Oracle VM.

Oracle VM is Oracle’s own virtualization hypervisor, and it is the only hypervisor where they honor the CPU pinning option, also called processor affinity. This option allows you to permanently allocate a physical processor’s core to a vCPU on a virtual server. Once a core is “pinned” to a vCPU on a virtual server, no other virtual server will use that processing core.

This last point is very important, because most administrators who are familiar with creating virtual servers know that you will be asked the following question to determine if you are compliant with your Oracle virtual server licensing:

  • How many vCPUs would you like to allocate to the virtual server?

vCPU Allocation

In most environments, 1 vCPU is equal to 0.5 of a physical core. Do you notice a trend yet? If we wanted to create a virtual server that complied with an Oracle Database licensing core count of 4, the virtual server would need 8 vCPUs. 

But what happens if we create the virtual machine with the correct amount of cores and never enable the CPU pinning option? According to Oracle documentation, this means you are not in compliance with your core licensing; and, in order to be in compliance, you will need to guarantee that this virtual machine only has access to the amount of cores specified in your core licensing.

To correct this problem, you will need to go into Oracle VM’s VM Tool software and assign physical CPU cores 0 to 7 (core numbering starts at 0) in order to lock the virtual server to only be able to use 8 cores. Keep in mind that this virtual server will be the only server allowed to use cores 0 to 7, and any other virtual servers hosted by the hypervisor will use physical cores 8 to 23 (remember you upgraded your servers to two 12-core Xeon processors).

After pinning the licensed amount of cores to the virtual server hosting your database environment, you are now in compliance with Oracle licensing and will avoid any costly penalties resulting from an Oracle software audit where you are found to be out of compliance. 

So when building out your virtual environments, make sure you know the requirements of your software’s licensing. Forgetting to pin CPUs to your virtual servers could end up costing your company significant money.

If you like this article, please share it with your colleagues and subscribe to our blog to get the latest updates.