Top 60 Oracle Blogs

Recent comments


New Year … new idea … new channel

I’ve done a lot of presentations over the years, written a ton of blog posts, and over the past  5 years cranked out hundreds of tech videos of my YouTube channel.

But with the current state of the world, I also know that over the last year we’ve been awash with tech content that now comes exclusively over a virtual medium that generally requires us to stop our “day jobs” in order to focus on the content, whether it be a live presentation, recorded video or reading a long form blog post.

VirtualBox 6.1.18

VirtualBox 6.1.18 has been released.

The downloads and changelog are in the usual places.

I’ve installed it on Windows 10, macOS Big Sur and Oracle Linux 7 hosts with no problems.

I’ll be running new Packer builds for the oraclebase/oracle-7 and oraclebase/oracle-8 vagrant boxes, so they should appear with the new version of the guest additions over the next day or so.




Vagrant and Docker Builds: ORDS 20.4, SQLcl 20.4 and Database Patches 258w" sizes="(max-width: 196px) 85vw, 196px" />

The January Oracle quarterly patches were released yesterday, which prompted me to do some new builds.

We got Oracle REST Data Services (ORDS) 20.4 and SQLcl 20.4, which I use in a number of my Vagrant and Docker builds, so I updated them and ran some builds.

The Vagrant database builds, which include ORDS, can be found here.

PL/SQL in 21c gets amazing new loop iterators

“It’s a dead language” people said.

“There’s never anything new” people said.

How long will the script take to run?

In a world where databases are now the norm, whereas distributing data via a CSV file used to be commonplace, nowadays we often see the ubiquitous INSERT script being offered as a means to seed data. This is perfectly fine for those requirements where we are populating a finite list of reference data that is often required by an application to run for the first time. Things like list of valid genders, list of valid states or counties, list of valid post/zip codes, etc. They are all typically sourced from an owning authority, don’t change frequently over time, and even when they do, it is typically sufficient to manually make a correction to your database.

"Big Mac and Size"..Handling large SQL Macros

Happy 2021 everyone! And what better way to start than a cheesy pun to make you groan and already to start looking forward to a better 2022 Smile

This post is just a quick one to kick off 2021 because officially I’m still on Christmas holidays. I had a question come in regarding the cool SQL Macro features in 19c and beyond. A SQL Macro generates SQL or a SQL fragment as an output from a special PL/SQL function, and most of the demo code you will see in the documentation or on the interwebs returns a SQL macro as a varchar2.

But what if your SQL statement is really large? You might see this

Oracle database processes and waiting long in the supermarket

Hopefully I got your interest by the weird name of this blogpost. This blogpost is about sensible usage of an Oracle database. Probably, there are a lot of blog posts like this, but I need to get this off my chest.

A quote any starwars fan would recognise is ‘I sense a disturbance in the force’. I do, and I have felt it for a long time. This disturbance is the usage of the number of connections for a database. Because of my profession, this is the oracle database, but this really applies to the server-side of any client/server server processor running on at least (but probably not limited to) intel Xeon processors.

The disturbance is the oversubscription or sometimes even excessive oversubscription of database connections from application servers, or any other means of database processes that acts as clients. This means this does not exclude parallel query processes, in other words: this applies to parallel query processes too.

hot single range queries… troubleshooting part1

hot single range queries… troubleshooting part1

This issue has shown up in multiple customer applications with CockroachDB. This typically occurs in an environment that has a small amount of data that fits into a single range within CockroachDB. Often micro-services that poll data for dashboards or workflow applications can drive up usage with a small of data.

The APEX PSE christmas present!

Its always nice to get fixes to bug just in time for christmas. A while ago I posted an example of using external tables to act as mechanism to check for patches on My Oracle Support. Using this table, I run a simple query every few days to see if new APEX patches are available, and lo and behold…


So I downloaded the patch (32006852), and I’ve applied it as per the output below without any incident.

As always, check the detailed patch instructions in the README.txt, but its typically just a SQL Plus script and re-copying the updated ‘images’ directory associated with the patch

Happy Patching!

2020 in review

Well…its been quite a year!  I downloaded the Oxford “Words of the Year” report which came out with gems such as

  • Bushfires
  • Impeachment
  • Coronavirus
  • Lockdown
  • Social Distancing
  • Zoom Bombing
  • Mask Shaming
  • Black Lives Matter
  • Cancel Culture
  • Superspreader

amongst others. “Covidiot” cracked a mention and remains a personal favourite Smile, although reading the list above could perhaps be considered just a reinforcement of another of the words…”doom scrolling”.