Bulgarian Oracle User Group (BGOUG) 2018 : The Journey Home

It was a 03:00 start, which is never a good thing. I got down to reception to meet my fellow travellers and we started on our trip to the airport. As we walked out of the hotel we were greeted by a lite scattering of snow. It was clearly visible on some of the mountains the day before, but it was quite a surprise to see it here, especially as I left my balcony door open for the whole of my stay…

The drive to the airport was quick, as there was very little traffic. The baggage drop and check-in queue for Lufthansa was pretty large, but fortunately I had checked in online and I was hang-luggage only, so I walked straight to, and through, security. That left me with over an hour before the flight.

The flight from Sofia to Frankfurt was pretty easy. I had an empty seat next to me, so I got the laptop out and started to write two presentations I’ve got to give at work.

I was expecting the layover in Frankfurt to be about 70 minutes, but it turned out is was nearly 5 hours, because I didn’t read the itinerary properly, so I logged into work and cleared down all the crap that collected during the two days I was away.

The flight from Frankfurt to Birmingham was about and hour and went pretty smoothly. Once again I had an empty seat next to me, so happy days!

Getting through security was pretty quick, then I was in the bounciest taxi ride ever to get home, and that is was my last international conference of the year complete.

As followers of the blog will know, this year has been problematic for me from a conference perspective. It’s especially disappointing when my travelling curse hits my favourite conference of the year.

Thanks to everyone from BGOUG for letting me come for the 8th time. Thanks to the people who came to my sessions. The turnout was great, and it certainly lifted my spirits! Sorry I wasn’t able to get more involved on the first day, but at least everything went well on the second day. See you again soon!

Cheers

Tim…

Bulgarian Oracle User Group (BGOUG) 2018 : Day 2

I woke up feeling a little dodgy, but much better than the day before. I even got down to breakfast.

The first session of the day for me was “Oracle Database infrastructure as code with Ansible” by Ilmar Kerm. I’m pretty early on in my Ansible journey, so it’s good to see what other people are doing with it. I had a long conversation with Ilmar after the session, and was joined by Oren Nakdimon, which meant we missed the next block of talks.

Next up I went to see “So, my query plan says ‘Table Access Full’ – what happens next?” by Roger Macnicol. There was some stuff I knew, some stuff I’d written about and forgotten, and some stuff I will pretend I always knew, even though secretly I didn’t. 🙂

After lunch I went to see “Upgrade to Oracle Database 18c: Live and Uncensored!” by  Roy Swonger. In addition to speaking about the options to upgrade to 18c, he also covered some 19c stuff, and did a live demo of upgrading from 11.2 to 18.3. Funnily enough, this is exactly what I’ll be doing on Monday for one of my systems. 🙂 I spent the whole of the next block speaking to Roy about a bunch of different things, including upgrades of course. 🙂

From there I went to see “Oracle Exadata – Laying the foundation for Autonomous Database” by Gurmeet Goindi, which was a run through of Exadata and In-Memory features, amongst other things, and how they have been used as a platform for the autonomous database cloud service to be built on.

From there it was on to a panel session where we were discussing our opinions on Autonomous Systems. I think this was a funny session, and I feel like I was doing a sales pitch for autonomous databases at some point. 🙂 I think the word autonomous is a big sticking point in heads of some of the audience. I don’t really care what it is called. I care more about what it can do.

From there we went to get some food, but I has to duck out quite early because tomorrow is a 03:00 start again for me. Fingers crossed.

Thanks for all the folks at BGOUG for inviting me again. This was my 8th visit to the conference. I wish I hadn’t been unwell at the start, but it was good that I managed to get involved today!

See you all again soon!

Cheers

Tim…

Bulgarian Oracle User Group (BGOUG) 2018 : Day 1

I got out of bed at about 11:00 feeling dreadful. Just before 12:00 I headed down to do my first talk at 12:30. The projector really didn’t like my laptop, so I had to present from Krasimir Kovachki‘s laptop, which meant no live demos. The presentation loses a lot without the demos, but I think it went OK considering.

I took some paracetamol, then grabbed some food and went outside to eat it in the cool air. Pretty much as soon as I moved inside I felt hot and bad again. I went to my room, puked and then it was time for my second presentation.

The second session was all demos, so I was rather worried about the projector situation. It was in a different room and luckily the projector played ball, so I was able to do the session I was expecting to do. I think the combination of adrenalin and paracetamol worked quite well, as apart from feeling a little giddy, I was OK.

Pretty soon after my second session ended, the adrenalin subsided and I felt terrible again, so I went back to my room.

The evening after the first day of the conference is the appreciation event. There’s usually good food, drinks, entertainment and an opportunity for me to join in with some Bulgarian dancing. I didn’t make it out of my room. 🙁

Sorry for being so rubbish! Fingers crossed I will feel better for day 2 and actually be able to get involved in the conference properly.

Cheers

Tim…

Bulgarian Oracle User Group (BGOUG) 2018 : The Journey Begins

It was a 03:00 start, which is stupid. I vowed never to do this again, but there wasn’t really a sensible alternative.

The taxi ride was fine. I got to the airport in plenty of time and it was pretty empty. I walked straight through security and had 50 minutes to get myself together, which basically meant a coffee and diet coke breakfast.

The flight from Birmingham to Munich was scheduled for 1:45, but I think it took a bit less than that. The plane was pretty empty, so there was room to spread out. I nodded off a few times, which is not that normal for me, but I still felt like I’d been punched in the face when I landed in Munich.

I had about 80 minutes between flights, but I managed to walk the wrong way a couple of times… I met Francesco Tisiot at the boarding gate, and we chatted a bit before it was time to get on the plane.

The flight from Munich to Sofia was scheduled for 1:45 again. I was meant to have an aisle seat, but the plane had an extended business class, so my seat was reassigned at boarding to one further back in the plane, and a middle seat. 🙁 I nodded off a couple of times again, so I survived OK.

BTW: The middle aged guy in front and to the right of me was looking at pictures of semi-naked young women on his phone. When did that become a normal thing to do on public transport?

We arrived at Sofia on time and made our way pretty quickly through security, where we were met by Gianni Ceresa and Christian Berg. Soon after Roger MacNicol turned up and we headed to the minibus, where we found Julian Dontcheff. We then started the drive to Pravets.

Once at the hotel I dumped my stuff, grabbed some food, said hello to some more people who had turned up, then went back to my room to veg out for the afternoon. It would have been nice to do something useful, but I was too tired.

There was a speaker dinner in the evening, but by that time I was feeling pretty dreadful, so I gave it a miss in favour of sleeping more.

Cheers

Tim…

Why Automation Matters : Continuous Improvement and Buying Time For Yourself

In previous a post I talked about lost time associated with manual processes and hand-offs between teams, but in this post I want to look at time from a different perspective…

One of the big arguments I hear against automation is, “We don’t have time to work on automation!” If you don’t think you have time now, how are you going to make time when you have to deal with another 10, 100, 1000 servers? I don’t know about you, but every week I have to deal with more stuff, not less. If I waited for a convenient opportunity to work on automation, it would never happen.

I think a lot of this comes from a flawed mindset as far as automation is concerned. There seems to be this attitude that we have to get from where we are now to a full blown private cloud solution in a single step/project. Instead we should be trying to incrementally improve things. This idea of continuous improvement has been part of agile and DevOps for years. It doesn’t have to be great leaps. It can be small incremental changes, that over time amount to something big.

As a DBA we might think of these baby steps along the path.

  1. Stop doing GUI software installations. Instead focus on silent installations of software. This is probably the easiest thing a DBA can automate because Oracle have done all the hard work for you. Silent installations of most Oracle products are really easy. What’s more you can put your scripts into Git and you have a proper record of what you did. It’s surprising how many people have no record of what they did and how they did it!
  2. Stop doing GUI database creation. Just like the silent installations, Oracle has done all the hard work for you here. You can use the DBCA in silent mode and once again put your scripts into Git.
  3. Once you’ve got 1 & 2 sorted you can start thinking about scripting post installation and post DB creation tasks including patching and other operational tasks.
  4. Once that’s all running, you have some basic automation in place, which you can improve over time, you might want to try out some alternatives, like switching from shell scripting to something like Ansible.
  5. Once you’ve got some stable and reliable automation, you can start trying to integrate it with your System Administrator’s build and patching processes.
  6. At some point you might want to make some of these operations self-service, so users/developers don’t even have to ask you anymore, they initiate the automation themselves. You will still be responsible for creating and maintaining the automation, but you don’t have to be there 24×7 to manually run the scripts.

If all you have time to do is steps 1 & 2, you will still have saved yourself some time, as you can start a script and do something else until it finishes. That could be working on improving your automation. Added to that you’ve improved the reliability of those steps of the process, so you won’t have to redo things if you’ve made mistakes, or live with those mistakes forever.

I understand that company politics or internal company structure can make some things difficult. Believe me, I run into this all the time. I can build whole systems with a single command at home, but at work I have to break up some of my automation processes into separate steps because other teams have to perform certain tasks, and they haven’t exposed their work to me as a service. As frustrating as that can be, it doesn’t stop you improving your work, and maybe trying to gently nudge those around you to join in.

Remember, each time you save some time by automating something, invest some of that “saved” time into improving your automation, and automation skill set. Over time this will allow you to take on more work with the same number of staff, or even branch out into some new areas, so you aren’t left out on a limb when everything becomes autonomous. 🙂

Cheers

Tim…

Birmingham City University (BCU) Talk #7

Yesterday I went to Birmingham City University (BCU) to do a talk on “Graduate Employability” to a bunch of second year undergraduate IT students. I’ve done this a few times at BCU, and also at UKOUG for a session directed at students.

The session is what originally inspired the my series of blog posts called What Employers Want.

I’ve mentioned before, these sessions are a little different to your typical conference sessions. Perhaps you should try reaching out to a local college or university to see if they need some guest speakers, and try something outside your comfort zone.

Thanks to Jagdev Bhogal and BCU for inviting me again. See you again soon.

Cheers

Tim…

Oracle 18c and 12c on Fedora 29

Danger, Will Robinson! Obligatory warning below.

So here we go…

Fedora 29 has been out for a bit over a week now. Over the weekend I had a play with it and noticed a couple of differences between Fedora 28 and Fedora 29 as far as Oracle installations are concerned. There are some extra packages that need to be installed. Also, one of the two symbolic links that were needed for the Oracle installation on Fedora 28 is now present in Fedora 29, but pointing to the wrong version of the package.

Here are the articles I did as a result of this.

It’s pretty similar to the installation on Fedora 28, with the exception of the extra packages and a slight alteration to the symbolic links.

Once the “bento/fedora-29” box becomes available I’ll probably do a Vagrant build for this, but for the moment is was the old fashioned approach. 🙂

So now you know how to do it, please don’t! 🙂

Cheers

Tim…

Why Automation Matters : Keep Your Auditors Happy

We were having some of our systems audited recently. I’ve been part of this sort of things a few times over the years, but I was pleasantly surprised by a number of the questions that were being asked during this most recent session. I’ll paraphrase some of their questions and my answers.

  • How do you document your build processes? We have silent build scripts (where possible). The same build scripts are used for each build, with the differences just being environment variables. If a silent build is not possible, we do a semi-silent build, and use screen grabs for the manual bits.
  • How do you keep control of your builds and configuration? Everything goes into a cloud-based Git repository, and we have a local git server as a backup of the cloud service.
  • How do you manage change through your systems? Requests, Incidents, Enhancements, Tasks are raised and placed in a Task Board, which is kind-of like a Kanban board, in Service Now. Progression of changes to production require a Change Request (CR), which may need to be agreed by the Change Advisory Board (CAB), depending on the nature of the change.
  • Are changes applied manually, or using automation? This was followed by a long discussion about what we can and can’t automate because of our internal company structure and politics. It also covered the differences between automation of changes to infrastructure and in the development process. 🙂

There was a lot more than this, but this is enough to make my point.

The reactions to the answers can be summarised as follows.

  • When we had a repeatable automated process we got a thumbs up.
  • When we had a process that was semi-automated, because full automation was impractical (because of additional constraints), we got a thumbs up.
  • When we had a manual process, we got a thumbs down, because maintaining consistency and preventing human error is really hard when using manual processes.

In a sentence I guess I could say, if you are using DevOps you pass. If you are not using DevOps you fail. 🙂

Now I am coming to this with a certain level of bias in favour of DevOps, and that bias may be skewing my interpretation of the situation somewhat, but that is how it felt to me.

As I said earlier, I was pleasantly surprised by this angle. It’s nice to see the auditors giving me some extra leverage, and it certainly feels like automation is a good way to keep the auditors happy! 🙂

Cheers

Tim…

PS. This is just one part of the whole auditing process.