• Speaker info for Perth, Australia

    Speaker info for Perth, Australia

    I have just got back from the Groundbreakers Latin America tour, and the travelling was made so much easier with the information provided by the organizers. So with the APAC tour coming up, I felt duty bound to give some hopefully useful information about my home town in Perth. Flying in/out There are two airport… Read more

  • My OpenWorld!

    My OpenWorld!

    Just a couple of weeks away, and my oh my, I am going to be busy at OpenWorld this year! Of course, first cab off the block will be the OpenWorld swim! It it September and marvellously warm in San Fran, so what better year to come along and meet new friends, and get free… Read more

  • A new use for DML error logging

    A new use for DML error logging

    Many moons ago I did a short video on the DML error logging feature in Oracle. The feature has been around for many years now, and is a great tool for capturing errors during a large load without losing all of the rows that successfully loaded. You can watch that video below if you’re new… Read more

  • DDL invalidates your SQL right ?

    DDL invalidates your SQL right ?

    I stumbled upon this post by optimizer guru Nigel Bayliss last week, so please have a read of that first before proceeding. But I wanted to show a simple demo of how management of cursors continues to improve with each version of the database. Throughout the many years and versions of using Oracle, a common… Read more

  • No more stale statistics in 19c

    No more stale statistics in 19c

    There is an odd contradiction that we all encounter for most databases, especially if they are predominantly used during the business day. Here is how that contradiction comes to be – it is in the way that we obtain and use optimizer  statistics on those databases. The contradiction runs like this: To minimize service disruption,… Read more

  • Plugzilla! A pluggable cloning utility

    Plugzilla! A pluggable cloning utility

    Cloning a pluggable database takes time, and for environments where you’d like to use clones as part of unit testing, or other elements of Agile development, it would be nice to be able to bring a clone into operation in the smallest time possible. One mechanism for that is sparse storage clones aka snapshot copy,… Read more

  • Autonomous Transaction Processing – your slice of the pie

    Autonomous Transaction Processing – your slice of the pie

    I grabbed the following screen shot from a slide deck I’ve been giving about Autonomous Transaction Processing (ATP). It shows the services that are made available to you once you create your database. At first glance, it looks like we have a simple tier, where the lower in the tier you are, the smaller the… Read more

  • Take a COPY out of SQLcl’s book

    Take a COPY out of SQLcl’s book

    As the world continues to get smaller, it makes sense for all databases to be defined to handle more than just US7ASCII, which is why the default characterset for all recent versions of the Oracle database is AL32UTF8. In that way, we can handle the various challenges when it comes to languages other than english.… Read more

  • Statistics on Load

    Statistics on Load

    One of the talks I gave recently on the Groundbreaker Yatra tour was on the changes that arrive with the optimizer when you move to 12c and above. We talked about changes to histograms, all of the adaptive features etc, but also, one of the simplest but coolest optimizer improvements when it comes to loading… Read more

  • The APEX interface to the OOW catalog is back

    The APEX interface to the OOW catalog is back

    Yes indeed! Now that the dates and times are available for OpenWorld 2019, then it is naturally time for the best data searching, filtering and analysis tool on the planet to step up to the plate, enter the fray and …. hmmm… I’ve run out of metaphors 🙂 But of course, if you have data… Read more

  • HIGH_VALUE (and other LONG columns) revisited

    HIGH_VALUE (and other LONG columns) revisited

    Just a quick post to ensure people don’t get caught out by a recent “trick” I saw on an AskTOM question for extracting the HIGH_VALUE out of it’s LONG storage in the dictionary to a more appropriate datatype. A reviewer (I’m sure in good faith) posted the following mechanism to extract the HIGH_VALUE SQL> create… Read more

  • Same dog, different leash – functions in SQL

    Same dog, different leash – functions in SQL

    Let’s start with this somewhat odd looking result. I have an inline function that returns a random number between 0 and 20, and I call that for each row in ALL_OBJECTS and then I extract just those rows for which the generated random number is 10. Seems simple enough….but why do I get results for… Read more