Oracle Licensing and the Advanced Compression Option

Jeff Stonacek, Principal Architect

Unfortunately, many of our clients are surprised to find they are in fact using database features like Advance Compression. Features like this are easy to enable and the Oracle software does little to warn you that they have been enabled. In part 1 of this series, my colleague Jim Hannan wrote an overview of Oracle licensing gotchas.  In this installment, I will provide a little more detail about the Advanced Compression option and its impact on Oracle Licensing.

Data Pump

When most people think about the Advanced Compression option they usually think about compressing table data. While that is one element, there are many other compression features, as part of the Oracle stack, which also require licensing the Advanced Compression option. Data Pump is one of those options. Since Oracle version 11.1.x, Data Pump has included the option to use compression. The question is, does using compression with Data Pump require licensing the Advanced Compression option? As with most things related to Oracle licensing, the answer is not simple. In general, compressing metadata does not require licensing the Advanced Compression option, whereas compressing data does. See MOS note 1149615.1 for clarification as well as the Oracle licensing guides.

Here is an example:

select utlname, COMPRESSCNT
from ku_utluse
where utlname = 'Oracle Utility Datapump (Export)';

UTLNAME                                            COMPRESSCNT
-------------------------------------------------- -----------
Oracle Utility Datapump (Export)                             0 

expdp "userid='/as sysdba'" directory=DP dumpfile=soe.dmp schemas=soe compression=all

UTLNAME                                            COMPRESSCNT
-------------------------------------------------- -----------
Oracle Utility Datapump (Export)                             1

expdp "userid='/as sysdba'" directory=DP dumpfile=soe_mo.dmp schemas=soe 
compression=metadata_only
 
UTLNAME                                            COMPRESSCNT
-------------------------------------------------- -----------
Oracle Utility Datapump (Export)                             1

 

This behavior follows the advice of MOS note 1149615.1, where data compression triggers the option usage for Advanced Compression, and metadata compression does not.

However, as I mentioned, with most things related to Oracle licensing, the answer is not simple. According to MOS note 1993134.1, there is a bug in Oracle version 12.1.0.1 where doing metadata compression, either explicitly or by default, will increment the Advanced Compression usage counter. So be aware of this issue. Oracle has reportedly fixed this issue in version 12.1.0.2, but who know how many shops inadvertently paid for Advanced Compression because of this bug.

RMAN

Since the introduction of RMAN in 8.x, Oracle has stated that RMAN uses compression for backups. Until 10g, this really meant that RMAN filtered out unused blocks and only wrote blocks with data to the backup set. According to MOS note 563427.1, Oracle refers to this as either Null or Unused Block compression, depending on the version.

In 10g Oracle introduced Binary Compression into RMAN by using the “as compressed backup set” syntax. Binary compression uses a compression algorithm to write the data thereby reducing the size of the backup set even further.

So, does using compression with RMAN require licensing the Advanced Compression option? As with most things related to Oracle licensing, the answer is not simple. I feel like there is a theme here…

If you are not using Binary Compression with the “as compressed backup set” syntax, then Advanced Compression is not required. If you are using the “as compressed backup set” syntax with the default compression algorithm, then Advanced Compression is not required.

As you have probably guessed, I wouldn’t be expounding on this topic if there weren’t a gotcha. As of 11g, Oracle introduced additional compression algorithms for RMAN binary compression. The default algorithm, and the only one available in 10g, is bzip2. As of 11g, Oracle introduced the zlib algorithms that enhance compression and reduce CPU utilization. If you are using one of the zlib compression algorithms with RMAN, then you need to license Advanced Compression.

Note: To turn on the zlib compression algorithm in RMAN, use the following SET command:

RMAN> set compression algorithm 'MEDIUM';

 

The values can be LOW, MEDIUM or HIGH.

Conclusion

There are several Advanced Compression options available in 11g that were not covered in detail in this post, and many new Advanced Compression options in 12c. For example, Table and BLOB compression is more straightforward and is difficult to implement without doing so intentionally. However, many clients we work with are unaware of the licensing ramifications when using the Data Pump and RMAN compression options. This post is an attempt to clear the air and provide some additional information to help with license compliance issues related to Advanced Compression.

Table of Contents

Related Posts