DOAG Datenbank Kolumne: Vorsicht bei der Datapump Compression

  • Erstellt von Elke Fritsch
  • Datenbank Kolumne, Oracle, Datenbank

Elke Fritsch zeigt, was man bei der Verwendung von Datapump Compression beachten sollte.

Max Mustermann hat gerade nach einigen Jahren in einem Großkonzern den Job gewechselt und betreut jetzt diverse Datenbanken eines mittelständischen Unternehmens. Die zentrale Datenbank ist eine Oracle 19c Enterprise Edition. Aus wirtschaftlichen Gründen hat man jedoch auf sämtliche Optionen und Packs verzichtet.

Die Kompression auf die Schnelle

Zusätzlich zu den RMAN-Backups soll Max jeden Freitagabend Dumps des wichtigsten Schemas PROD erzeugen. Da der Platz auf dem Ziellaufwerk allmählich knapp wird und die Bestellung von Festplatten schon mal ein paar Wochen in Anspruch nehmen kann, überlegt er sich, die Dump-Files zu komprimieren. Das hat ja in seiner alten Firma auch viel Platz gespart. Weil er weiß, dass die Advanced Compression Option nicht lizenziert ist, muss er natürlich vorsichtig sein, was medium und high compression angeht, aber da beim RMAN die Basic Compression Default ist, werden die Optionen low und basic ja wohl erlaubt sein.Der Feierabend naht. Er hat keine Lust mehr, seine These zu überprüfen und startet gleich mal einen Export des 400 GB großen Schemas mit den folgenden Parametern:

expdp system@o19c_prodpdb1 parfile=prod_weekly_exp.par

Inhalt des Parfiles:

schemas=prod 

directory=data_pump_dir

exclude=statistics 

compression=all 

compression_algorithm=basic 

flashback_time=systimestamp 

dumpfile=prod_exp.dmp

Die Platzeinsparung ist beachtlich und die Dauer hat sich nicht wesentlich erhöht. Um auf der sicheren Seite zu sein, wirft er einen Blick in die View DBA_FEATURE_USAGE_STATISTICS, dort werden ja alle Benutzungen der Optionen und Packs festgehalten, wie er sich dunkel erinnert.

SELECT name, detected_usages usage, feature_info

FROM dba_feature_usage_statistics 

WHERE LOWER(name) LIKE '%datapump%export%';

 

NAME                                                         USAGE           FEATURE_INFO

---------------------------------------------------    ----------      ----------------------------

Oracle Utility Datapump (Export)              0 

 

Schaut gut aus! 

Beim Bier erzählt er seinem DBA-Kollegen später, dass die Datapump-Sicherungen in Zukunft viel schlanker ausfallen werden, erntet aber keinen Applaus, sondern einen Wutausbruch.

Was hat er falsch gemacht??

1) RMAN- und Datapump-Compression sind lizenztechnisch nicht vergleichbar. 

Während die Basic Compression beim RMAN auch in der Standard Edition kostenlos einsetzbar ist, funktioniert die Datapump-Compression nur in der Enterprise Edition und ist unabhängig vom Algorithmus nur mit einer Lizenz der Advanced Compression Option erlaubt (s.a. MOS-Note 1149615.1).
Die Benutzung von compression=all und compression=data_only als Parameter für expdp ist also für ihn tabu. Kostenlos ist nur die Angabe compression=metadata_only beziehungsweise der Import von komprimierten Dumpfiles.

2) Die View DBA_FEATURE_USAGE_STATISTICS wird per Default nur alle 7 Tage aktualisiert

Die nicht dokumentierte Prozedur DBMS_FEATURE_USAGE_INTERNAL.EXEC_DB_USAGE_SAMPLING soll die Datenerfassung beschleunigen. Das funktioniert aber nach Aussage des Oracle-Experten für Lizenzierung, Michael Paege, nicht immer zuverlässig, also sollte man besser die Woche abwarten.

Für aktuelle Informationen über die Benutzung von Compression (und Encryption) beim Datapump eignet sich die View KU_UTLUSE viel besser, hier ein Beispiel nach mehreren Tests.

set lin 200

col compression_mode for a20

col utility for a20

SELECT REPLACE(utlname,'Oracle Utility ') utility,

      usecnt       cnt,

      compressbas  basic,

      compresslow  low,

      compressmed  medium,

       compresshgh  high,

       TO_CHAR(last_used, 'dd.mm.rr hh24:mi:ss') last_used

FROM  ku_utluse

WHERE utlname LIKE 'Oracle Utility Datapump%';

 

UTILITY                        CNT   BASIC    LOW   MEDIUM   HIGH      LAST_USED            

Datapump (Export)      5         2             1          1              1           19.02.25 16:51:26

Datapump (Import)     3          0            0           0              0           19.02.25 16:53:32

 

Leider ist unser sorgloser DBA kein Einzelfall. Die Kompression beim Datapump-Export ist eine der Top-Lizenzbruch-Ursachen.

ORA-00439: Feature nicht aktiviert-Warnungen halten nur in der Standard Edition zuverlässig von kritischen Aktionen beim Datapump-Export ab. Allerdings muss man bei Google nur die Worte „datapump“ und „compression“ eingeben, um dann in der Vorschau folgendes zu finden:

Data Pump (expdp, impdp) Enhancements in Oracle Database 11g

oracle-base.com › articles

20.01.2009 — Data compression requires the Advanced Compression Option option of Enterprise Edition, ...

 

Verwendung der Data Pump Komprimierung ermitteln

christian-gohmann.de › 2015/11/10 › verwendun...

.... wie man ermitteln kann, ob Data Pump Exports mit eingeschalteter Komprimierung auf ..…

Oder man fragt einfach ChatGPT. Der Aufwand, um an Informationen zu kommen, die einem Scherereien ersparen, ist also minimal und man will ja als DBA nicht wie bei Windows ständig gefragt werden „Wollen Sie das wirklich?“

Elke Fritsch

© Gerald Lobenwein