Pay to Present? I don’t think so!

There is some strong language and emotion here, and remember it’s just my opinion. Don’t read if you are easily offended!

Something interesting crossed my inbox last night. There was an email thread amongst a bunch of presenters about a policy of pay to present at Collaborate this year. I have, and never will present at Collaborate, as Apps is not really my scene, but I think anyone accepting this policy is helping to set a dangerous precedent and I would encourage them not to go. I know funding user group events is problematic, but NO!

Collaborate already do something that I personally think is quite scummy, which is to make you pay $200 extra if you don’t stay in an official event hotel. They’ve done this for a while. This year they are going a step further. If you work for an Oracle partner that isn’t exhibiting at the event, you have to pay to go to the event, even though you are speaking. It’s a reduced rate of $299, but you still have to pay. You can’t present more than one session unless your organisation is a member.

People go to conferences to watch presentations and get advice from presenters. If the presenters weren’t there, there would be no event! We are the commodity they are selling and we don’t get paid to speak. Some lucky people like me get to claim some of our expenses back from evangelist programs, but even then we lose money. I buy back extra holiday from work. Those working in consultancies lose consultancy money. My first two conferences of this year are fully funded by me. If someone were to then tell me, in addition to all the other expenses I incur, I had to pay to go to the event my reply would be something to the tune of, “Shove it up your arse and f*ck off while you’re doing it!”

“But it only affects people working for partners!” Loads of presenters work for partners. Not all partners are giant corporations.

“But think of all the free advertising partners are getting!” Newsflash! Most companies would rather you were working and earning them money than poncing around at a tech conference. Most companies aren’t getting loads of new leads as a result of you presenting at a tech conference. I think people outside the conference circuit have quite a skewed view of what it really is. On numerous occasions I’ve spoken to people about this, and letting their technical staff present is less about company profile and making money, and more about staff development and keeping them happy so they don’t leave and go somewhere else. Good staff come at a price, and not all of it is about wages.

“Times are hard for user groups!” Making the speakers you are relying on to make your event successful pay to attend is a scumbag move.

“But you don’t even go to this conference!” True, but if people start to see this as a revenue stream for their conference, others will follow. I honestly believe this is the thin end of the wedge!

“Why should you get the whole conference experience for free?” I understand this for someone that maybe presents once a year. You could see this as a free learning experience. Having said that, if you present a lot it gets increasingly hard to find something you’ve not seen several times already. Added to that, many presenters are still working during the events. Meetings with existing customers, or just going back to the hotel to do your day job between presentation commitments. It’s not like one long party! 🙂 Update: Samuel Nitsche pointed out, even if you do one presentation a year, you still invest a lot of time to get ready for that, so you still deserve the free pass. I agree. As you say, at least for us we can use the same presentation multiple times, so the investment per event on preparation time is a little less.

“You’re a presenter. Of course you would say that!” I think most of my presenting days are behind me. What happens with user groups and the conference circuit is really of little concern to me personally, but how does this affect who comes next?

I know this might be hard for folks who see Collaborate as their main conference of the year, but I would suggest all speakers and attendees boycott this event unless they reverse this decision! It’s a slippery slope folks!

Just my opinion. You don’t have to agree!



Update : Some extra things coming out of the woodwork from private messages…

  • Two other reports of different user groups suggesting a pay to present model, then backing down when confronted.
  • Sponsor us, or you can’t present seems to be quite common.
  • Some speakers being paid to speak at regular user group events. I have heard this before, but I’ve never been paid. *
  • Some speakers getting travel expenses paid by the user group for regular user group events. I have been offered this a couple of times, but never taken it. One conference I go to pays the hotel bill for speakers, which is very welcome as I usually end up self funding that one. *

* I have no problem with a user group deciding to pay a speaker, or pay expenses, but I would be super-pissed if I had been asked to pay to present, then I found other speakers at the same event had been paid to be there. Screw that!

I’m telling you people. You’ve got to nip this thing in the bud!

VirtualBox 6.0.4

VirtualBox 6.0.4 has been released. Hot on the heels of version 6.0.2, we got this new release last night (UK time).

The downloads and changelog are in the usual places.

I’ve installed it on my Windows 10 laptop at work. I’ll do my personal Windows 10 laptop, old MBP and OL7 server when I get home, and post an update here to say how I got on.



Update: Everything went fine with the installation on my Windows 10 laptop, MBP running macOS Mojave and server running Oracle Linux 7.

Oracle REST Data Services (ORDS) 18.4

It’s hardly news, as Oracle REST Data Services (ORDS) 18.4 has been out for a while, but I thought I would mention a couple of things related to it.

First off, we’ve upgraded (almost) all of our ORDS installations to 18.4 at work. I say almost because we’ve got a couple of 11.2 databases that don’t work consistently with anything newer that ORDS 3.0.12, so they aren’t being touched until we’ve upgraded the databases. This is how I typically do the upgrades.

Regarding my GitHub stuff.

  • Vagrant : My 18c, APEX, ORDS and Tomcat installation uses ORDS 18.4 and Java 11.0.2.
  • Docker : My ORDS build has been upgraded to 18.4 and Java 11.0.2.

We’ve not had any drama related to this. 🙂



Video : JSON Data Guide

Today’s video is an overview of the JSON Data Guide functionality introduced in Oracle 12.2.

If videos aren’t your thing, you can read the articles instead. This video focuses on the main features that were introduced in 12.2, but there are some nice additions in 18c also.

The cameo in today’s video is Toon Koppelaars of #SMartDB fame.



PS. Subscribe to my YouTube channel here.

MobaXterm 11.1

Looks like MobaXTerm 11.1 was released about a week ago. I upgraded at work soon after release, but I just noticed I hadn’t upgraded at home, and I hadn’t mentioned it on the blog. 🙂

The downloads and changelog are in the usual places.

If you are using a Windows PC or laptop and you spend a lot of the time using SSH, this is a great tool!



Oracle Documentation : It’s getting better, but…

Over the years I’ve written a lot about the state of the Oracle documentation. This post is based on some Tweets by Bruno Borges related to the Java documentation, which I totally agree with.

Let’s start by saying, we’ve come a long way! Back when I wrote this post in 2015 we were in a really bad place. If you look at things now *for the database*, it is a lot more similar to what I was suggesting back then, at least as far as the new documentation is concerned. For example with this manual, all you have to do is alter the version number to switch between versions. Sensible!

What Next?

What I would like to see is this URL also, which always takes you to the latest version of the manual!


What’s more, the canonical tag on all documentation should point to the latest link. In the case of this page, on all versions we would have this.

<link rel=”canonical” href=”” />

Why? We have a problem when searching for stuff. For example, Google for “DBMS_APPLICATION_INFO” and you get the 10g page. You have to actively Google for “DBMS_APPLICATION_INFO 18c” to get the correct page. Using the canonical tag is one way of solving that.

What about old versions?

They are still a mess. I’m not sure it’s worth the effort of fixing them, other than maybe canonical tags.

What about the content?

Every version of the database documentation gets better. There are still mistakes and “example code” that couldn’t possibly run, but it is a lot better than the old days. The introduction of the “2 Day …” manuals has improved things for beginners, but there still needs to be some work. Things I would like to see include.

  • Proper staged content, from beginner to deep dive. Much of the documentation is still very reference focused. New people don’t stand a chance.
  • Working examples. I would prefer if these were in the docs, rather than a link out to other things.
  • More manageable page sizes. Most pages are massive, and quite daunting.
  • Embedded videos where appropriate.
  • Most importantly, all content needs to be centralised.

Much of this content exists, but it’s spread across different resources, which makes is really hard for people to navigate.

What about other products?

This is where is all gets dodgy. Some of the other products aren’t as consistent as the new database stuff. Bruno was talking specifically about Java, and it is a bit of a mess. There are some good resources, but they are scattered and of varying quality and age. There is an entry point from, but a few clicks down and you soon jump across to completely different sites. I hope the intention is to gradually bring all of this under the central location, with the appropriate redirects to make sure everyone finds the central location.

Is there an example of this?

Yes. I was discussing Bruno’s comments with a colleague and he pointed out what Microsoft are doing here. You can read about the project here.

I hope Oracle have similar plans for their documentation site. The popularity of other sites, including my own, suggest there is still some work to do before the documentation is consumable by normal people. 🙂



To upgrade or not to upgrade? That’s the question!

Saturday’s post about 19c generated a lot of feedback on a number of my social media networks. To generalise, you could probably split the responses into two camps.

Of course, this discussion applies equally to other technologies, including the middle tier and development frameworks. It can also be applied to people’s attitudes to patching, as well as to upgrades.

We don’t want to upgrade.

I totally get why people think this is a viable option. Such arguments might include:

  • Stability is more important than new features. With new versions come new bugs and new instabilities.
  • We don’t have time/resources to test our application against the new version.
  • The cost (in time and resources) of upgrading is not worth the pay-off of being at the new version. It’s cheaper to pay for extended support than upgrade.
  • The version we are using has all the features we need, so upgrading is a waste of time.
  • Our customers don’t care about new versions.
  • We do all our business logic in the middle tier, so the DB is just a bit bucket. New features are irrelevant.

We want to upgrade to the latest versions.

This is closer to my position, with a few important caveats.

  • You have to have time to learn the new version, so you can get the most out of it, and not fall foul of new features that do things you might not expect.
  • You need to test your application properly against it, to make sure the new version doesn’t break anything. This seems to be the biggest sticking point for companies that haven’t invested in automated testing. A lacklustre approach to testing your application will often result in a disastrous upgrade.

So why would you bother? This is where I do my totally biased sales pitch. 🙂

New versions contain new features, some of which actually work. 🙂 There are headline new features that are just marketing bumf and irrelevant to me, but there are also some really useful things, which make life easier for you and your company. Look what’s happened just for online operations in the last few versions. I know some of these features have saved loads of downtime for people.

I tend to think development new features drive change more than DBA new features, because they outwardly affect more people in the company. For people who do development in the database, the last few releases have included a lot of really useful things. Let’s look at just one of them that is dear to my heart.

If you know what is in the new releases and you don’t find anything compelling, then a choice to stay where you are is fine. We don’t all want the same things, and different opinions are fine. If you are just sticking with what you’ve got because you can’t be bothered to learn the new stuff, and you are content to do the same thing you’ve always done forever, I think you are selling yourself and your company short. Just my opinion though.

I’ve already declared my bias towards upgrades. Why? Because many of the problems I come across actually come from not staying up to date with versions and/or patches. The rest of the industry keeps moving, and somehow DBAs want to be totally static. I don’t understand that. Caution is good. Static is bad IMHO! 🙂



Oracle 19c Released : How does that make you feel?

Back in 2017 I wrote a post about the move to the yearly release cycle for Oracle software. It’s over 18 months since that post and we’ve had 18c and now 19c released (on LiveSQL), so I thought I would reflect on some of the pros and cons I mentioned in that original post. If you want to know what I originally said about these points, go back to the original post.


  • Quicker release of features : It’s becoming clear to me that some of the 18c features were actually 12cR2 features that didn’t make it into the documentation, even though they were present in the product. I’m not sure if these were present in the initial release of, or got introduced in the proactive bundle patches later. I have no problem with this, but it feels like the documentation is not keeping up with the new features added in the release updates. Where 18c is concerned we’ve had 18.1, 18.2, 18.3, 18.4 and now 18.5, but I don’t see a change in the documentation. Now a drop of the documentation once a year that includes the latest changes is better than the once every 4 years, but it still feels odd that we’re getting new functionality added, but no way to see that except for scouring MOS notes. I wonder if this situation will continue in 19c release.
  • Predictable release cycles : Yes. Nice.
  • Stability : This was originally one of my cons, but I’m going to move it to the pros section. I was worried the quicker release cycle might lead to a lack of stability, rather than the improved stability. I don’t know how other people feel, but 12.2 and 18c have been pretty good for me. I try and apply the proactive bundle patches (BP), now Release Updates (RUs), so I’m going all-in and things have been good. We are a “middle of the bell curve” company, so I probably won’t experience some of the edge cases you might, but that’s what I feel about it. I hope 19c continues this trend, as I see it.


  • Upgrade/Patch burnout : I’m currently upgrading some databases to 18c, but part of me is thinking, “What’s the point?” Let’s say the on-prem 19c drops in April, and we will wait for the first RU after that which might be July. I’m potentially only 6 months from having a viable 19c upgrade path, which is after all the Long Term Support (LTS) release. Should I bother with 18c now? I can understand if some people say no. I’m still going to move forward, as this solves some other issues for me, including the conversion to Multitenant of some 11.2 instances, which will make future upgrades easier. Having said that, mentally it is a downer and I can feel an element of this burnout I predicted.
  • Product Support/Certification : Yep. As predicted, many companies don’t seem to recognise that 18c even exists, let alone support their products on it. If I were charitable I would say they are waiting for 19c as it’s a LTS release, but in reality they are still struggling to check that 12.2 PDBs work for their products. I hope vendors get their act together to provide support for these new versions more quickly. That includes Oracle too.


  • Learning : This still concerns me. I got access to 18c straight away on Oracle Cloud and LiveSQL, so really I’ve had nearly a year of 18c. For those people that first experienced it after the on-prem release, they’ve had about 6 months experience and the 19c hype train has started. Now it will still be a year from one on-prem release to the next, but it just kind-of feels like it’s only a 6 month release, if you know what I mean. I’m currently still writing about 18c features, but part of me is thinking, “What’s the point?” My mind is looking forward to 19c. As we move forward I realise each release will be smaller, so working through the new features will not be so heavy, but I’m still worried people (and I really mean me) will disconnect.
  • Certification : I just checked today and they are still pushing the 12cR2 certification. Now this is still relevant, as 18c and 19c are effectively and respectively, but it just sounds bad. Hey, 19c has just been released and I’m working for the 12cR2 certification? I get the distinct feeling certification is dead to me now. Let’s see what Oracle Education do with this. Maybe I’ll change my mind.

Of course, it’s still early days so we will see how the cookie crumbles over the coming releases. I suspect I may be forced to cherry-pick a little.



PS. A Twitter comment from Frits Hoogland made me feel I should add something. If you are happy with what you have and don’t feel the need to upgrade often, that’s cool. Constantly chasing an upgrade can be problematic because of the instabilities it can cause. The new release cycle is allegedly meant to reduce that by drip-feeding change in smaller, manageable chunks…

Although a DBA may like some of the new features, they affect comparatively few people in the company. I feel development new features are a bigger draw for getting people to buy into the upgrade cycle. Just this week a project started on an existing 11.2 instance, but involved a bunch of JSON functionality, so it was moved across to an 18c instance. The developers only know this functionality is in 12.2 and 18c because I’ve actively promoted it. If I had not done this, they would have stuck with 11.2 and wasted a bunch of time manually coding stuff.

I’m a fan of keeping up with the latest versions, both personally and in the companies I work. In my experience avoiding upgrades and patches tends to cause more problems than keeping relatively up to date. Just my opinion though…

VirtualBox 6.0.2

VirtualBox 6.0.2 has been released.

The downloads and changelog are in the usual places.

I’ve installed it on my Windows 10 laptop at work, which I use with Vagrant for testing of Oracle, WebLogic, Tomcat server builds, as well as Docker builds. I’ll do my personal Windows 10 laptop, old MBP and OL7 server when I get home.

Update: I’ve done an install on my Windows 10 laptop, MackBook Pro running macOS Mojave and a server running Oracle Linux 7. The installations of VirtualBox 6.0.2 on all hosts worked fine. I rebuilt a bunch of VMs using Vagrant 2.2.3 and everything looks good.