OUG Ireland 2019

Just a quick post to mention OUG Ireland 2019, which is just around the corner. The event is on the 4th-5th of April at the Gresham Hotel, Dublin.

I’ve got one session this year, which is called, “Multitenant : What’s new in Oracle Database 18c & 12c Release 2” on Thursday 4th at 15:10. Bits of 19c are starting to creep into this presentation now too. 🙂

Last year I started with no presentations and ended up with two. This year I’m starting with one, so let’s see what I end up with. 🙂

See you there!



Video : Converting Exact to Approximate Query Processing in Oracle Database 12.2 Onward

Today’s video is a dash through some of the Approximate Query Processing functionality introduced in Oracle database 12.2.

If watching videos scares you, don’t worry, you can get all the information and more from these articles.

The star turn in today’s video is provided by Franck Pachot. 🙂



Do you know how to use the software you write?

During a discussion about Artificial Intelligence (AI) a colleague said he was listening to someone on the radio speaking about AI research, and their comments could be summed up by the classic Jurassic Park quote.

“Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should.”

We could easily have a similar discussion about the developers of software products aimed at DBAs and developers. I’m guessing the developers of feature X in the database aren’t DBAs or database developers in the sense that we usually use the term. Sounds kind-of obvious, but I think it’s important. When those developers are working on the new whizz-bang feature, are they really thinking about the knock-on effect of that? I don’t mean that in a bad way. I’m just saying the focus of those developers may be very different to that of the DBAs and developers the resulting product is being used by.

I’ve said it a bunch of times, but Oracle Cloud means Oracle has becoming the single biggest consumer of their own products. That continues to have a profound impact on the products. Call it, “eating your own dog food”, or “drinking your own champagne”, the result is the same. I’m hoping the feedback loop is more efficient and “louder” now than it was. 🙂

I look after the infrastructure of a bunch of systems I know nothing about. I build them, deploy software to them, and in some cases I can log into them, but there are very few I actually know how to use. I sometimes get calls about things and I’m super honest about what I can and can’t do. I say things like, “I can turn it off and on, but I don’t have a clue how to use the application!” I think that’s quite common. Once a product grows above a certain size, there’s no way someone will be able to understand all of it. If you are managing multiple products, there is no way you can understand them all.

So when the next version of product X is released and you say to yourself, “Why the heck have they done that?”, the answer may be the team thought it was a good idea, even though you as the user of their product think it’s pointless… 🙂



Video : JSON_OBJECT Function Enhancements in Oracle Database 19c

Today’s video is a demonstration of some of the enhancements to the JSON_OBJECT function in Oracle Database 19c.

If videos aren’t your thing, you can get the same information, and more, from this article.

The star of today’s video is Patrick Jolliffe. 🙂



Video : SQL/JSON : Generate JSON from SQL

Today’s video is a quick run through some of the SQL/JSON functionality introduced in Oracle database 12.2.

For those people that want a lot more information, including copy/paste examples, check out the article it’s based upon, and all the other JSON stuff I’ve written here.

The star of today’s video is Roel Hartman of APEX fame!



Oracle Database 19c : Installations, RAC, Data Guard and Upgrades

I’ve been playing around with Oracle Database 19c on LiveSQL since it was upgraded, and I pretty much thought that would be what I was stuck with until the on-prem release, as I don’t have an Exadata and it’s not on Oracle Cloud DBCS yet. Having seen a bunch people doing stuff on VMs, I got a bit frustrated and looked on eDelivery and low and behold the 19c software is available for download, even if you don’t have a Exadata CSI. I’m sure 18c was restricted during this period…

I’m pretty sure you wouldn’t be supported to use this for anything real (that wasn’t Exadata of course) until the on-prem drop, which will probably be 19.3 if they repeat what happened for 18c, but it does allow you to have a play.

Having a bunch of Vagrant environments for 18c already, meant it was pretty easy to test a whole bunch of 19c stuff within a few minutes, as most of the basics are very similar. Just minor changes to package recommendations. As a result I’ve pushed out the following stuff in the last couple of evenings.

Along the way I’ve committed a whole bunch of stuff to GitHub.

  • Vagrant build of 19c on OL7 with APEX and ORDS (here).
  • Vagrant build of 19c on Fedora 29 (here).
  • Vagrant hands-off build of 19c RAC on OL7 (here).
  • Vagrant hands-off build of 19c Data Guard on OL7 (here).
  • Docker 19c on OL7 build (here).
  • Docker compose (here) and swarm (here) stacks.

It should be obvious, but remember this is literally the first time I’ve done this stuff with 19c, so things will change over time. I just wanted to try some stuff out to see what happened, and have some test environments to play with while I’m checking out the new features. Once the real on-prem drop happens I’ll bring these up to date.

If nothing else, this is once again proof of how awesome automation is. A few minor tweaks and boom, there’s a new set of test environents. 🙂

Now I can get back to doing what I was meant to be doing… 🙂



Video : Override External Table Parameters and Inline External Tables in Oracle Database

Today’s video gives a quick demonstration of overriding external table parameters and inline external tables introduced in Oracle database 12.2 and 18c respectively.

There is a more general video on external tables here.

For those of you that don’t do YouTube, you can read all the articles here.

The cameo on this video is Ilmar Kerm, in a really noisy bar. 🙂



Video : Real-Time Materialized Views

Today’s video is a quick demo of Real-Time Materialized Views,
introduced in Oracle Database 12c Release 2 (12.2).

This is based on information from the following articles.

The cameo for today’s video is Maria Colgan. 🙂



Video : Collation and Case-Insensitive Queries in Oracle Database

Today’s video is a run through the Collation functionality introduced in Oracle Database 12c Release 2 (12.2).

If videos aren’t your thing, you can find a lot more information about this subject in my article here.

The cameo in today’s video is Kim Berg Hansen. 🙂



PS. Subscribe to my YouTube channel here.

OBUG Tech Days Belgium 2019 : Day 2

Day 2 started a little late for me and I missed the first block of speakers. Sorry Alex!

The first session of the day for me was Franck Pachot with “Microservices : Get rid of your DBA and send the DB into Burnout”. The session started with a rousing chorus of “Happy Birthday” for Franck. My bad summary of the session would be, pick the right tool and the right approach for the job. The “obvious” solution for the job is not always so obvious. One size doesn’t fit all!

After that it was keynote time with Gurmeet Goindi and Maria (questions at the end) Colgan. Gurmeet started off with the key features of Exadata past, present and future. Maria continued with some of the optimiser goodness coming in “a future release”.

Next up was Roger McNicol with “Understanding Oracle External Tables”. This was one of those sessions where I sat smugly thinking, “I knew that”, until he started talking about some stuff I didn’t have a clue about. I’ll check out some of this stuff when I get home and sneak it into some existing articles, then act superior, like I always knew it. 🙂

The next session was “REST enabling your Oracle database with Oracle REST Data Services” by Jeff Smith. Which Jeff Smith? That Jeff Smith! I’ve seen Jeff do this talk before, but he’s reworked his demos, so I wanted to see the new and improved version, and I was the next speaker in this room so… 🙂

I was the next speaker, with my session, “Multitenant : What’s new in Oracle Database 18c and 12.2”. There is a lot of good stuff in the Multitentant architecture now. All my articles on the subject are listed here. I think the session went OK, but I did overrun. Sorry!

From there I popped out with some folks for a farewell drink, then it was off to catch my plane. I ended up on the same train as Maria. When we got to the airport I tried to get her case off the luggage rack and it destroyed my hand. For a totally accurate depiction of what happened, check out the “I’ve got his pig sticker” scene from Blade.

I had about 2 hours before my plane left, so I got out the laptop and played catch-up on life. We boarded about 10 minutes late, and then sat on the plane for about 35 minutes before we left. The flight was fine and we gained back a little time on the way. I got a taxi home and that was the end of the trip!

Thanks to everyone at OBUG for inviting me to come and play. Thanks to the attendees and speakers for making the event happen. This was a self-funded trip, but I’d like to thank the Oracle ACE Program and Groundbreaker Ambassadors Program for allowing me to fly the flag.