Kann man Optionen der Oracle Datenbank Enterprise Edition deaktivieren?

Oracle Datenbankoptionen (wie Oracle Partitioning, Advanced Compression oder Real Application Testing) sind getrennt zu lizenzierende Produkte. Sie werden zusammen mit dem Oracle Datenbankserver installiert. In älteren Versionen der Oracle Datenbank konnte man einige Optionen von der Installation ausschließen. Seit Version 11gR2 werden jedoch alle Komponenten mit installiert (dies gilt auch für die Standard Edition).

Eine Option wird allein durch die Installation nicht zwingend lizenzpflichtig. Sie ist zu lizenzieren, wenn ihre Nutzung beabsichtigt ist.  In einem anderen Blog-Eintrag ist beschrieben worden, wie man feststellen kann, ob eine kostenpflichtige Funktionalität verwendet wurde. Die von Oracle Support angebotenen Skripte verfolgen die Nutzung der Produkte und nicht ihr Vorhandensein.

Um eine Nutzung kategorisch auszuschließen ist es möglich – nach der Installation der Oracle Datenbank 11gR2 – folgende 6 Optionen zu deaktivieren (siehe My Oracle Support > Support Note ID 1069015.1)

– Oracle Partitioning
– Oracle OLAP
– Oracle Label Security
– Oracle Data Mining
– Oracle Database Vault
– Oracle Real Application Testing

Wohlgemerkt man kann nicht alle Datenbankoptionen deaktivieren, die sich auf der Oracle Preisliste wiederfinden!

Unter Linux/UNIX kann man sich den Status der o.g. Komponenten (aktiv/nicht aktiv) mit folgendem Befehl anzeigen lassen:

[oracle@dbhost ~]$ ar -tv $ORACLE_HOME/rdbms/lib/libknlopt.a

Die Ausgabe ist nicht selbsterklärend. Man kann anhand der Module aus der Ausgabe und der Support Note ID 1069015.1 feststellen, ob eine Option aktiv ist oder nicht. Bei der Oracle Datenbank Standard Edition bekommt man – wie erwartet- folgendes Ergebnis:

...
rw-rw-r-- 94110/42424  22272 Sep 18 23:43 2011 xsnoolap.o --> OLAP Off
rw-rw-r-- 94110/42424   3968 Sep 18 23:45 2011 kzlnlbac.o --> Label Security Off
rw-rw-r-- 94110/42424   4112 Sep 18 23:46 2011 kzvndv.o --> Database Vault Off
...
rw-rw-r-- 94110/42424   3416 Sep 18 23:54 2011 kecnr.o --> Real Application Testing Off
rw-rw-r-- 94110/42424   3416 Sep 18 23:42 2011 dmndm.o --> Data Mining Off
rw-rw-r-- 94110/42424   3424 Sep 18 23:35 2011 ksnkkpo.o --> Partitioning Off

Nach der Installation der Oracle Datenbank Enterprise Edition ist die Ausgabe wie folgt:

...
rw-rw-r-- 94110/42424   3936 Sep  5 20:24 2010 kzlnlbac.o --> Label Security Off
rw-rw-r-- 94110/42424   4080 Sep  5 20:13 2010 kzvndv.o --> Database Vault Off
...
rw-rw-r-- 500/500   3424 Sep  5 20:14 2010 kecwr.o --> Real Application Testing On
rw-r--r-- 500/500   3432 Sep  5 20:08 2010 kkpoban.o  --> Partitioning On
rw-r--r-- 500/500   3424 Sep  5 20:20 2010 dmwdm.o --> Data Mining On
rw-r--r-- 500/500   4520 Sep  5 20:21 2010 xsyeolap.o --> OLAP On

Das Aktivieren/Deaktivieren einer Option kann sehr einfach mit dem Skript chopt durchgeführt werden (siehe My Oracle Support > Support Note ID 942406.1).  So deaktiviert man z.B. Partitioning:

[oracle@dbhost ~]$ $ORACLE_HOME/bin/chopt disable partitioning

chopt lässt es (leider) zu, auch in der Standard Edition Komponenten zu aktivieren. Ein Test bei Standard Edition 11.2.0.3 hat ergeben, dass trotz erfolgreicher Aktivierung von Oracle Partitioning,  das Anlegen einer partitinionierten Tabelle fehlschlägt. Der Fehler lautet:

ORA-00439: feature not enabled: Partitioning

Die Nutzung von Datenbankoptionen mit der Standard Edition ist ohnehin lizenztechnisch nicht erlaubt.

Welche Oracle Datenbankedition ist bei Ihnen im Einsatz?

Bei der Installation der Oracle Datenbanksoftware 11g gibt man die Edition (Enterprise Edition, Standard Edition oder Standard Edition One) an. Nachträgtlich hat man mehrere Möglichkeiten herauszufinden, welche Edition im Einsatz ist.

Eine Möglichkeit ist in die Global Inventory Logs  nachzuschauen (siehe My Oracle Support > Support Note ID 1341744.1). Den Pfad zur Global Inventory kann man je nach Plattform folgendermaßen finden:
– auf Linux und AIX in der Datei /etc/oraInst.loc (inventory_loc=<Pfad>)
– auf anderen UNIX Plattformen in der Datei /var/opt/oracle/oraInst.loc
– auf Windows als Wert des Registry Keys: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\inst_loc
Die Installationslogs befinden sich im Unterverzeichnis logs der Global Inventory. Sie heißen auf allen Plattformen installActions<timestamp>.log. Meistens wird es mehrere Logdateien dieser Art geben; jede bezieht sich auf eine Installation oder ein Upgrade der Oracle Datenbanksoftware (eines Oracle Homes). Der Installationstyp ist im Abschnitt Global settings unter Database edition dokumentiert, z.B.:

--------------------------------------------------------------------------------
Global settings
--------------------------------------------------------------------------------
...
- Database edition : Standard Edition One (Install database software only)

Ein schneller Weg um herauszufinden ob man eine Enterprise Edition im Einsatz hat, ist sich einfach über SQL*Plus mit der Datenbank zu verbinden. Die SQL*Plus Ausgabe enthält im Regelfall einen Banner mit dem expliziten Hinweis auf die Enterprise Edition:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

Bei Standard Edition und Standard Edition One sieht der SQL*Plus Banner gleich aus. Man kann leider auf diesem Weg zwischen den zwei Editionen nicht unterschieden:

Connected to:
Oracle Database 11g Release 11.2.0.3.0 - Production

Man kann sich die Information aus dem SQL*Plus Banner auch über folgende SQL-Abfrage ausgeben lassen:

select * from v$version;

Weitere Stellen, wo die Datenbankedition dokumentiert ist, listet die Die Support Note ID 735550.1 auf.

Wieviel Heterogenität lässt eine Oracle Data Guard Umgebung zu?

Eine Data Guard Standby Datenbank dient dem Schutz der primären (produktiven) Oracle Datenbank. Es handelt sich um eine zweite – im Idealfall räumlich getrennte – Datenbank, die über den Data Guard Mechanismus mit der Produktionsdatenbank synchronisiert wird. Bei einem ungeplanten Ausfall der Primärdatenbank übernimmt die Standby Datenbank den produktiven Betrieb. Man kann die Standby Datenbank auch dazu verwenden, Wartungsarbeiten (wie Datenbank-Upgrades oder Patches) in einem rollenden Modus durchzuführen und die damit verbundenen Ausfallzeiten zu verkürzen.

Best Practice

Oracle empfiehlt den Aufbau einer homogenen, symmetrischen Data Guard Konfiguration mit gleicher Hardware, gleichem Betriebssystem, gleicher Version des Betriebssystems und der Oracle Software und gleicher Konfiguration von Primär- und Standby Datenbank. So kann nach einem Rollentausch ein ähnliches Datenbankverhalten, sowie die Einhaltung von Service Levels Agreements erwartet werden.

Es wird mindestens erwartet, dass auf Primär- und Standby-Server folgende Parameter übereinstimmen:

– die Oracle Platform ID (z.B. 13 für Linux x86-64)
sql> select platform_id, platform_name from v$database;

– die Oracle Datenbankversion und das Patchset (z.B. 11.2.0.3)
sql> select version from v$instance;

Erlaubte Abweichung von der homogenen Konfiguration

Zwei Hinweise auf My Oracle Support geben Auskunft, welche Unterschiede zulässig sind: Support Note ID 413484.1 Data Guard Umgebung mit physikalischen Standby-Datenbanken, Support Note ID 1085687.1 Data Guard Umgebung mit logischen Standby-Datenbanken.

1. erlaubte Abweichungen bei gleicher Oracle Platform (platform_id s.o.)

– Hardware von verschiedenen Herstellern
– unterschiedliche Rechenkapazität (Anzahl der CPUs), Speichergröße (RAM), Festplattengröße
– unterschiedliche Dateisysteme (z.B. Primärdatenbank auf Fremddateisystem, Standby-Datenbank auf ASM)
– unterschiedliche Betriebssystemdistributionen (z.B.Primärdatenbank auf RHEL, Standby-Datenbank auf SUSE Linux – hier sollte man achten, ob die Distribution von Oracle zertifiziert wurde)
– unterschiedliche Betriebssystemversionen (z.B. Primärdatenbank auf Oracle Linux 5.4, Standby-Datenbank auf Oracle Linux 6)
– Single-Instance und RAC-Datenbanken

2. zulässige Plattformkombinationen

– die o.g. Support Notes geben Auskunft dazu. Kombinationen sind nur ab einer bestimmten Datenbankversion, ggf. nach Anwendung eines Patches und ggf. mit Einschränkungen möglich.

– Beispiele bei Data Guard mit physikalischer Standby Datenbank:
ab Version 10g verschieden Wortlängen (z.B. Linux x86 32-bit und Linux x86-64)
ab Version 11g heterogene Plattformen derselben Endianess (z.B. MS Windows x86-64 und Linux x86-64 – little endian oder HP-UX Itanium und HP-UX PA-RISC – big endian).

3. verschiedene Datenbankversionen und Patchsets

– Oracle erlaubt für den Zweck eines rollenden Datenbank-Upgrades unterschiedliche Versionen von Primär- und Standby-Datenbank. Die Standby Datenbank wird zuerst auf ein höheres Release oder Patchset gebracht, währenddessen empfängt sie Änderungsdaten von der „älteren“ Primärdatenbank. Nach dem Umschalten des Betriebs auf die aktualisierte Standby Datenbank findet das Upgrade der alten Primärdatenbank statt.

– Rollende Datenbank-Upgrades mit logischen Standby Datenbanken werden ab Version 10.1.0.3 unterstützt. Ab Version 11.1.0.7 kann man für den Zweck eines rollenden Upgrades auch eine physikalische Standby Datenbank verwenden, die temporär in eine logische Standby Datenbank umgewandelt wird.

Welche Oracle Datenbankoptionen und Management Packs sind bei Ihnen im Einsatz?

Nach der Installation der Oracle Datenbank (Enterprise Edition) stehen alle Features zur Verfügung. Doch nicht alle Funktionen sind über die Lizenz der Oracle Datenbank abgedeckt. Einige Features, z.B. für die Partitionierung oder Komprimierung oder zur  Performance-Überwachung, erfordern zusätzliche Lizenzen für die sog. Database Options und Database Management Packs.  Es ist die Pflicht des Nutzers sicherzustellen, dass nur lizenzierte Funktionalität tatsächlich genutzt wird.

Von der Oracle Support-Seite können 2 SQL-Skripte heruntergeladen werden, die es ermöglichen, die Nutzung von Datenbankoptionen und Management Packs in Ihrer Oracle Datenbank 11.2  festzustellen. Die Skripte helfen dabei, eine korrekt lizenzierte Datenbankumgebung zu gewährleisten. My Oracle Support > Suche nach Support Note ID 1317265.1. Sie müssen die 2 Skripte option_usage.sql und used_options_details.sql mit DBA-Rechten ausführen.

option_usage.sql gibt Auskunft, welche lizenzpflichtigen Produkte wann verwendet wurden.
used_options_details.sql
liefert zusätzliche Details über die verwendeten Features.

Datenbankoptionen und Management Packs sind gesondert zu lizenzieren. Weiterhin sind Lizenzen für die Oracle Datenbank Enterprise Edition erforderlich (keine Standard Edition!). Informationen zu den aktuellen Oracle Lizenzbestimmungen finden Sie auf Oracle Global Pricing and Licensing.

Die Auskunft der zwei Reports ist rein informativ. Oracle weist ausdrücklich darauf hin, dass u.U. „false positives“ aufgelistet werden. Das sind Features, die Oracle intern, für die Implementierung und Verwaltung von Systemobjekten verwendet, und für die der Endnutzer nicht bezahlen muss. Bekannte Fälle solcher falsch positiven Ergebnisse sind in der Support Note ID 1309070.1  dokumentiert.

Alles in allem, sind die zwei Skipte von Oracle hilfreich, um eine Bestandsaufnahme der tatsächlich verwendeten Funktionalität durchzuführen.

Basisfunktionalität in Enteprise Manager 12c

Oracle Enterprise Manager enthält viele nützliche Features für die Administration der IT Infrastruktur. Ein Großteil davon steht kostenfrei zur Verfügung und kann auch ohne Erwerb der sog. Management Packs verwendet werden. Voraussetzung sind bestehende Oracle Software Lizenzen oder ein gültiger Supportvertrag.

Die Lizenzdokumentation des Enterprise Managers wurde in der Version 12c überarbeitet. Sie enthält eine neue Rubrik, Base Enterprise Manager Functionality, in der die kostenfreien Features aufgelistet sind.

Überblickspräsentation zur Oracle Database Appliance

Meine Produktpräsentation für Oracle Partner. Die Webcasts wurden im November-Dezember 2011 gehalten.

Workshop: Oracle GoldenGate in der Praxis

Oracle GoldenGate (OGG) ist eine Technologie zum Datenabgleich, bei der Änderungen auf Quelldaten in Echtzeit erfasst und in ein Zielsystem eingepflegt werden. OGG kann in heterogenen, sehr transaktionslastigen Umgebungen eingesetzt werden. OGG ist auch Bestandteil von Triple-O, dem online Migrationsverfahren im SAP Umfeld (SAP Note 1508271).

OGG eignet sich, wenn Sie:

  • Ihre produktive Datenbank entlasten möchten, indem Sie rechenintensive Abfragen auf eine lokale, in Echtzeit aktualisierte Kopie auslagern,
  • ein Echtzeit BI-System implementieren möchten, um Entscheidungen auf Basis von aktuellen Daten zu treffen,
  • eine Datenbank, ein Betriebssystem oder eine Hardwareplattform nahezu ohne Betriebsunterbrechung migrieren möchten,
  • Ihre Oracle-Datenbank mit sehr geringer Downtime von 9i / 10g auf 11g upgraden möchten,
  • Datenbanken an entfernten Standorten synchronisieren möchten. Auch bei Anbindung mit geringer Bandbreite oder sporadischer Netzwerkverfügbarkeit,
  • den Nachfolger von Oracle Streams kennenlernen möchten.

Ich veranstalte am 29.03.2012 einen Workshop zum Thema Oracle GoldenGate. Der Workshop gibt einen Überblick über die Architektur, die Funktionsweise und die Lizenzierung von Oracle GoldenGate und zeigt typische Anwendungsfälle. Der Workshop richtet sich an Datenbank- und Data Warehouse-Administratoren, IT-Projektleiter und technische Berater.

Die Teilnehmerzahl ist beschränkt, die Teilnahme kostenlos. Hier ist der Link zur Anmeldung. Anmeldeschluss ist der 15.03.2012.

Veranstaltungsort: Oracle Geschäftsstelle in Potsdam, Schiffbauergasse 14, 14467 Potsdam