-

Storm in a TRUNCATE cup
A post on reddit created the usual reddit storm the other day due to its title line: and whenever you make a claim on reddit (even though I think the original poster was actually posing this as a request for clarification), then rest assured there is going to be avalanche of people jumping into the… Read more
-

OT: Working with Camtasia
This blog post is a slight departure from my normal Oracle content. As some of you know may know, I also host a YouTube channel with over 700 tech videos on the Oracle Database. Our corporate editing tool is Camtasia, and as anyone that edits video knows, no matter how powerful your machine, video editing… Read more
-

XMLTYPE on Autonomous
I had a customer ask me recently why XMLTYPE is disallowed on Autonomous Database. This surprised me, because I had not heard anything along those lines. But they sent me the following test case, where they simply extracted the DDL from their existing on-premises database and could not run it on Autonomous. SQL> create table… Read more
-

2023 – what a year!
Well, its been quite a year 😀 As always the highlight for me was face to face events. Like a lot of companies out there, getting approval for travel is tough in this economic climate, so I’m extremely grateful for any opportunity I’ve had to catch up with our community. Good friend Cary Millsap wrote… Read more
-

The "ultimate" database FREE edition
Here is one of my slides from a talk on 23ai where I reference the limits on the free edition of our database. These limits apply to all of our current Express Edition database types, from 18c, 21c and now 23ai. Looking at each of these in turn, it is easiest to start from the… Read more
-

Using AI for test data
This one was inspired by good Oracle community friend Kim when I was doing my normal ranting about poor quality test cases. Often on AskTom or StackOverflow or other such forums where people seek SQL assistance, they provide their test data as a plain dump of their data, for example: That might be fine from… Read more
-

JSON and the optimizer
Going back as far as version 12 of the database, we’ve had some nifty JSON features to allow extraction, generation and manipulation of JSON documents directly within the database. That poses some interesting challenges to the optimizer when it comes to delving into JSON documents. For example, consider the three simple queries below. SQL> select… Read more
-

Express Edition needs BIGFILE
In my previous post I talked about BIGFILE tablespaces and described how you could (using DBCA or manual scripts) build a CREATE DATABASE command that would result in the SYSTEM and SYSAUX tablespaces being BIGFILE by making it a database-wide default. Then I concluded with the following teaser: “if you are using any of our… Read more
-

The smaller the database, the more important BIGFILE is
Here’s a quick tip for the weekend. When you want to create a tablespace, you have the choice of SMALLFILE (the typical default) or BIGFILE. You should probably choose BIGFILE, because after all, if you throw the question of which to use at ChatGPT it will happily tell you: They offer improved I/O performance because… Read more
-

Using ROWID for efficient parallel execution
As far back as 11g, a nifty tool for “manual” parallel processing is the DBMS_PARALLEL_EXECUTE package. In a nutshell, the basic premise is that for tasks that do not naturally fit into Oracle’s standard parallel processing DML/DDL options, you can use the package to break a large task into a smaller number of tasks that… Read more
-

New Podcast Episode – The Burden of Proof
There’s a reason we don’t just lump all of our data into Excel, Word and other such tools. Databases exist to give rigour to our data. They are the “statement of record” – the proof that our applications are meeting any business and/or regulatory requirements. The data stored in the database is typically the evidence… Read more
-

Reset a sequence #JoelKallmanDay
It’s funny how “workarounds” to problems become so ingrained in the public eye that they quickly become treated as the permanent solution. That might all be well and good, but often that leads us into the trap of becoming blinkered to better solutions that might arrive later down the track. Here’s a simple example of… Read more