VirtualBox 5.1.22

Hot on the heels of VirtualBox 5.1.20 comes VirtualBox 5.1.22. 🙂

Downloads and changelog are in the usual places.

I noticed this when I was in the airport yesterday, but I didn’t have enough time to download it. 🙂

It looks like it’s installed OK on my Windows 7 desktop at work and on my macOS Sierra laptop. I’ll have a go on an Oracle Linux 6 host tomorrow probably.



Oracle Code : Prague – The Journey Home

I had to be at the airport for 12:15, which meant I got a lie in and I actually slept a bit, which was nice. 🙂

When I woke up I got some breakfast, edited a couple of short Oracle Code videos and caught up with my blog posts. After that was done I went through all the work emails I’ve missed over the last week, just so I don’t have that unpleasant job to do when I get back to work on Tuesday. Once that was done a went back to bed for an hour before check-out. I know it’s sad, but I’ve had so little sleep the previous two days I felt dead.

It was a quick taxi ride to the airport and I barely broke my stride walking through security, which meant I was two hours early for the flight. Better early than late! 🙂

Because I fluked a business class ticket on the way out I had a baggage allowance of two cases and two pieces of hand luggage, of which I used two pieces of hand luggage. The journey back was economy, so I had an allowance of one piece of hand luggage. Why do companies sell return tickets with different baggage allowances? Luckily I didn’t have much, so I could cram it into the once bag.

As soon as they announced boarding, most people ignored the queue and barged to the front. The flight from Prague to Frankfurt took about an hour. As soon as I got off I checked the gate for the next flight and it had been moved to the other terminal, so I stomped off in a bit of a panic, but made it in plenty of time.

As it happened, boarding was delayed for the second flight because one of the trolley dollies was late. Once again, as soon as boarding was announced a bunch of people jumped the queue. I will not tell you what I was wishing would happen to the queue jumpers… The second flight took at 75 minutes, which wasn’t so bad.

After a quick taxi ride home, Oracle Code : Prague was complete! I did all my thank you messages in the last post, but once again thanks to everyone involved for making the event go so well. See you soon!



Oracle Code : Prague

I was a little late getting to the event. My hotel was only a mile away from the conference venue, but it was a mile up hill. 🙂 I missed the start of the first keynote, but I had already seen it in London, so I didn’t feel too guilty. 🙂

When I walked into the keynote it was packed. If you followed the event on Twitter you will know the turnout was great. Well done Prague for coming out in force to support the event!

First up was Adam Bien with “Enterprise A Slideless Keynote”, but as I said, I missed it this time around. You can see my description from the London event.

The second keynote was “Building Modern Applications Using APIs, Microservices, and Chatbots” by Siddhartha Agarwal, Jakub Nesetril. This was a standing room only thing again, so I had a little wander around the venue and got back to see the chatbot demonstration, which I watched from the from the corridor. Pretty neat.

Next I went to see Peter Nagy with “Deploying Cloud-Native Applications: VMs, Containers, or Functions”. This was a really interesting and I wrote down a lot of notes. I had a quick chat with him at the end about Docker and learned some new stuff.

From there I went to see Chris Saxon with “SQL Magic! Tricks to Show SQL Features You’ve Probably Never Used”. He got a big crowd, which was good to see for a SQL presentation at an event like this.

After that I went to see “Explore the Basics of Setting up Your First Secure Private Docker Registry” by Mike Raab. Being a Docker noob, some of this went over my head, but every bit of information helps ease the transition into playing with Docker. 🙂 He mentioned using Let’s Encrypt certificates, which I saw a few people scribble a note about.

Before the next session I live-streamed a small bit on Periscope for the @OracleDevs Channel, which you can watch on Twitter or Periscope. If you watch it on Twitter you’ll see half of my head. If you watch it on Periscope you will see it all. 🙂

After that it was my session called “Make the RDBMS Relevant Again with RESTful Web Services and JSON“. The crowd were very quiet during the session, so it was kind-of hard to know how well it went, but I had some people come to speak to me at the end, so hopefully it was fine. 🙂

I missed the last block of the day because I was too busy chatting to a couple of guys (Ramil and Artjom) and about DBA stuff. We continued chatting during the party at the end of the event, and were joined by one of their colleagues (sorry dude, I missed your name) and Frank Nimphius. I think we were the last to leave. 🙂

It was a really enjoyable day. Thanks to everyone from #OracleCode for letting me come to the event. Thanks also to the Oracle ACE Program for continuing to let me fly the flag. Big thanks to all the speakers and attendees that made this such a successful event. I hope to see you all again!

So that’s my second and last #OracleCode event this year. I hope the rest of the cities go well. Remember, it’s free so turn up and support them if you want more events like this in the future!



Oracle Code : Prague – The Journey Begins

Another stupidly early start, so another night of no sleep, worrying about missing my flight. 🙂

I was up at 04:00 to get a taxi into the airport. The queues were massive, but for some reason I had a business ticket for the outward leg, so I could use the express lane and walk straight past the hordes of people and into the lounge. Happy days.

The first flight was Birmingham to Munich, which took about 90 minutes. I had enough time between flights to head to the lounge and eat “free” peanuts. The flight from Munich to Prague was delayed, but I bumped into Frank Nimphius, who is in his medium-floppy hair phase at the moment, and we chatted about the previous Oracle Code events, while he casually flicked his hair. 🙂

The flight to Prague took about 50 minutes. I had arranged a pick-up from the hotel shuttle, so there was a man with a sign waiting to pick us up, which was nice.

After a few minutes and I was in the hotel in Prague with an afternoon to spare. I know I should go and have a look round, but sleep feels so much more important at this point!

The Oracle Code : Prague event is tomorrow, so I hope to see you there!



Afternoon of Talking Oracle

A couple of days ago I got an email from someone who had seen me speak at the Oracle Code : London event, asking if I would come and have a chat with them about Oracle, the Universe and everything. Since I was already booked off work, I said, “What about tomorrow?”, and it was arranged. 🙂

So I spent yesterday afternoon speaking with three guys who were based in Birmingham, and a couple of guys based in Ireland, who were connected over Skype.

The topics of conversation varied widely from straight tech questions to more general direction stuff. The main thing they wanted was impartial advice from someone who didn’t have an agenda. The fact I was not making any money out of this and I’ll never work for them, meant I could be an impartial Oracle fanboy. 🙂 Put me in a room and ask me Oracle questions and I’m as happy as a pig in sh*t. It was a really fun afternoon. 🙂

I’ll be doing something similar when I’m over in Bulgaria in a few weeks, so that should be fun.



Certification : OCP 12c and OCP 12cR2 Updates

Just a couple of certification related updates.

Upgrade to oracle Database 12c (1Z0-060)

About a week ago I finally got round to doing the 12c certification. As followers of the blog/website know I’ve been writing articles about Oracle Database 12c since it was released nearly 4 years ago and for pretty much all of that time I’ve been trying to convince myself to sit the 12c OCP DBA upgrade exam. It’s not that I care about the piece of paper itself (see my certification FAQ), but I’ve had so many people write and thank me for my 12c revision notes, that it felt a little bit odd I hadn’t actually sat the exam myself.

The biggest factor in delaying taking this exam was it was not a conventional 12cR1 new features exam. Instead it was an upgrade from OCP 9i, 10g, 11g to 12cR1. That meant it potentially covered anything introduced from 9iR2 onward.  That means in addition to learning the new features well enough to pass the exam, you also have to cover the old ground, which is quite a burden. Oracle used to provide catch-up exams like this as well as a straight new features exam and I think that was a better option.

Now I’m sure some of you will think, “But you should know that stuff anyway!”, and you are right, but knowing enough to do the job and knowing the type of things you are tested on in an exam are not the same thing. The thought of revising everything from 9iR2 onward was quite daunting and it put me off doing this exam. This seemed to be a common reaction amongst many people I spoke to.

I realise maintaining a catch-up exam and a regular new features exam is extra work for the certification folks, but if you want to keep people on the OCP treadmill, I think you’ve got to do this. I came very close to ditching the whole OCP thing as a result of this 12c upgrade exam, and I’m sure I’m not the only one.

Upgrade Oracle DBA 11g/12c to 12cR2 (1Z1-074)

I mentioned in a recent post there is an exam called “Upgrade Oracle DBA 11g/12c to 12cR2 (1Z1-074)” in beta at the moment. I’ve been writing about Oracle Database 12cR2 since its release on the Oracle Public Cloud, so there are quite a few articles on my website already.

Normally the release 2 articles get lumped together, since they don’t form part of an exam syllabus, but now they do, so I’ve split them up into two sections.

I’ll continue to add new articles to both sections, and at some point I will have a complete set of revision notes for the new exam. 🙂

Once again the new exam is a catch-up exam, but at least it only covers 12cR1 and 12cR2 this time. As before, I think this is a mistake, but that’s just my opinion. 🙂

Part of me wants to cram for this new exam and get it done on the cheap while it is in beta. Part of me thinks I may never take this new exam. Time will tell I guess. You’ll probably see an update post in 4 years when I’ve finally got round to it. 🙂



Presentation Feedback and Future Direction

I recently had some feedback from UKOUG Tech 16 and OUG Ireland. I was pleased with the evaluation numbers, but if I’m honest I find it hard to judge a lot by them. I typically get a lower score for “quality of slides” compared to the other areas, but I can’t really argue about that. The number of evaluations that include comments is a small fraction of the total evaluations returned, but it’s the first thing my eyes are drawn to. This is what I got, exactly as I was sent it, including punctuation, or lack of. 🙂

UKOUG Tech16

  • Excellent hype-free common-sense
  • Excellent presentation, clearly explained the topic.
  • Very good reminder and encouragement to do things better when it comes to security.
  • Useful info and worth highlighting regularly And was highlighted during the talk that database security is important but is part of a bigger security picture There are tasks the DBA can do but the design and configuration of the App is paramount Useful

OUG Ireland 2017

  • Excellent Presenter
  • I want him to present Dev stuff
  • Excellent! Needs more sessions
  • Excellent Presentations Very informative Thank you Tim.
  • Tim Hall is a great presenter. Give him more slots!

The “more slots” comments made me laugh. I think I get plenty of slots at conferences. Some would say more than my fair share. Maybe they were being sarcastic? 🙂

Once the head swelling had subsided, I noticed myself focusing on the, “I want him to present Dev stuff”, comment. I’ve always considered myself a DBA/Developer and most of my early presentations were on PL/SQL development. At some point over the last couple of years I’ve been doing a bit less of that and more DBA and/or infrastructure related presentations. I don’t think that was intentional, so I’m not sure how that happened. I guess the influence of my current job had something to do with that.

My intention is to get back to doing some development presentations, and there’s certainly a lot to talk about with regards to what’s been happening on the database and surrounding technologies recently.

So thank you to everyone that filled in evaluations, especially those that took the time to write a comment. I am listening to your feedback. I agree my slides are a bit crappy and I will try to do more development stuff again.

See you soon!



PS. I’m surprised nobody has said, “He always has a problem with his clicker/pointer!”, because I do. 🙂

Collation and Case-Insensitive Database in Oracle 12.2

A little while ago Jeff Smith asked me if I had done anything with the collation functionality in Oracle Database 12c Release 2 (12.2). At the time my response was I was letting it stew a little before I released anything about it.

For some functionality the manuals contain a lot of information, but it’s not always obvious how much you will really care about. The collation functionality is exactly like that. You can get bogged down in some quite heavy stuff, or you can give some basic examples to point people in the right direction and let them go further if they need to. That’s the route I took with this article.

I think this will be a game-changer for some applications. If you’re a MySQL user you are probably laughing now about how long it’s taken Oracle to catch up. 🙂

As always, you have to approach this stuff with a little caution. Making a change that affects every query against some data for comparisons and ordering is rather dangerous. I’m not sure how quickly, if ever, I would be considering a switch across to this for my actual table segments, but I can certainly see how some views or materialized views could be put to good use really quickly.

It will be interesting to see how this is recieved.



Oracle Code : London

As usual with early starts, I had a terrible nights sleep, worrying I would sleep through my alarm. 🙂 I’ve been quite nervous about this event ever since I found out I got accepted. I’m pretty comfortable in front of your typical Oracle crowd, but having no idea about the makeup of this audience freaked me out. My feeling was if the crowd was made up of Oracle techies looking to find out about different stuff I should fit in OK. If it was a bunch of non-Oracle people looking to see what Oracle was offering in this space my session would not go down well at all. Time would tell…

I got a taxi to the station, grabbed a coffee and got on the train. I had a seat with a table and a power socket. For ÂŁ5 I got 24 hours of internet, which made the journey far more productive. When I got to Euston Station it was a quick tube ride to Moorgate Station, then a walk round the corner to CodeNode London. After registration and a few quick hellos it was down to business.

First up was Adam Bien with “Enterprise A Slideless Keynote”. The session was a live demo of using Java EE to code microservices that are built and deployed using Docker. Live demos of anything to do with Docker are always fun to watch as things happen so quickly. 🙂

Next up was Deepak Patil with “Harnessing the Power of Cloud to Develop Next Gen Killer Apps”. This session was a description of the infrastructure that underpins Oracle Cloud, with a guest spot by Mark Shuttleworth of Cononical. I asked the question on Twitter whether this meant Oracle would start to support their products on Ubuntu. I did not get an answer. 🙂

After that session the conference was split into multiple tracks and I went to see Jeff Richmond with “Move Data Between Apache Hadoop and Oracle Database for Customer 360 Analytics”. This session covered quite a bit of ground in a single session, including talk of Oracle Big Data SQL and a bunch of Oracle Cloud Services.

Next I went to see Davide Fiorentino with “A Practical Guide to Docker and Service Deployments”. As the name suggests, this was an overview session about Docker, giving an idea of how and why you would use it.

After lunch it was me with “Make the RDBMS Relevant Again with RESTful Web Services and JSON“. As I said earlier I was really nervous about this because I didn’t know if I would be a good fit for the audience, or even if anyone would show up. The room was really busy and a quick straw poll at the start alleviated my nerves. There was a strong contingent of existing Oracle developers in the room, who were looking for “what comes next”, and my session seemed to go down pretty well. That was a really welcome surprise. 🙂

[silly aside] I keep mentioning we are doing an Oracle Cloud Apps implementation at work and I am nothing to do with the project. For anyone that doubts this, one of the questions at the end of my session was by someone who is working on that project, who I don’t know. 🙂 When I finished, two guys came up and introduced themselves. Turns out they are working on our on-prem WebCentre Content implementation. You gotta laugh! I’m sure our paths will cross how we have been introduced.[/silly aside]

Next up was Lucas Jellema with “Event Bus as Backbone for Decoupled Microservice Choreography”. I really liked the ground work Lucas put in before he launched into the demos. The term “microservice” is often used in a rather random manner, with many people describing what they are doing as microservices, when they really aren’t. Lucas did a top-notch job of describing what a microservice is and some of the basic “rules” which it should probably conform to. He then did a rather ambitious demo made up of a bunch of microservices running on his laptop and the cloud, all interacting with each other using an event bus in each location that were being synced, and it worked. I should have expected nothing less. 🙂

I missed the next session as I was chatting to a few people, including some of those guys that I “almost” work with. 🙂

Next up was Dan Mcghan with “Making RESTful Web Services the Easy Way with Node.js”. This was how the cool kids do what I do with PL/SQL and ORDS. 🙂 The combination of Node.js and the Oracle Driver for Node seems like a pretty good combo for this type of thing.

That was the last session of the day for me. We all piled downstairs for pizza, drinks and more chatting. Pretty soon it was time to leave. 🙂

Big thanks to the organisers of Oracle Code for letting me come to play. Not only was it fun to present, but I got to see and learn a lot of really useful stuff! Thanks also to the Oracle ACE Program for letting me fly the flag. I gave you a shout out in my session! Thanks to all the attendees that came to support the event, and to everyone that came to my session and came and chatted to me during the day. These events can’t happen unless you turn up! 🙂

The journey was pretty straight forward. Round the corner to Moorgate, tube to Euston, train to Birmingham and taxi home! Happy days!

It all happens again in Prague next Friday! 🙂



Is Oracle Database 12.2 really Oracle Database 13.1?

I wrote a post a few months ago where, amongst other things I mentioned my views on Oracle database versions, releases and patchsets. To summarise my points.

  • What we used to know as releases (12.1, 12.2) are now so big they are essentially new major versions, despite what the version numbers suggest. That’s reflected both in the content and the time between them.
  • What we used to know as patchsets are now more similar to what we used to think of releases. Remember In-Memory Column Store was introduced in, and it’s now one of the headline features of 12.1. Hardly just a few bug fixes. 🙂

Something happened a couple of days ago that reenforced this in my head. I was asked a question about certification on Twitter. I answered and linked to this FAQ. To be on the safe side I did a quick read through the FAQ to make sure it was still aligned with my views and checked some of the links, specifically to the certification page. While I was there I checked out the beta exams and I saw “1Z1-074: Upgrade Oracle DBA 11g/12c to 12cR2”. That’s right, an upgrade exam to take you to 12cR2. 🙂

We don’t normally get an upgrade exam between releases, although it did happen between 8 and 8i, which by version number at least was just a second digit increment (8.0 to 8.1).

On the one hand, there is a massive amount of new stuff in 12.2, which is more than worthy of making it 13.1 and therefore requiring a new certification. On the other hand, a lot of the functionality seems more evolutionary than revolutionary. I don’t mean that in a bad way. It’s just the majority of the features feel like they are finishing off functionality that would have been in 12.1 if they had got it done in time. I may live to regret that statement as I delve more into 12.2. 🙂

For those who are yet to upgrade their 11g certification, you now have a choice of going to 12c then 12cR2, or directly to 12cR2. For those that already made the jump to 12c, you are going to get tested on the 12cR1 stuff again when you upgrade to 12cR2. 🙂