Concurrent UNION ALL (Randolf Geist)

Wie bereits gelegentlich erwähnt hat sich im Release 12c im Bereich der Parallel Execution allerlei getan - und Randolf Geist hat sich umfassend zu den meisten neuen Features geäußert. Eine wichtige Neuerung ist das Concurrent UNION ALL, also die Möglichkeit, mehrere über UNION ALL verbundene Teil-Operationen parallel zu verarbeiten. Wie üblich sind die Ausführungen des Herrn Geist ausgesprochen detailliert - und wie üblich werde ich ihnen in meiner Zusammenfassung nicht gerecht. Daher seien die folgenden (more...)

Exadata und In-Memory

Obwohl ich bisher weder mit Exadata noch mit der IN-Memory-Option ernsthaft gearbeitet habe, halte ich beide Möglichkeiten für hochinteressant - und das gilt folglich auch für die von Maria Colgan gesammelten 10 Reasons to run Database In-Memory on Exadata. Die könnte ich jetzt nacherzählen, spare mir das aber, weil mir dazu insbesondere auf Exadata-Seite das Sachwissen zur Ergänzung erhellender Kommentare fehlt. Daher bleibt hier nur der Faden liegen, dem ich möglicherweise eines Tages nachgehen könnte.

A world of confusion

It has got to the stage where I often don't even know what day it is. No, not premature senility (although some may disagree). But time zones.

Mostly I've had it fairly easy in my career. When I worked in the UK, I just had the one time zone to work with. The only time things got complicated was when I was working at one of the power generation companies, and we had to make (more...)

Postgres-Performance seit 7.4

Da ich mir ziemlich sicher bin, dass ich diese Beiträge irgendwann wieder suchen werden, hinterlege ich an dieser Stelle die Links auf Thomas Vondras interessante Artikel zur Entwicklung der Performance von postgres seit Version 7.4:
  • "some releases make a huge improvement"
  • "Older releases perform (more...)

Review all item help texts

The business analyst or QA wants to check all the help texts for all items in your apex application – don’t force them to navigate to each page and click on the labels, one by one; instead, give them a spreadsheet to review at their leisure.

Method 1: use the apex data dictionary viewer

1. Open your application in the Apex application builder

2. Utilities -> Application Express Views

3. Choose APEX Application Page Items

(more...)

Query Optimierung mit ORDER BY?

Franck Pachot liefert in seinem Blog ein interessantes Beispiel, in dem eine simple Query ohne jede Einschränkung, die eine kleine Tabelle via Full Table Scan einliest, eine deutliche Reduzierung der Consistent Gets und auch der Laufzeit erfährt, wenn man ein ORDER BY ergänzt:
  • select lpad(x,2000,x) from DEMO;
  • 683 consistent gets
  • 20163693 bytes sent via SQL*Net to client
  • 668 SQL*Net roundtrips to/from client
  • select lpad(x,2000,x) from DEMO order by x;
    • 35 consistent gets
    • 118324 bytes sent (more...)

    Better Data Modeling: An Easter Present

    In celebration of Easter this year, I have a present for everyone. A book sale! I am putting my first Kindle ebook, A Check List for Doing Data Model Design Reviews, on Sale starting on Easter Sunday, April 5, 2015,  for five days! The sooner you act, the better deal you will get: Easter Sunday […]

    2015 ODTUG Kscope Editor’s Choice Award – Calling All Minds, Calling All Media

    Originally posted on TH TECHNOLOGY:
    It’s that time of year again – for the ODTUG Editor’s Choice Awards. This year we welcome submissions in all media – even online annotated demos. Shows us your stuff – wow us with your brilliance and clever use of Oracle development tools! Hello, ODTUG! Spring is here – finally…

    Rumors about Oracle Reports 12c

    For nearly six weeks, it is rumored that Oracle Reports will not appear in the version 12c.

    Since then, I tried to get information on this topic. After a few emails I got the info I needed.


    The rumors are definitely wrong and no one at Oracle wants to cancel Reports 12c.


    I hope that this cools down the rumor mill a little bit.

    Gerd

    Overview of all time changes this year via SQL

    inspired by Laurent Schneider’s remark concerning special time changes in Lord Howe Island

    
    with dates as
    (
    select
    trunc(sysdate, 'year') + level - 1 as day
    from
    dual
    connect by
    extract(year from trunc(sysdate, 'year') + level - 1) = extract(year from trunc(sysdate, 'year'))
    ),
    
    timezones as
    (
    select
    vtn.TZNAME, listagg(vtn.TZABBREV, ', ') within group(order by vtn.tzabbrev) tzabbrevs
    from
    v$timezone_names vtn
    group by
    vtn.TZNAME
    ),
    
    offsets as
    (
    select
    v.*, d. (more...)

    New blog to handle the PJC/Bean articles

    Here is the link to another place that stores the PJCs/Beans article without adds.

    http://forms.pjc.bean.blog.free.fr/

    Francois

     

    SQL puzzles: Which tree am I?

    The following SQL statements are all clues to the names of trees:

    --#1
    select covering
    from   mammals;
    
    --#2
    update wood
    set    state = 'burnt';
    
    --#3
    select admiration
    from   people
    minus
    select name
    from   pronouns
    where  type = 'second person';
    
    --#4
    select target
    from   diseases
    where  nationality = 'Dutch';
    
    --#5
    update oslo
    set    appearance = 'smarter';
    
    --#6
    select *
    from   elements e
    join   punishments p
    where  e.atomic_number = 47
    and    p. (more...)

    MV-Refresh mit out_of_place Parameter in 12c

    Und wieder verweise ich auf Jonathan Lewis, der diesmal eine interessante neue (12c) Refresh-Option für Materialized Views vorstellt, die durch den Parameter out_of_place aufgerufen wird. Die Idee dabei ist sehr einfach: im Rahmen des Refreshs wird eine zusätzliche Hilfstabelle erzeugt und gefüllt, die dann am Ende der Operation gegen das bisher zur MV gehörende Segment ausgetauscht wird (über eine interne Folge von Rename-Operationen). Das Verfahren entspricht grundsätzlich einem Workaround, den der Herr Lewis in (more...)

    Frequenz des ASH/AWR Samplings

    Noch einmal Jonathan Lewis, diesmal mit einer Erläuterung des ASH- und AWR-Samplings von Session-Informationen:
    • einmal in jeder Sekunde werden die Informationen zu aktiven Sessions (state = 'ACTIVE') aus v$session nach v$active_session_history kopiert.
    • diese Snapshots werden als Sample bezeichnet.
    • ein Zehntel dieser Datensätze wird in der entsprechenden AWR-Tabelle dba_hist_active_sess_history persistiert.
    • Es handelt sich aber nicht um jeden zehnten Datensatz, sondern um die Datensätze der zehnten Sekunde. Im Ergebnis sieht die enthält die AWR-Tabelle also einen (more...)

    ANSI Join Syntax und das 1000-Spalten-Limit

    Mein Titel klingt mal wieder wie der Name einer eher lieblos fortgeschriebenen Krimi-Serie, aber wahrscheinlich gelingt es mir eher, den Eintrag über eine solche Überschrift wiederzufinden, als anhand des Titels ANSI expansion, den Jonathan Lewis seinem Artikel gegeben hat, den ich hier abkürzend nacherzähle. Worum es geht ist Folgendes: im OTN-Forum wurde ein gut beschriebener Testfall vorgelegt, in dem ein ANSI-Join (mit recht breiten Views) in 12c (aber nicht in 11g) einen Fehler "ORA-01792: (more...)

    Why I can’t do webinars

    This is why I can't do webinars from my current home.

    Ookla Speed Test Result

    The upload speed is no doubt way too slow to cater for voice and screencast. Unfortunately I also seem to be in quite the dead spot for 4G wireless connection.

    Download speed might be enough to support the streaming services recently launched in Australia, but I know ABC's iView does stutter occasionally so I think I'll still have to wait (more...)

    Visualizing Statspack “Average Active Sessions” in SQL Developer

    This is the second post in my mini-series on leveraging SQL Developer Reports for DBA tasks, today with visualizing Average Active Sessions (AAS). In this article I’ll cover What AAS is and how to interpret it How to build a basic line graph in SQL Developer How to extend the graph with detailed child reports (Time […]

    Migrating To Oracle Using Custom Object Names

    Sybase , SQL  Server and other databases allow for long identifier names.
    Oracle allows for a maximum of 30 Bytes when naming objects like  users, tables, ...
    When it comes to migrating objects to Oracle,  SQL Developer will truncate the object names and resolve clashes with unique names.

    Say for example you have two tables called

    • Application_Name_SubArea_Name_SpecificAreaName_Table_Table1
    • Application_Name_SubArea_Name_SpecificAreaName_Table_Table2


    Oracle SQL Developer will convert these to

    • Application_Name_SubArea_Name_S
    • Application_Name_SubArea_Name_1
    This default new name may not be to your (more...)

    What’s this ‘WHERE 1=1′?

    Since some time I have been adding WHERE 1=1 to all my queries.
    I get queries like this:

    SELECT *
      FROM emp e
     WHERE 1=1
       AND e.ename LIKE 'A%'
       AND e.deptno = 20

    Lots of people ask me what’s the use of this WHERE 1=1.

    You know I like to type as little as possible but here I am typing a lot of extra characters. And yet, it makes my development life a (more...)

    Join Tables on Date Ranges

    A recent question on the OTN SQL forum asked how best to join two tables related by ID and date range, in order to insert one row per date into a data warehouse. One solution was to expand the data from each table, creating one row per date, then join on date. I think it's more efficient to join on date range, then expand.