11.
September
2023

ANY_VALUE in Oracle 21c

Will man Gruppenfunktionen zusammen mit einzelnen Spalten verwenden, so muss grundsätzlich nach allen Einzelspalten gruppiert werden, auch wenn beispielsweise eine Id immer auch den zugehörigen Namen und alle übrigen Werte des Datensatzes impliziert. Das erzeugt einen Overhead, der ab Version 21c teilweise umgangen werden kann.

01.
Juni
2023

Automatic Transaction Rollback

Derzeit gibt es die Version 23c als Free Developer Edition zum Download. Also eine gute Gelegenheit, die neuen Features der Datenbank Version 23c auszuprobieren, wie zum Beispiel Automatic Transaction Rollback. Mit diesem Feature können Sie Ihre Transaktionen priorisieren und somit laufende Transaktionen über eine weitere logische Ebene steuern.

01.
Februar
2023

Erweiterungen zu Analytischen Funktionen in Oracle 21c

Analytische Funktionen sind weniger verbreitet als beispielsweise Gruppenfunktionen, erfreuen sich aber im Data Warehouse-Umfeld großer Beliebtheit. Mit Version 21c kamen auch Syntax-Erweiterungen zu analytischen Funktionen, die in diesem Tipp beschrieben werden sollen.

13.
Juli
2022

SQL Macros

Gerade bei größeren Abfragen ist es immer sinnvoll, Text zu "sparen“, wenn dies ohne zu große Komplexität und Performance-Einbußen möglich ist. Bis einschließlich 19c konnte man dies hauptsächlich über PL/SQL-Funktionen und Views in SQL abbilden. Hierbei funktionieren Views nur auf Tabellenebene und klassische PL/SQL-Funktionen führen in der Regel zu einem Kontext Switch. Mit dem in 20c hinzugekommenen SQL Macros gibt es hier nun eine weitere Möglichkeit.

11.
April
2022

Die WITH-Klausel ein großartiges Werkzeug

Jeder, der in seinen Leben halbwegs lange mit SQL gearbeitet hat, kennt wahrscheinlich Subqueries. Dies ist auch kein Wunder, denn sie sind Teil der meisten Kurse und Literatur für SQL-Einsteiger. WITH-Klauseln hingegen sind eher unbekannt. Das ist wohl dem Umstand geschuldet, dass sie hauptsächlich für dieselbe Grundfunktionalität verwendet werden, wodurch sie i. d. R. durch Subqueries zu ersetzen sind und wahrscheinlich der Kompaktheit der Kurse und Literatur zuliebe aus diesen weggekürzt werden. Jedoch sollte jeder, der täglich mit SQL arbeitet, die WITH-Klausel kennen und anwenden können, denn sie bieten die Möglichkeit große SQL-Statements, übersichtlicher zu strukturieren. Zudem nimmt der Funktionsumfang über die Jahre stetig zu.

02.
August
2021

Wissenswertes zu Identity Columns

Identity Columns sind nicht mehr so ganz neu. Trotzdem wird vielfach nach wie vor mit eigenen Sequences und Triggern gearbeitet. Teils spielen da sicher alte Gewohnheiten eine Rolle, teils wird der Trigger sowieso auch zu anderen Zwecken benötigt. In so manchem Fall ist aber vermutlich auch mangelndes Wissen der ausschlaggebende Faktor. Dabei bieten Identity Columns mancherlei Vorteile.

05.
Februar
2017

Oracle und JSON

Das JSON-Format (JavaScript Object Notation) erfreut sich zunehmender Beliebtheit, da es im Vergleich zu XML wesentlich weniger Overhead hat. Ausserdem ist es einfacher; es kennt im wesentlichen nur Wertepaare und Arrays. Diese können hierarchisch aufgebaut sein und entsprechen der Javascript-Notation.

03.
September
2016

Wir finden einen Schatz - SQLT, Teil 2

Die Suche geht weiter - Performance-Analyse von SQL-Statements mit SQLT.

04.
August
2016

Wir finden einen Schatz - SQLT, Teil 1

Die Suche beginnt  - Schon seit Ewigkeiten gibt es ein Tool zur Performance-Analyse von SQL-Statements... 

01.
September
2015

Wie suche ich in View-Texten?

Manchmal umfassen Applikationen nicht nur viel Quelltext, sondern auch sehr viele Views, in denen u. a. auch Funktionen aus diversen Packages verwendet werden.

05.
Juli
2015

Neuerungen zu Joins in Version 12c

Da wir immer wieder nach der Syntax zu (Outer) Joins gefragt werden, beschäftigen wir uns in diesem Tipp einmal mit den Neuerungen in Version 12c und den Einschränkungen in den vorangegangenen Versionen.

02.
Juni
2014

Unsichtbare Spalten

Ab Version 12c können Spalten ausgeblendet werden, indem man sie als "invisible" deklariert. Das ist sowohl beim Anlegen einer Tabelle oder Spalte möglich als auch nachträglich.

03.
April
2014

Zeilenbegrenzung in 12c - Pagination leicht gemacht

Wer je Daten für eine Web-Applikation bereitstellen musste, kennt das Problem der Pagination. In der Regel holt das Frontend ja nur die Daten, die auf eine Seite passen, und erst wenn mehr angefordert werden, werden auch mehr geholt.

25.
Januar
2014

SQL*Plus Hilfe erweitern

Die SQL*Plus Hilfe war bis zur Version 8.1 eigentlich recht hilfreich, da sie bei der Syntax von SQL und PL/SQL immer recht gut weitergeholfen hat. Leider wird dieser Bereich von Oracle nicht mehr gepflegt, es wurde nur noch die SQL*Plus Syntax in der Hilfe gelassen. Es ist Zeit, hier etwas zu verbessern.

04.
November
2013

Nützliche Parameter von SYS_CONTEXT

Als DBA steht man oft vor dem Problem der Rechtevergabe an die Benutzer. Zu viele Rechte stellen ein Sicherheitsrisiko dar, zu wenige verhindern möglicherweise das Abfragen wichtiger Daten. Damit normale Benutzer Informationen über die genutzte Instanz abfragen können, ohne dass ihnen Rechte an den nötigen v$-Views zugewiesen werden müssen, gibt es eine Funktion namens SYS_CONTEXT.

03.
Juli
2013

Autoincrement Spalten in 12c (Identity)

Lange haben wir darauf gewartet, endlich ist sie da! Oracle 12c! Das "c" steht für Cloud.
Wir wollen in dieser Reihe einige neue Features vorstellen, die wir natürlich auch in unserem Oracle 12c Kurs ausführlich besprechen.

05.
Juni
2013

Abhängige Objekte einer Tabelle anzeigen bzw. neu erstellen

An einer Tabelle hängen viele schöne Objekte, die man aber auf den ersten Blick gar nicht sieht.

05.
März
2012

Konvertierungsfunktionen

Vor einiger Zeit habe ich eine Verbindung zwischen einer Oracle Datenbank Standard Edition 11.2 und einer MySQL Datenbank hergestellt. Nach Einrichtung des Gateways hat das auch soweit funktioniert.

03.
Februar
2012

Result Cache

Der Result Cache ist ein - leider auf die Enterprise Edition beschränktes - Feature, das mit Version 11g eingeführt wurde. Er ist sowohl in SQL für Select-Befehle als auch in PL/SQL für Funktionsaufrufe nutzbar. Die Idee dahinter ist in beiden Fällen, dass das Ergebnis bei der ersten Ausführung gespeichert wird und bei weiteren Aufrufen der Befehl selber nicht mehr ausgeführt, sondern das Ergebnis aus dem Cache abgerufen wird. Um Tom Kyte zu zitieren: "Everyone knows the fastest way to do something is – to not do it".

06.
September
2011

Löschen von doppelten Datensätzen

Zum Löschen von doppelten Datensätzen gibt es eine ganze Reihe von Ansätzen. Die Suche nach der Schlagwort-Kombination duplicate delete und Oracle ergibt bei Google ca. 451.000 Treffer. Viele der Methoden funktionieren hervorragend bei den 10 bis 30 Beispieldatensätzen, die meist auch keine NULL-Werte enthalten. Wenn die Tabellen aber größer werden, stellt sich die Frage nach der performantesten Methode.

04.
April
2010

Neue Klausel in der Create Table Anweisung

Mit dem Release 11.2 hat Oracle eine Erweiterung des CREATE TABLE Statements eingeführt. Es handelt sich um die verzögerte Segmenterzeugung oder DEFERRED SEGMENT CREATION.

Was macht dieses neue Feature? Wird eine neue Tabelle erzeugt, werden nur die Metainformationen angelegt, aber noch kein Segment im Tablespace erzeugt. Das bedeutet, dass...

03.
Februar
2010

Oracle Text I

Seit der Version 7 bietet Oracle die Möglichkeit der Volltextsuche. Die frühen Optionen mußten noch separat installiert werden und in der Oracle -Version 8i war die Textsuche in das kostenpflichtige Zusatzmodul interMedia integriert. Seit Version 9i ist Oracle Text jedoch fester Bestandteil der Datenbank, auch in der Express Edition.

03.
August
2009

Sperren auf Tabellen in einer Oracle Datenbank

In jeder Oracle Datenbank mit mehr als einer Session kann es zu Konflikten mit Sperren kommen. Sperren, in der Datenbanksprache Locks genannt, verhindern unter anderem, dass mehrere Benutzer zur gleichen Zeit die gleiche Zeile einer Tabelle verändern können.

03.
April
2009

Pivoting in 11g - Zeilen zu Spalten

Eine immer wiederkehrende Fragestellung - z.B. bei der Erstellung von Berichten - lautet vereinfacht: "Wie mache ich Zeilen zu Spalten?" Das heisst, Sie haben normalisierte Tabellen, wollen aber den Inhalt gruppieren und in Form einer Kreuztabelle (auch Pivot Tabelle genannt) darstellen.

03.
Dezember
2008

Spool-file als HTML-Datei ausgeben

In diesem Monatstipp befassen wir uns mit der Erstellung eines Spool-file als HTML Dokument. 

Mit dem SQL*Plus Befehl Set Markup HTML ON [SPOOL ON] lässt sich leicht ein Report bzw. ein ganzes Spool-file als HTML-Datei ausgeben. Dies ist nützlich, falls Sie beispielsweise einen Report in eine Webanwendung einbauen möchten...

02.
September
2008

Regular Expressions in Oracle - Teil II

Die regulären Ausdrücke waren schon einmal Thema eines Monatstipps (April 2004), als sie mit der Oracle Version 10g als Neuerung erschienen waren. 

Diesmal soll es vor allem um einfache Anwendungsbeispiele für die Funktionen REGEXP_LIKE, REGEXP_SUBSTR und REGEXP_REPLACE gehen.

03.
August
2008

OLTP Tabellenkompression

Wird es wieder mal eng im Tablespace?

In unserem heutigen Tipp wollen wir ein neues Feature der Oracle Datenbank 11g etwas näher vorstellen:

OLTP Tabellenkompression

01.
Juli
2008

Quote Operator

Hatten Sie auch schon mal mit (einfachen) Anführungszeichen (… ' …) in Ihrer Datenbank zu kämpfen?

 

04.
Juni
2008

Oracle Indexüberwachung

Eigentlich bin ich ja ein großer Oracle Fan. Aber manchmal ärgere ich mich auch über Unzulänglichkeiten der Software. Es gibt tolle Flanken, aber keine Torverwertung..

05.
Januar
2008

Umbenennen Ihrer Constraints

Wollten Sie schon immer auf einfache Art und Weise Ihre Constraints umbenennen, damit Sie sofort erkennen, um welchen Typ es sich handelt (beispielsweise in Fehlermeldungen, in welchen eine Verletzung eines Constraints bemerkt wird)? Dann haben wir jetzt den passenden Tipp für Sie, mit dem Sie alle Ihre Constraints mit wenig Aufwand umbenennen können.

04.
Oktober
2007

Undokumentierte Funktion zum Abfragen von NULL Werten

Haben wir uns nicht alle schon mal darüber geärgert, dass auf NULL

Spalten nur mit der folgenden Klausel abgefragt werden kann:

04.
September
2007

Mehrspaltige Ausgabe einer Tabelle

Wollten Sie immer schon mal eine Ausgabe, die nur wenige Spalten besitzt, Platz sparend ausgeben?

 

 

03.
April
2007

Monatskalender in SQL*Plus

Haben Sie sich auch schon mal gewünscht, dass SQL*Plus einen Monat als schönen Kalender darstellt? Mit der folgenden Funktion können Sie sich den aktuellen Monat (Default) oder einen beliebig anderen Monat anzeigen lassen

05.
März
2007

Besonderheiten des Datentyps LONG

In unseren Schulungen werden wir immer mal wieder zu dem Datentyp LONG befragt.

 

05.
Oktober
2006

Index: To Rebuilt or not to Rebuilt

In unserer täglichen Praxis erleben wir häufig, dass Indizes beim Kunden sehr groß geworden sind. Wie kann man nun herausfinden, ob der Index ein Kandidat für einen Neuaufbau ist?

02.
August
2006

Interessantes zum Recycle Bin-Konzept

Haben Sie bereits auf 10g umgestellt? Falls ja, haben Sie sich vielleicht schon einmal gewundert, warum Sie nach dem Löschen einer Tabelle keinen freien Speicherplatz gewonnen haben, aber dafür plötzlich Objekte mit Namen BIN$c7WXyzMkT1q9DglxITmbRw==$0 (oder so ähnlich) vorhanden sind?

04.
Mai
2006

Sortieren mit begrenzten Mitteln

Was passiert eigentlich bei einem Sortiervorgang in Ihrer Datenbank?

06.
Februar
2006

Sessions Transaktionen und Sperren

Ist es Ihnen schon häufiger passiert, dass Sie Änderungen an Ihren Daten vornehmen wollten und dabei in bestehende Tabellen- oder Zeilensperren gelaufen sind? Im unangenehmsten Fall „hängte“ sich Ihre Session solange auf, bis die gesperrten Zeilen wieder freigegeben wurden...

Jede Menge Know-how für Sie!

In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.