Zum Inhalt springen
  • Von: Mylène Diacquenod
  • Datenbank
  • 04.08.2014

Vorwürfe um Oracle Database 12.1.0.2 und die In-Memory-Option: Was wirklich dran ist

Kaum ist das Patch Set 12.1.0.2 veröffentlicht und schon schlägt es hohe Wellen im World Wide Web. Angefangen hat alles mit den Blog-Einträgen vom "Oak Table"-Mitglied Kevin Closson zur In-Memory-Option. Diese sei standardmäßig aktiv und könne zu leicht versehentlich genutzt werden, wirft er vor. DOAG Online klärt auf.

Kaum ist die neue Datenbank-Version (Patch Set 12.1.0.2) veröffentlicht und schon schlägt sie hohe Wellen im World Wide Web. Angefangen hat alles mit den Blog-Einträgen vom "Oak Table"-Mitglied Kevin Closson zur In-Memory-Option. Diese sei standardmäßig aktiv und könne zu leicht versehentlich genutzt werden, wirft der ehemalige Oracle-Mitarbeiter vor. DOAG Online nimmt die Aussagen von Closson unter die Lupe und klärt auf.

1. Erste Behauptung: Die In-Memory-Option ist standardmäßig aktiviert

Richtig. Wie andere kostenpflichtige Optionen der Enterprise Edition wird die In-Memory-Option nicht nur mit der Datenbank mitgeliefert, sondern sie ist standardmäßig aktiviert. Die mangelnde Transparenz dieser Marketing-Strategie mag durchaus bedenklich sein. Die Verwunderung mancher alteingesessenen Oracle-Anwender diesen Punkt betreffend bleibt jedoch etwas erstaunlich: Als wir innerhalb der deutschen Community gefragt haben, hat jeder mit den Schultern gezuckt. Ganz nach dem Motto: "Das ist ja nichts Neues." Und in der Tat ist es nichts Neues: Ob Advanced Compression, Advanced Security, Partitioning oder RAC – all diese kostenpflichtigen Optionen der Enterprise Edition folgen dem gleichen Prinzip.

Unschön ist die standardmäßige Aktivierung der Option natürlich. Besonders wenn man weiß, dass es bei der Beta-Version nicht der Fall war. „Die DOAG erwartet mehr Transparenz und eine einheitliche Vorgehensweise im Umgang mit Optionen innerhalb eines einzigen Softwarepakets“ so Vorstandsvorsitzender Dr. Dietmar Neugebauer.

2. Zweite Behauptung: Die In-Memory-Option kann im Gegensatz zu anderen Optionen unwissentlich genutzt werden

"An den Haaren herbeigezogen", war die Reaktion vom Beta-Tester Herbert Rossgoderer in Bezug auf diese Aussage. Er ist nicht der einzige, der diese Meinung vertritt. Der Grund dafür ist einfach: Insgesamt werden für die Nutzung der In-Memory-Option drei Parameter vorausgesetzt (siehe auch die Dokumentation).

  • Der Parameter INMEMORY_QUERY muss aktiviert (enable) sein. Das ist er per Default. Das reicht allerdings nicht, um die Option zu nutzen:
  • Zusätzlich muss dem "In-Memory Column Store" Speicher allokiert werden. Das geschieht über den Parameter INMEMORY_SIZE. Standardmäßig ist der Wert auf 0 gesetzt. Danach muss die Datenbank neu gestartet werden, um den In-Memory Column Store in der SGA zu initialisieren.
  • Ist das getan, so muss der DBA der Option Objekte zuweisen, die In-Memory gespeichert werden sollen. Dafür müssen die betroffenen Tabellen mit der Klausel INMEMORY versehen werden.

Erst wenn diese drei Kriterien erfüllt sind, ist die Option nicht nur aktiv, sondern auch in Nutzung. Die zwei letztgenannten Werte müssen explizit gesetzt werden. Nach Einschätzungen unterschiedlicher Beta-Tester in der Community sei es sehr unwahrscheinlich, dass die Option versehentlich genutzt werde, Wobei auch hier erst der Parameter INMEMORY_SIZE explizit auf einen Wert größer als 0 gesetzt und die Datenbank durchgestartet werden muss. 

Rossgoderer geht deswegen fest von einer absichtlichen Nutzung aus. Der ISE-Chef und sein Team können sich eine einzige Situation vorstellen, bei der diese Schieflage zufällig entstehen könnte: nach einem Export/Import von Tabellen, die bereits in einer anderen Datenbank In-Memory genutzt wurden.

3. Dritte Behauptung: Es gibt einen Bug im Feature-Tracking?

Richtig. Als Closson seine Artikel-Reihe startete, war allerdings überhaupt nicht die Rede davon. Erst in seinem dritten Posting machte er auf ein Fehlverhalten des Feature-Trackings aufmerksam. Diese neue Erkenntnis bestätigte die Produktmanagerin Maria Colgan unverzüglich auf Twitter. Gegenüber der DOAG versicherte sie, dass der Fehler mit dem ersten Patch-Set für Oracle Database 12.1.0.2 im Oktober dieses Jahres behoben werden solle.

Zwei Kriterien wären normalerweise notwendig, um den Feature-Tracker für die In-Memory-Option anzustoßen: Der Parameter INMEMORY_SIZE müsse einen Wert ungleich 0 haben. Zusätzlich müsse auf mindestens eine Tabelle die Klausel INMEMORY gesetzt werden. Das erklärte Colgan auf Anfrage der DOAG.

Derzeit zeigt die Datenbank "eine aktive Nutzung des Features, wenn jemand das Attribut INMEMORY auf einer Tabelle nutzt, obwohl der Parameter INMEMORY_SIZE einen 0-Wert aufweist", beschrieb Colgan den Fehler. Wir haben unterschiedliche Personen darauf angesetzt. Erst nach zwei Tagen konnte der Fehler nachgestellt werden.

4.       Vierte Behauptung: Der Bug könnte im Falle eines Audits problematisch werden.

Nein. Zunächst einmal wird der Bug im nächsten Patch Set Update im Herbst behoben. Nach seiner Einspielung dürfte der Fehler also keine Streiche mehr spielen. Aber natürlich kann man bereits jetzt zu 12.1.0.2 migrieren, ohne Konsequenzen zu befürchten. Das versicherte Oracle-Manager Günther Stürner auf Anfrage: "Ich kann garantieren, dass kein Kunde aufgrund dieses Bugs in Schwierigkeiten kommen wird! Sollte ein Fall auftreten, werde ich mich persönlich einschalten und dafür sorgen, dass dem Kunden kein Nachteil entsteht."

5. Fazit:

Bei der Sache haben sich viele Gemüter echauffiert. Schnell übernahm die amerikanische, später auch die deutsche Fachpresse die Information und propagierte Informationen, die nicht ganz falsch, aber auch nicht wirklich richtig waren. „Es ist schade, dass ein Bug im Feature-Tracker einen solchen Schatten auf eine sonst hochgelobte Funktionalität der Oracle-Datenbank wirft“, betont Neugebauer. Dem Konkurrenten SAP jedenfalls dürfte die schlechte Presse entgegengekommen sein. Nichtsdestotrotz kann Entwarnung gegeben werden: So ärgerlich dieser Bug sein mag, er hat keine Auswirkung auf den Betrieb der Datenbank. Der Bug an sich stellt lizenztechnisch, wie von Stürner dargestellt auch keine Gefahr dar. Die Version 12.1.0.2 kann also vorerst bedenkenlos genutzt werden. Das nächste Patch Set im Herbst sollte dann zeitig eingespielt werden.