Oracle OpenWorld 2014 : The Journey Begins

I did my normal last minute packing last night. After a quick panic this morning, I was off in the taxi I for the airport.

I find it amazing how sense goes out of the window at airports. There was a big sign saying “Put empty trays on rollers”, so people were either leaving them or stacking them up. Either way, they were getting in the way. WTF? RTMF!

The first flight to Frankfurt was fine. While waiting to board I was staring at the guy in front thinking, “I’m sure I could do his fade better than that!” I might have to start hairdresser-base.com… 🙂

The flight to SFO went without incident. I met Joze Senegacnik, Øyvind Isene, Martin Bach and Harshad Oak during it. 🙂 Once we landed, it was the airport shuttle to the hotel, then straight out with the family for some food. Its sad that we only get to meet at conferences. 🙂

Tomorrow is the ACED briefing, so lots of tweets telling people I can’t tell them what his going on. 🙂

Cheers

Tim…

I must install Oracle on Fedora!

Followers of my blog and website know I play around with installations on Fedora for fun. All of my installation guides on Fedora come with a link at the top that points to this disclaimer.

A few times recently I’ve been contacted by people saying their boss, teacher or customer is insisting they install Oracle on Fedora. Rather than repeat myself, I’ve added another point at the bottom of this disclaimer that reads:

Q: My boss/teacher/customer is insisting that I should install Oracle on Fedora. What should I say to them?
A: Your boss/teacher/customer is making a mistake, probably because they do not understand the implications of what they are asking you to do, or do not know about the free alternatives. You should probably get them to read this Oracle Linux FAQ. If they are still unsure, feel free to put them into contact with me and I will happily educate them.

If you are being asked to do something that is blatantly incorrect, it is your responsibility to educate those around you so they can (hopefully) make better choices in future.

Cheers

Tim…

The Future of PL/SQL : The People Respond

I put out a post yesterday called The Future of PL/SQL : My Opinion.

For an Oracle-related blog, putting something out at the weekend is a sure fire way to get nobody reading it. If I look at my website, the hit rate at the weekend is about 1/5 of that of a week day. By the time most people get back to work on Monday they have a stack of blog posts to read and yours will probably fall into the “mark as read” pit of their RSS reader. 🙂 In a similar fashion, people’s timelines on social media are generally so crowded, your “look what I’ve just written” tweet will probably be lost amongst the talk of alcohol, bad food and photos of the kids…

So having said that, I chose a Sunday to put out my manifesto for the future of PL/SQL and was surprised by the volume of feedback. I know there are a lot of PL/SQL programmers out there, but it’s easy overlook that when many of the other programming communities are so much more vocal in comparison. It’s good to know there are so many people out there who still care about PL/SQL! You’ve made an old man happy. 🙂

Cheers

Tim…

The Future of PL/SQL : My Opinion

Although a lot of my effort at the moment is focused on DBA features, I have written some articles on PL/SQL enhancements. There are a few neat new features for PL/SQL developers in 12c, but you could be forgiven for thinking it is a little underwhelming. There are two ways to look at this:

  1. OMG. Oracle really don’t care about PL/SQL any more. If they did, there would be loads of new features.
  2. Wow. PL/SQL is so mature and cool that there is really not much more to add.

From a base language perspective, I think option 2 is closer to the mark. PL/SQL is a really stable, fast and mature language. There really isn’t very much that you can’t do with PL/SQL these days. So what is the future of PL/SQL in my opinion?

As part of his role as PL/SQL evangelist, Steven Feuerstein contacted a number of people about their opinions of PL/SQL. When he asked me about my wish list, I suggested all functionality in the Alexandria PL/SQL Utility Library should really be in PL/SQL. A quick look at the Alexandria site shows it includes code that supports a large variety of functionality from a variety of authors. Among other things, this library includes:

  • Generating PDF files.
  • Generating Excel files.
  • Generating RTF files.
  • Microsoft Office Integration (OOXML).
  • Zip and Unzip functionality (separate to UTL_COMPRESS).
  • Parse CSV files.
  • Parse RSS feeds.
  • Generate JSON files.
  • FTP support.
  • Email support (SMTP, POP, IMAP, Exchange).
  • Integration with Google services (Google Maps, Google Calendar, Google Translate).
  • Integration with Amazon Web Services.
  • Integration with PayPal.
  • Integration with Twitter.
  • Consuming and publishing SOAP and REST web services.
  • Logging and debugging APIs and frameworks.

You may see some things in that list that look like duplication of functionality we already have. Oracle 10g introduced UTL_MAIL for sending emails from PL/SQL, but the functionality is so limited, you invariably end up coding your own APIs using UTL_SMTP (like this). Oracle 10g also introduced UTL_DBWS for consuming SOAP web services, but once again, it is often easier to do it yourself directly, or using a simpler SOAP_API based on UTL_HTTP. We don’t even have any reasonable tracing functionality. Instead we have to write our own wrappers for DBMS_OUTPUT, or use someone else’s. So although the PL/SQL language is great, when it comes to integration with other technologies you end up having to do a lot of the heavy listing yourself, or rely on using someone else’s unsupported solution.

So in my opinion, the future for PL/SQL is not in major changes to the language itself, but in bringing these sort of support and integration packages into the database. I think we should avoid forcing overly complex frameworks on people. I’m very much talking about simple utility packages. This could be done in one of two ways:

  1. It is literally baked into PL/SQL. The problem with this approach is you will have to wait for a DB upgrade to get the latest and greatest functionality. That would be a shame since most of the functionality works for multiple DB versions.
  2. Oracle produce their own internal version of the Alexandria PL/SQL Utility Library. So you have an Oracle supplied, supported and maintained library of functionality you can download and use, independent of database version. This means updates are independent of major database version changes.

I think option 2 would make a lot of sense. If you think about it, we almost have a precedent for this in the form of APEX.

  • APEX is built on PL/SQL.
  • It ships separately to the main database releases.
  • Each release supports a variety of DB versions.
  • It brings with it a bunch of utility packages. They are there to support APEX, but there is nothing to stop you using them for your own applications, like this example of using APEX_JSON.

Imagine how exciting it would be if part of the Oracle 12cR2 or Oracle 13c announcement included a huge library of support packages like this! 🙂

Cheers

Tim…

Oracle Midlands Event #5 : Summary

Oracle Midlands Event #5 happened last night.

First up was Martin Widlake speaking about clustering data to improve performance. The cool and scary thing about Oracle is you often go into session like this thinking it’s all going to be stuff you already know, then you realise how much you either didn’t know in the first place, or had forgotten. A couple of times Martin asked questions of the audience and I felt myself shrinking back in my seat and chanting the mantra, “Don’t pick me!”, in my head. 🙂

After food and some chatting there was freebie prize draw. I won a RedGate t-shirt. I shall have to remember to take it to OOW and “accidentally” wear it whilst walking past the RedGate booth. 🙂

Next up was Ron Ekins speaking about data virtualization and instant cloning. The session started off with a general introduction to the subject and a quick look at the products available to achieve it. This session also included a live demo of Delphix. The more I hear about Delphix, the more impressed I am. Judging by the Oracle geeks they’ve drawn into the company in recent years (Kyle Haley, Steve Karam and Tim Gorman) it seems I’m not alone in that opinion. 🙂

Thanks to RedGate for sponsoring the event, allowing it remain free.  Thanks to Mike Dirden for organising the event. Thanks to the speakers travelling to Birmingham to teach us some stuff. Thanks also to the attendees, without whom this would not happen. Please keep spreading the word. 🙂

Cheers

Tim…

PS. The next event will be with Bjoern Rost in November. Keep an eye on the Oracle Midlands site for details, which should be appearing in the next few days.

Temporal Validity, ACLs, External Tables, SQL*Loader and more in Oracle 12c

Some more 12c articles have trickled out over the last few days.

I kind-of mentioned this next thing in a post a few weeks ago, but didn’t name names. 🙂 While writing an article about the PDB logging clause in 12.1.0.2 I noticed it didn’t work. I raised an SR with Oracle Support and they confirmed it was a bug. I was not planning to release the article until the bug was patched, but it came up in conversation recently and I decided it was better to release the article with a big fat warning on the top saying it doesn’t work, just so others are not as confused by this as I was. I’m still not sure it is the right thing to do, but what the heck…

When the bug is patched, I will revise the article and probably promote it to the front page of the website as a “new article”. For now it is lurking in the depths of my website. 🙂

The 12c journey continues…

Cheers

Tim…

VirtualBox 4.3.16

virtualboxVirtualBox 4.3.16 has arrived. The downloads and changelog are in the usual places.

Although 4.3.14 worked fine on OS X and Linux, I skipped it on Windows because it just wouldn’t start a VM. That issue is allegedly fixed in this release. The changelog includes the following entry.

Windows hosts: fixed startup problems on certain Windows hosts due to conflicts with anti-virus software (4.3.14 regression, bug #13187)”

Happy days! 🙂

Cheers

Tim…

Update: It is working fine on Windows 7 at work…

A few more 12c articles

A few more 12c articles went live over the last few days…

The DMU and In-Database Archiving are from the OCP syllabus. The Invisible Columns stuff seemed like a natural thing to mention, when discussing the In-Database Archiving.

The 12c journey continues…

Cheers

Tim…