Posts

Oracle 12c

Auf den Seiten der DOAG gibt es einen kurzen Artikel zur neuen Datenbankversion 12c. Die Highlights der neuen Version in Kurzform: - VARCHAR2 nun 32k - Flex ASM - Oracle ASM Disk Scrubbing erkennt automatisch korrupte Daten und repariert diese - Data Redaction -> online Data Masking - Partitionierung -> neu Kombination von Reference und Interval-Partitioning - Hinzufügen von Columns mit Default-Werten -> Default-Wert wird beim ersten Zugriff auf die Row eingefügt. Link zum eigentlichen Artikel: http://www.doag.org/de/home/aktuelle-news/article/pdb-wie-pluggable-datenbank.html

Dr. Jürgen Menge im DOAG-Interview zum BIP

Dr. Jürgen Menge im DOAG-Interview zum BIP: http://www.doag.org/home/aktuelle-news/article/doagtalk-was-kommt-nach-oracle-reports-eine-sinnvolle-abloesestrategie-mit-oracle-bi-publisher.html

Oracle SQL und die Bedeutung verschiedener Sonderzeichen

Quellenangabe: siehe unten " "Oracle SQL und die Bedeutung verschiedener Sonderzeichen Momentan arbeite ich an einem etwas größerem Data-Warehouse Projekt und verwalte dort die SQL-Scripte. Dabei kommt es schon vor, dass verschiedene Sachen in die Datenbank eingefügt werden müssen. Letztens stolperte ich dabei über das folgende Phänomen: SQL> insert into temp_data(name, version) values ('A & P', 3); Enter value for p: blah old   1: insert into temp_data values ('A & P', 3) new   1: insert into temp_data values ('A blah', 3) 1 row created.   Was passiert hier? Nun, Zeichenketten, die mit dem Kaufmannsund anfangen, werden von Oracle als Beginn von Variablennamen definiert. So kann man den Inhalt einer Variablen in ein Textfeld einfügen. Eine Variable kann z.B. so definiert werden: col spoolfile n...

Wann ist Ostern? / Osterformel

Anleitung zur Berechnung des Ostersonntags nach Dr. H. Lichtenberg: Physikalisch-Technische Bundesanstalt (PTB): Wann ist Ostern? In den nachfolgenden Gleichungen bezeichnen INT (a/b) den ganzzahligen Teil des Quotienten zweier Zahlen a und b und MOD (a, b) den nicht-negativen Rest, den a beim Teilen durch b lässt. Zu berechnen ist im einzelnen für die Jahreszahl X: (1) K = INT (X/100); (2) M = 15 + INT ((3K+3)/4) - INT ((8K+13)/25); (3) S = 2 - INT ((3K+3)/4); (4) A = MOD (X, 19); (5) D = MOD (19A+M, 30); (6) R = INT (D/29) + ( INT (D/28) - INT (D/ 29)) · INT (A/11); (7) OG = 21 + D - R; (8) SZ = 7 - MOD (X+ INT (X/4)+S, 7); (9) OE = 7 - MOD (OG-SZ, 7); OG ist das Märzdatum des Ostervollmonds. Dies entspricht dem 14. Tag des ersten Monats im Mondkalender, genannt Nisanu. SZ ist das Datum des ersten Sonntags im März. OS = OG + OE ist das Datum des Ostersonntags, als Datum im Monat März dargestellt. (Der 32. März entspricht also dem 1. April, usw.) Liegt de...

Daten zusammenfassen mit Aggregatsfunktionen

Zu den Möglichkeiten der Oracle Aggregatsfunktionen wie group by rollup cube grouping sets aber auch den analytischen Funktionen gibt es bei der APEX-Community einen sehr guten und kompakten Überblick: http://www.oracle.com/webfolder/technetwork/de/community/apex/tipps/aggregateFunctions/index.html

Beginning Performance Tuning By Arup Nanda

Im Oracle Magazin gibt es eine Artikelreihe von Arup Nanda zum Thema Performance Tuning: Beginning Performance Tuning bit.ly/SEzR6t bzw. http://www.oracle.com/technetwork/issue-archive/2012/12-jul/o42dba-1566567.html Diagnose the Past bit.ly/U7U5IJ bzw. http://www.oracle.com/technetwork/issue-archive/2012/12-nov/o62dba-1741123.html Active Session History http://www.oracle.com/technetwork/issue-archive/2013/13-jan/o13dba-1871177.html

Spielereien mit dem Datum

Anhand eines Datums die Woche zu bestimmen erfolgt in Oracle über die Formatierung: select to_char(to_date('31.12.2013','dd.mm.yyyy'),'Dy dd.mm.yyyy') Tag, to_char(to_date('31.12.2013','dd.mm.yyyy'),'yyyy ww') Woche from dual; select to_char(to_date('31.12.2013','dd.mm.yyyy'),'Dy dd.mm.yyyy') Tag, to_char(to_date('31.12.2013','dd.mm.yyyy'),'yyyy iw') Woche from dual; select to_char(to_date('31.12.2013','dd.mm.yyyy'),'Dy dd.mm.yyyy') Tag, to_char(to_date('31.12.2013','dd.mm.yyyy'),'iyyy ww') Woche from dual; select to_char(to_date('31.12.2013','dd.mm.yyyy'),'Dy dd.mm.yyyy') Tag, to_char(to_date('31.12.2013','dd.mm.yyyy'),'iyyy iw') Woche from dual; Zu Unterscheiden ist dabei zwischen ISO-Jahr /-Woche (IYYY / IW) und "normalem" Jahr / Woche (YYYY / WW). Entscheidend bei letztem ist di...