Update returning old values, possible solution

Warning:  While this appears to work, I do not know if the behavior is defined.

It seems that using a scalar subquery in the select list of an updatable view allows us to return the old value of a column.  I’ll update this post with more details when I (more...)

Not a Fan of Public Synonyms, Here is Why

Tom is not not a fan of public synonyms, here is why:

  • public synonyms pollute the namespace.
  • public synonyms can lead to security issues.
  • public synonyms can lead to a maintenance headache.
  • public synonyms are public – no one owns them.

So, instead of public synonyms…

create PRIVATE synonyms or (more...)

Exadata Hybrid Columnar Compression

The basic idea behind the Exadata Hybrid Columnar Compression (hereby referred as EHCC) is to reprise the benefits of column based storage while sustaining to the fundamental row based storage principle of Oracle database. Oftentimes  the databases following column based storage claim that comparatively they needs less IO to retrieve (more...)

Speak at PyOhio

Have you responded yet to PyOhio's Call For Proposals (due date: June 1)? You should. Here's why.

Why you should speak at PyOhio

  • We need you. We have a great group of people who contribute talks, but we don't ever want that group to become a stagnant pool - we (more...)
  • ipython-sql for multi-database comparisons

    For my newest ipython-sql trick, I needed to compare some queries run across different databases. How hard would it be to get side-by-side results into tidy IPython Notebook output?

    Not hard at all, it turns out, if you're willing to violate basic principles of human decency.

    That's an itty-bitty image, (more...)

    Traffic Management

    delete
    from   roads
    where  cars in ('my', 'way')
    and    desire_to_get_home_quickly = 'huge';
    
    1,492 rows deleted
    Now I just need to find a way to execute this before leaving work to ensure an smooth flowing journey home!

    Fillfactor im SQL Server

    In Brent Ozars Blog erläutert Kendra Little die Bedeutung des Fillfactors im SQL Server. Grundsätzlich entspricht der Fillfactor in etwa der PCTFREE-Angabe für Oracle-Blocks, dient also dazu, Platz für spätere Einfügungen zu reservieren. Allerdings betrifft der Fillfactor nur Index-Strukturen, was insofern kein extreme Einschränkung ist, als der Index (in Form (more...)

    Clickable SQL*Plus Errors

    Running lots of scripts in SQL*Plus is nice when they are working correctly. But what about when they fail?  Its a pain to figure out what went wrong, unless you have a log file and even then, you have to hunt the errors down.

    Well, I've had enough of that. (more...)

    Clickable SQL*Plus Scripts

    When you have a load of SQL*Plus scripts, they can be a pain to manage and just simply get around.
    In the next version of SQL Developer, you'll be able to hold the ctrl key down and click on the file name and have it open up.  This also works (more...)

    ODTUG Kscope13: The Clock is ticking…

    kscope13_ImSpeaking

    So you haven’t decided if you should go to Kscope13. I’ll give you 5 reasons why you should stop procrastinating and register right away!

    1. 4½ days of great technical content for Oracle developers. Plenty of presentations and hands-on training on several areas such as APEX, BI, development tools, SQL, PL/SQL, (more...)

    Gescheiterte Oracle-BI-Produkte

    Mark Rittman nennt 10 Oracle-BI-Produkte "You May Not Have Heard Of…". Oder auch wünschen würde, nie davon gehört zu haben...

    Historisierungsverfahren im Vergleich

    Dani Snider vergleicht im Trivadis-Blog die Historisierungsverfahren des Data Vault Modeling von Dan Linstedt mit der master data Versionierungstechnik, die er (und seine Kollegen) im Buch Data Warehousing mit Oracle vorstellt. Das Data Vault Modeling ist mir erstmals vor ein paar Jahren begegnet, als der (von mir sehr geschätzte) Thomas Kejser (more...)

    When You Should Consider Flash for Database Storage

    @flashdba:

    If any of this is ticking boxes for you, it’s time to consider what flash could do for the performance of your database:
    • I/O wait times are high. Essentially we are looking for high latency from the existing storage system. Flash memory systems should deliver I/O with sub-millisecond (more...)

    CSS pull down menu using APEX List

    I find APEX tab sets cause all sorts of issues in applications, either through management or behaviour. A common request is to create some pull-down menus as a replacement.
    There are plenty of options for this, including a number of jQuery plugins, but here is an example that uses only (more...)

    Database roles – 2. Big…Mistakes?

    Looks like my Friday post about BigData got some attention. In that case - let's continue! While looking at tons of articles about Big-anything I've noticed a very constant pattern - everybody is talking about multi-node clusters of database servers: you constantly hear about horizontal scalability, sharding, node failure tolerance (more...)

    By failing to prepare

    By failing to prepare, you are preparing to fail. - Benjamin Franklin Filed under: Quotes Tagged: Ben Franklin, benjamin franklin, leadership, quote

    (UTL_RAW.)CAST_TO_DATE

    Tim wrote
    … the UTL_RAW package has a bunch of casting functions for RAW values (CAST_TO_BINARY_DOUBLE, CAST_TO_BINARY_FLOAT, CAST_TO_BINARY_INTEGER, CAST_TO_NUMBER, CAST_TO_NVARCHAR2, CAST_TO_VARCHAR2). Note the absence of a CAST_TO_DATE function.

    Bertrand Drouvot also misses it, see Bind variable peeking: Retrieve peeked and passed values per execution in oracle 11.2

    Here is (more...)

    Dynamic SQL and RESULT_CACHE

    Over the weekend one of my friends asked me for a clarification on RESULT_CACHE - a really interesting functionality that allows Oracle to cache in SGA results of PL/SQL function calls.

    The point of confusion was the fact that between 11gR1 and 11gR2 Oracle development team significantly re-thought this feature (more...)

    Sequence out of fetch? More problems with committing in loops

    create sequence ora 
    start  with -1002 minvalue -1002;
    
    begin
      for commits in (
        select loops 
        from   queries
        where  we = 'specify'
        for    update
      ) loop
        dbms_output.put_line(
          'Causes an ' || sqlerrm(ora.nextval));
        commit;
      end loop;
    end;
    /
    
    Error report:
    ORA-01002: fetch out of sequence
    Issuing a  (more...)

    Another First at ODTUG’s #Kscope13

    Those crazy kids at ODTUG have done it again! At this year’s KScope in New Orleans this user group is introducing an evening of crossover sessions. Over the years the event has grown and actually blended the traditional Oracle database development world with the world of EPM, Hyperion, and Essbase. (more...)