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


