Changing my focus?

I leave for Oracle OpenWorld 2014 tomorrow, which is normally a time when I’m super amped up, but I feel rather flat and in need of change at the moment. I just feel like I’m investing a massive amount of my time on things I don’t enjoy and are not really benefiting me or the community at large, so what’s the point?

What do I enjoy?

  • Playing with technology.
  • Writing articles and blog posts about it.
  • Meeting and talking to people about this stuff.

What don’t I enjoy?

  • I don’t really enjoy answering questions on forums any more. For every one good interaction I have, there seems to be about 10 where people refuse to think for themselves and treat me as their own personal slave.
  • I’m getting an increasing number of people asking me questions on Facebook and Google+ chat. Not only does this have a similar ratio of good:bad interactions, but there is nothing left behind that helps other people. There is no content produced that allows others to answer their own questions from a Google search. This feeds into the dependency cycle.
  • Cleaning up the massive amounts of spam I get.
  • Dealing with the endless stream of people wanting me to help advertise their product or website.

This is not a business for me. It’s fun. When it ceases to be fun, what’s the point?

At the moment, I feel like:

  • Locking the forum.
  • Locking the article comments.
  • Blocking the comments on my blog.
  • Deleting all emails that include technical questions, without even reading them.
  • Ignoring requests for help on all social media.

This would allow me to spend a lot more time playing with Oracle and writing articles, which I feel benefits myself and others to a greater extent than what I’m doing now.

If I look at my web stats, they seem to back up my opinion. The vast majority of hits on my website are for content. Only a very small proportion relate to “interaction”, yet it is this interaction which takes up the vast majority of my time.

I guess some people would see this as going against the whole ethos of the ACE Program, but I don’t think so myself. I think I’m more use to the community by putting out content, rather than doing what I’m doing now.

Maybe I’ll come back from OOW and have a change of heart. Maybe not. Time will tell.



Update: Some people have taken this post as a message that I’m going to stop writing articles. I think the post is pretty clear on that front. This is about giving me more time to write articles. 🙂

Update 2: The forums are locked while I’m at OOW. I’ll decide if they will stay locked once I get back to the UK.

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.



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. 🙂



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! 🙂



Site Hosting Update : Two Months Down the Line

About two months ago I moved my website between servers within the same hosting company. The old service was being hammered, so I moved to a better dedicated server blah, blah, blah. There was some fallout from this, mostly focussed on lost emails, but I figured it was pretty much over.

Yesterday I received two emails from totally separate people asking why I was blocking their company proxies from accessing my website. I wasn’t. One of the guys got his company to do “something” to their proxy (squid) and they were able to access my site again. The other is waiting for his network folks to check their proxy.

That incident prompted this quick post, just to let people know how things are…

The website is available from these URLs.


If you try to use the following URL, you will get an SSL security warning, but if you accept it, you will be bounced across to the proper HTTPS address.

  •  (bounces to

From a Google indexing perspective, the main (canonical) URL is still “”.

Q1: Do I plan to move over to pure HTTPS?

A1: Not at this time. It’s taken about 2 months to get my page views back to where they were before the move. That’s not super important for me, but if that loss in page views was because people and search engines were having issues with the site, that is not great. As I’ve said many times before, I do the site for me and the fact that other people like it is a bonus. Having said that, I would rather not annoy people by changing stuff every five minutes. 🙂 At some point in the future that move will probably happen, but it should be seamless. Redirects are a wonderful thing…

Q2: Does everything work on the HTTPS address?

A2: Almost. It’s not a super important issue for me at this time. As far as I can see, the main website and forum work fine. Currently, links to the blog fail on HTTPS. WordPress is kind-of anal about the main URL. You have to define the base URL and if you try and access it in any other way it is not happy. I did a quick search for solutions to this, but none were forthcoming. I’m sure it is solvable, but I can’t be bothered to spend any more time on it at this point. 🙂 There will no doubt be lots of internal links that use HTTP, so you might jump back to that by accident. I’ll fix these over time, but like I said, low priority at this time. 🙂

Q3: Does the site work with IPv6?

A3: Yes. I got an email soon after the move saying that IPv6 access was broken. The web configuration wasn’t the problem, since it was listening on the IPv6 address as well as the IPv4 one. I had simply forgotten to open the IPv6 ports for HTTP and HTTPS. Once that was done, life was good.

So as far as I know, there are no outstanding problems on my side that would prevent anyone accessing the site. If you think there are issues (you probably can’t read this) I would like to know, but I would suggest you check on your side first. By that I mean, check your browser cache and company proxy cache are not the problem.

Anyway, enough of the boring stuff. It’s the company financial year end today, so I have to make sure we don’t blow any tablespaces and do the odd backup… Fun, fun, fun! 🙂



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. 🙂



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 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…



Learning for yourself!

This subject comes up again and again. See:

In a freaky coincidence, two people asked virtually the same thing of me yesterday and I answered each of them individually, but it paved the way for this post.

In the first case, the person asked me several questions about getting better at Oracle. This is part of my reply.

Q: What is the secret behind your knowledge in oracle?
A: No secret. I’ve been doing this for nearly 20 years and I’m constantly reading and trying to learn.

Q: How have you gained knowledge in oracle and able to answer our questions of your own?
A: I am not on my own. I have the manuals, MOS, and Google.

Q: There should be some tactics with you that how you could able to answer our questions .Please share with us to become like you in future.
A: Every time you have a question, try and answer it for yourself by searching the manuals, MOS and the internet. When you think you have the answer, test it to make sure you are correct. The process of getting the answer for yourself will teach you a lot. You will often stumble across other totally unrelated information, which adds to your total knowledge.

In the second case, I suggested the person start trying to answer questions for themselves, to which they asked what was the benefit of searching for themselves over just asking me. This is part of my response.

1) You are learning how to find answers and research for yourself. This is a very important skill. Do you think all the people answering questions know all of this by heart? We don’t, but we know how to quickly get information. Over time you start to remember stuff, but I rarely rely on my own memory. I nearly always look for a link in the docs to prove I am not mistaken, or remembering how things were in a previous version. It’s important you learn this skill if you want to get good at anything.

2) You might ask me a question when I am away from the keyboard, like when I’m sleeping, and you will wait hours for the answer. If you know how to find the answers for yourself you can work at your own pace.

3) Often, finding the answer for yourself is quicker than asking the question. For example, for that last question, if you had gone to Google and searched for “oracle uninstall” the first four links are:
– 2 document references.
– The OTN forum, where people link to my article as the answer.
– My article.

Chances are, you would have got the answer quicker than the time it takes to write the question to me. It would certainly be quicker than the time it took to receive the answer. 🙂

4) People on the internet might be wrong. You need to check everything I say anyway, so why not find the information for yourself. Even the manuals are wrong sometimes, so you always need to check. You might be reading an old article etc.

I know people think there is some secret to this, but there really isn’t. When I look at all the people I admire in the Oracle community, they have all put the hours in.



Scottish Independence

Anyone watching the UK news will know we are living in turbulent times. In a few days the people of Scotland will decide if they are going to become independent. I believe the people have the right to decide what happens to them, so if the “Yes” vote comes out on top I wish them well. What does seem interesting is people on either side of the debate making very definitive statements about the success or failure of independence when a couple of very important points are yet to be decided.

  1. Will an independent Scotland be part of the EU? *
  2. What currency will an independent Scotland be using? *

Of course, there are lots of other important questions, but just focussing on these two for a minute, how can anyone make any firm predictions about the success or failure of independence without at least knowing the answer to these questions up front? How can you predict the economic impact of a split without knowing this? This not only affects the internal economy of Scotland, but it seems like it will have a massive impact on import/export side of the economy.

I’m not a politician and I’m not an economist, so I freely admit that I have no clue about this stuff, but it strikes me that everything I’m hearing from both sides sounds like complete bullshit. If I were a Scottish person I would be really confused about which way to go, because there seems to be very little in the way of solid facts.

I really hope the Scottish don’t choose to leave us, but time will tell. It will certainly be a major talking point for quite some time!



* As Jason Arneil pointed out in the comments, both questions have been answered by the pro-independence folks. They say yes to the EU and yes to keeping the pound. My issue is, there does not seem to be a definitive answer based on fact. It’s just propaganda coming from both sides. My understanding is:

  1. There will be no definitive answer to the EU issue until after a successful Yes vote, because negotiations with the EU will not start until after the result is known.
  2. The big 3 parties in the UK currently say they will not accept an independent Scotland using the pound. The Yes camp suggest this is a bluff.

As I’ve said, I’m not an expert in this and both sides are doing a propaganda assault at the moment, so it is hard to know the real truth, but it seems to me there is no consensus on the “real” answers to these questions. If I was a voter in this, I would have no clue what the reality of this situation is.