Dienstag, Juli 02, 2013

Neue Features in 12c

Während ich mühsam meine erste 12c-Installation auf Oracle Linux 6 zum Laufen gebracht habe (den ausführlichen Anleitungen des erschütternd sorgfältigen Dr. Hall folgend), sind andere Leute schon intensiv dabei, die Features des neuen Releases zu untersuchen. Hier ein paar Verweise auf interessante Untersuchungen:
  • WITH Clause Enhancements in Oracle Database 12c Release 1 (12.1): worin der bereits angesprochene Tim Hall die interessante Option der Verwendung von Funktionen und Prozeduren in CTEs untersucht. Dabei ist scalar subquery caching möglich, aber deterministische Funktionen im With werden leider beim wiederholten Aufruf nicht in gleicher Weise optimiert wie entsprechende Stand-alone Funktionen, wie Jonathan Lewis (und der im zugehörigen Scratchpad-Artikel kommentierende Sayan Malakshinov, der im eigenen Blog auch noch auf mögliche Inkonsistenzen in den Ergebnissen hinweist) gezeigt hat.
  • 12c - SQL Text Expansion: Tom Kyte stellt die Funktion dbms_utility.expand_sql_text vor, die eine Ersetzung von View-Namen durch die zugrunde liegenden Definitionen in SQL-Queries durchführt. Auch VPD-Effekte lassen sich damit offenbar deutlich leichter analysieren, als das bisher der Fall war.
  • 12c - Utl_Call_Stack...: noch mal der Herr Kyte, diesmal mit einem Hinweis auf das Package UTL_CALL_STACK, das eine deutlich komfortablere Analyse von Aufrufhierarchien gestattet, als das die alten dbms_utility.format%-Routinen gestatteten.
  • 12c - Invisible Columns...: wieder der Herr Kyte (der endlich wieder so viele Artikel für seinen Blog schreibt, wie ich mir das wünsche) mit Informationen zum Thema unsichtbarer Spalten, die im SELECT * nicht erscheinen, aber explizit angesprochen werden können, was als simplere Variante zur Edition Based Redefinition - EBR verwendet werden kann. Interessant ist dabei auch der Hinweis (eines weiteren Artikels im gleichen Blog), dass das Setzen einer Spalte als invisible diese ans Ende der Spaltenliste verschiebt (was aber offenbar keine physikalische Reorganisation, sondern nur eine Metadaten-Änderung bedeutet).
  • 12c: Intro To Multiple Indexes On Same Column List (Repetition): Richard Foote liefert ein Beispiel für die (hier schon mal erwähnte) Möglichkeit, die gleiche Spalte oder Spaltenkombination mit mehreren Indizes zu versehen, von denen allerdings immer nur einer als visible definiert sein darf. In seinem Beispiel zeigt er die Ersetzung eines als non-unique definierten Index durch einen als unique definierten (andere Fälle könnten bitmap vs. b*tree oder partitioned vs. non-partitioned sein). Nachtrag 06.07.2013: ein Beispiel von Tom Kyte gibt's dazu inzwischen auch.
An dieser Stelle breche ich die Aufzählung willkürlich ab, obwohl es zuletzt noch jede Menge anderer interessanter Artikel zu neuen Features gab - denn das ist eine andere Geschichte, die ein andermal erzählt werden soll...

Nachtrag 17.07.2013: viel ist zum Thema inzwischen erschienen, aber erwähnen will ich nur den Überblick zu den neuen Features in 12c in der deutschen DBA Community, der bei der Vorstellung der neuen Errungenschaften weniger eklektisch vorgeht, als ich das an dieser Stelle getan habe.

Keine Kommentare:

Kommentar veröffentlichen

Kommentar veröffentlichen