Daten sind unsere Leidenschaft!

Schlagwort: Technik

Umwandlung einer Dezimalzahl in eine Binärzahl

Für jeden der mal eine Dezimalzahl in eine Binärzahl innerhalb eines Select oder PL/SQL Programms umwandeln will hier eine kleine PL/SQL-Function (funktioniert nach der Restwertmethode):
create or replace function dec2bin(p_nr in number) return varchar2 is [nbsp][nbsp] v_erg[nbsp] number; [nbsp][nbsp] v_rest number; [nbsp]begin [nbsp][nbsp] v_erg[nbsp] := trunc(p_nr/2); [nbsp][nbsp] v_rest := mod(p_nr,2); [nbsp][nbsp] if v_erg [gt] 0 then [nbsp][nbsp][nbsp][nbsp] return(dec2bin(v_erg)||v_rest); [nbsp][nbsp] else [nbsp][nbsp][nbsp][nbsp] return(v_rest); [nbsp][nbsp] end if; [nbsp]end dec2bin; [nbsp]/

Weiterlesen »

Oracle – Tabellen eines Tablespaces anzeigen

Es war einmal wieder so weit: Neulich kam eine Mail, dass der Tablespace dabei ist wegen Überfüllung die Arbeit einzustellen. Man sollte doch bitte prüfen, welche Tabellen von dem Tablespace gelöscht werden können.
Zunächst setzt dies natürlich voraus, dass man die Tabelle sys.dba_segments sehen darf. Sofern man das darf, lässt man sich zunächst die Tabellen nach Relevanz, in diesem Falle die Größe, anzeigen und prüft mit gesundem Augenmaß, welche Tabelle gelöscht werden kann:

Weiterlesen »

Welches genaue Datum ergibt eigentlich der Aufruf von to_date nur mit Jahreszahl als Parameter???

Neulich stoplerte ich über folgendes Code-Fragment:
v_date := to_date ( ‚2012‘, ‚YYYY‘);
Welches genaue Datum erhält man damit? Eine spontane Umfrage unter zufällig anwesenden Kollegen ergab folgendes Ergebnis:

40% waren der Meinung ‚01.01.2012‘
60% wollten sich lieber nicht festlegen und haben fluchartig das Büro auf der Suche nach Kaffee verlassen

Mit folgendem einfachen 1-Zeiler ist das Ergebnis schnell ermittelt:

Weiterlesen »

One Filter to Rule them All: Dynamische Regeln für das Business

Rules Manager und Expression Filter sind zwei sehr mächtige aber weitgehend unbekannte Bestandteile der Datenbank, die mit Oracle 10g eingeführt wurden. Metadatengesteuert – und damit ohne Programmierung – lassen sich komplexe Regelwerke und Prüfungen erstellen. Rulesmanager setzt auf Expression Filter auf. Durch den Einsatz dessen eigener Indextypen und SQL-Operatoren lassen sich auch sehr große Datenbestände performant bearbeiten.

Weiterlesen »
© Fotolia By bluebay2014

Sinnvolle und unsinnige Festlegungen bei Passwörtern

Spätestens beim Einrichten einer neuen Datenbank steht jeder Oracle-DBA vor der Frage, was für Passwörter er zulassen soll.
In Oracle besteht die Möglichkeit, das neue Passwort eines Benutzers durch eine selbstdefinierte Prozedur zu überprüfen, damit es nicht zu trivial ausfällt und somit nicht zu einfach erraten werden kann. Aber wie soll eine solche Prüffunktion aussehen?

Weiterlesen »

Tabellengröße abfragen

Wie findet man die Größe mehrerer Tabellen heraus, die in mehreren Schemata liegen? Die Anforderung lautete: „Ermitteln Sie doch bitte mal den Festplattenplatz den wir einsparen können, wenn wir die Tabelle „XY“ in Schema „AB“ und die Tabellen, die ich hier in dem Excelsheet notiert habe, löschen werden. Und schon hat man 68 Tabellennamen und 6 Schemata im Excelformat.

Weiterlesen »

Virtuelle Spalten

Auch Oracle kann sich dem Trend zur Virtualisierung nicht entziehen und bietet neben einer eigenen VM auch virtuelle Spalten an. Bzgl. des Sinns dieser Möglichkeit hatte ich bereits etliche Diskussionen ohne wirkliches Ergebnis – beschränken wir uns also auf die Fakten.
Die Idee zur Nutzung virtueller Spalten kam in einem Projekt, in welchem es u.a. um Lageinformationen von Objekten geht. Hierbei handelt es sich um Kilometrierungs-Informationen, für die es 3 verschiedene Schreibweisen gibt:

Weiterlesen »
Adobe Stock By vectorfusionart

Partitionen einer Tabelle in Oracle auslesen

Für meinen ersten Block hier wollte ich erstmal ein einfaches Thema ansprechen: Das Auslesen von vorhanden Partitionen einer Tabelle.
Mir passierte es, dass ich bei einem Kunden saß und mir mit Toad die Partitionen einer Tabelle anschauen wollte. Also erstmal über die GUI die Tabelle im entsprechenden Schema suchen und sich dann die Description anzeigen lassen. Anschließend ganz einfach auf den Tab „Partitions“ wechseln. Eigentlich ganz einfach. Wenn nun aber die GUI Probleme hat wieder ins Leben zurückzukehren und aufzutauen, weil bereits so viele Partitionen existieren, hört die Einfachheit auf.

Weiterlesen »

LISTAGG

In Oracle 11gRel2 gibt es eine neue Gruppierungsfunktion das LISTAGG. Mit dieser Funktion ist man in der Lage, Spaltenwerte einer Wiederholungsgruppe in einer Zeile zusammenzufassen getrennt durch ein definiertes Trennzeichen.
Beispiel:
Inhalt der Tabelle Team:

Weiterlesen »