• Connections with a wallet – redux

    Connections with a wallet – redux

    Wow…it is nearly 4 years ago now that I wrote an article on connecting to the database via a wallet to avoid having to hard code passwords into script. That article is here: https://connor-mcdonald.com/2015/09/21/connection-shortcuts-with-a-wallet/ So I went to do a similar exercise on my new 18c Windows database today, and to my surprise things went… Read more

  • Disabled EZCONNECT

    Disabled EZCONNECT

    Just a normal start to the day today…I had my coffee and then started working on some AskTOM questions. Naturally pretty much the first thing I needed to do is connect to my database, and then this happened: C:\oracle\product\18\bin>sqlplus scott/tiger@//gtx:1518/pdb1 SQL*Plus: Release 18.0.0.0.0 – Production on Wed Mar 6 09:23:09 2019 Version 18.5.0.0.0 Copyright (c)… Read more

  • Use V$SQLSTATS not V$SQL to find expensive SQL

    Use V$SQLSTATS not V$SQL to find expensive SQL

    It’s a holiday here today in Perth, so a very brief blog post because I’ve been busy doing other things today When I’m contacted by customers or friends and asked to help out with tuning their applications, probably the two most common issues are one or two poorly performing SQL statements, or the server being… Read more

  • Worth the wait

    Worth the wait

    Yes, I know it’s been awhile Yes, I know people have been angry at the delay But, can we put that behind us, and rejoice in the fact…that YES It’s here! Yes, 18c XE for Windows is now available. https://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html Most probably, most developers in your organization are running a Windows PC. Now every single… Read more

  • Statistics on Object tables

    Statistics on Object tables

    Way back in Oracle 8.0 we introduced the “Object-Relational” database, which was “the next big thing” in the database community back then. Every vendor was scrambling to show just how cool their database technology was with the object-oriented programming paradigm. Don’t get me wrong – using the Oracle database object types and features associated with… Read more

  • MERGE and ORA-30926

    MERGE and ORA-30926

    Just a quick blog post on MERGE and the “unable to get a stable set of rows” error that often bamboozles people. This is actually just the script output from a pre-existing YouTube video (see below) that I’ve already done on this topic, but I had a few requests for the SQL example end-to-end, so… Read more

  • The death of UTL_FILE – part 2

    The death of UTL_FILE – part 2

    I wrote a post a while back call “The Death of UTL_FILE”, and probably because of it’s click-bait title I got lots of feedback, so I’m back to flog that horse . Seriously though, I stand behind my assertion in that post, that the majority of usages of UTL_FILE I’ve seen my career are mimicking… Read more

  • Use the features available!

    Use the features available!

    Advance warning: This post is a just another normal Friday morning rant. If you’re not interested in my pontificating, move along…nothing else to see here Sometimes you can’t make use of a facility that you normally would, and you have to substitute in something else. For example, if I would normally take the train to… Read more

  • DBMS_JOB is an asynchronous mechanism

    DBMS_JOB is an asynchronous mechanism

    One of the very cool things about DBMS_JOB is that a job does not “exist” as such until the session that submitted the job commits the transaction. (This in my opinion is a critical feature that is missing from the DBMS_SCHEDULER package which, other than this omission, is superior to DBMS_JOB in every way). Because DBMS_JOB… Read more

  • Work Life Travel balance

    Work Life Travel balance

    I thought about writing a post on juggling work commitments, travel with my job and time at home with children and family. And then I came across this post from community friend Robin Moffatt. https://rmoff.net/2019/02/08/travelling-for-work-with-kids-at-home/ And … well … it’s exactly the thoughts, sentiments and motivation that I wanted to put in writing. Pretty much… Read more

  • LISTAGG hits prime time

    LISTAGG hits prime time

    It’s a simple requirement. We want to transform this: SQL> select deptno, ename 2 from emp 3 order by 1,2; DEPTNO ENAME ———- ———- 10 CLARK 10 KING 10 MILLER 20 ADAMS 20 FORD 20 JONES 20 SCOTT 20 SMITH 30 ALLEN 30 BLAKE 30 JAMES 30 MARTIN 30 TURNER 30 WARD into this: DEPTNO… Read more

  • Patch conflicts

    Patch conflicts

    My last post was about patching my home databases from 18.3 to 18.5 on Windows, and how I encountered a patch conflict when I tried to patch the JVM. I thought I’d give a little bit of info for anyone who runs into patch conflicts from time to time. It can be stressful especially if… Read more