Riga Dev Day 2015 : The Main Event

The event was held at a cinema in a shopping mall. We even got a free popcorn ticket. Awesome! I missed the starting keynote, which was a pity because everyone said it was really cool. So my day went as follows.

Krasimir Tsonev : Using Node.js for everything or what it is to write a book about it

I went to this session because I wanted to be with the “cool kids”. :) I ended up chatting to Kasimir during lunch and in the evening. He’s from Bulgaria, so I was able to use my extensive Bulgarian vocabulary on him. :) I’m never going to be one of the cool kids, but it’s good to get some context about different technologies. What is it? What does it do? What is it good at? What is it bad at? Where should I avoid it? It was good to get a feel for this from someone who is really using it, not just writing about it like it’s the Emperors new clothes.

Heli “Hell-Squirrel” Helskyaho : 9 use cases for Oracle SQL Developer Data Modeller

Back in the day we used to spend a lot of time on database design. I remember spending hours in Oracle Designer. Nowadays database design seems to have fallen by the wayside, which is a pity because good design is important if you want good performance and you want your application to stand the test of time. Adding in new functionality on top of a badly designed database is a nightmare. Extending a good design is usually much simpler.

In this session my daughter gave an overview of Oracle SQL Developer Data Modeller. For those familiar with Oracle Designer, there is enough similarity to give you a warm and fuzzy feeling. The session included 9 ways to use the tool, including importing from previous tools like Erwin and Oracle Developer.

Me : PL/SQL : Stop making the same performance mistakes

Next up was my PL/SQL performance session. I had some problems with the screen at the start, so I was just about to launch into a no-slides, no-demos version of the talk, then they realised my adapter was faulty and everything was working again. My bad! The talk went well and I managed to finish on time. A number of people had questions, which took me through the break and right up to the next session. Happy days. :)

Roel Hartman : The best of both worlds : Going hybrid with your mobile APEX Oracle Application

This session showed how to use Apache Cordova to create an APEX application that acts like a native app, allowing it to interact with information from the phone, such as contacts or compass etc. It’s a really neat solution to allow you to bridge the gap between mobile web apps and native apps, allowing you to stick with your preferred development tool, in this case APEX… I feel like a native developer now. :)

Robin Moffatt : No Silver Bullets – OBIEE Performance in the Real World

I’m not an OBIEE guy, but I wanted to see Robin present and I loved it. If Cary Millsap did a presentation on OBIEE performance, it would be pretty much like this session. Robin referenced Cary’s “Thinking Clearly About Performance” paper at the start of the session and that really set the scene. He’s a confident, no-nonsense presenter, which I really like. Well worth going to watch, even if OBIEE is not your thing, because the approach he speaks about it pretty much universal for identifying and fixing the actual problem, rather than relying on Voodoo.

Me : A Oracle DBA’s guide to WebLogic server

I was then up again for the last session of the track. This time it was my introductory WebLogic session. It really was the end of the day and I think everyone, including me felt like it. :)

The Evening

After the last session, we took a taxi back to the hotel to drop off our stuff, then headed out to the closing party at a bar in the old town. I had a couple of pints and watched the band, which I believe was made up of some of the techies from one of the local companies. I really enjoyed it! After the band came some comedians, which I didn’t really hear as I was standing at the other side of the room talking geek with Robin Moffatt. When the festivities were over we headed back to the hotel and sat in the bar chatting for a couple of hours, then it was off to bed.

It was a long day, but a really enjoyable one. The conference was great fun and all the people I interacted with were really enthusiastic! I’ll write some more about the event in my closing post.

Cheers

Tim…

Riga Dev Day 2015 : The Journey Begins

My first flight was 06:20, so I had to leave the house at 04:00, which meant getting up at about 03:00. Yuck!

The first flight was about 90 minutes from Birmingham to Frankfurt, with the smoothest landing I can ever remember in a plane the size of an A320. I was meant to have a 65 minute changeover before the flight from Frankfurt to Riga. A one hour changeover at Frankfurt is too short, but the alternative was to wait for about 6 hours. As soon as I got off the plane I did a quick march to the departure gate and arrived just as boarding was meant to start. The following plane was late getting in, so I got a 10 minute break before getting on the plane. The flight to Riga was pretty straight forward, taking a bit under 2 hours. Both planes had lots of empty seats, so I was able to get my laptop out and have a play.

At 16:00 we had a tour of the old town. It started with a quick bus tour and then we walked through some of the old town, with a tour guide telling us about a few of the key places. I really like the look of Riga. I took a few photos, which will be available here when I get to upload them.

From the tour, we went out to dinner, where we met up with some of the people who arrived too late to make the tour. This is a multi-discipline conference, so it was really cool speaking to people from different backgrounds, which helps you see how your pieces fit into the bigger picture…

From dinner it was back to the hotel and bed. It was a really long day, so I was desperate to get to bed. The conference starts tomorrow…

Cheers

Tim…

Oracle ACE Program : Thanks Folks!

As you will know from my previous post, I picked up the “UK Speaker Award” at UKOUG Tech 14. I’ve already done a bunch of thank you messages, but I’d just like to take a minute and thank the Oracle ACE Program for the part they have played in this.

Many of you will know, I was invited to the ACE program because of my online contributions to the Oracle community. Prior to joining the program I had not done any public speaking and had not been part of any user groups. I hadn’t even attended a SIG or a conference before. The first conference I ever attended was Oracle OpenWorld in 2006, where I picked up the “Oracle ACE of the Year” award. It was only from that point on that I started to present.

If I had not been invited to the program, I doubt I would have ever tried to present at an Oracle event. Even if I had taken the plunge, I doubt I would have done enough presenting to come away with a speaker award like this. The amount of people I’ve met over the years and the amount of advice they have given me on presenting has been invaluable.

I know I’m not the best presenter out there and I know I’ve still got a long way to go, but I honestly don’t believe I would have come this far without the help of the Oracle ACE Program, so many thanks to everyone involved in the program, both organisers and ACEs alike, for all your help over the last  8 years. It is very much appreciated!

Cheers

Tim…

UKOUG Tech 14 : Monday

The day started with a taxi ride into New Street station to get the 06:01 train to Liverpool Lime Street. I was a little dissapointed that the train was a sprint train, so there were no tables and no power sockets. When the ticket guy came through I asked about an upgrade to first class and it was only £25 for the return journey, so I paid the extra to get a table and a power socket. Two 90 minute journeys are so much more bearable when you can actually do something useful on them. From Lime Street, it was a quick taxi ride to the ACC where I picked up my pass and headed straight to the room for my first session.

I was up in the first block of speakers at 09:00 for my virtualisation session. I expected a very small crowd for a virtualisation session in the first slot of an Oracle tech conference. I got into double figures, so I was happy. I got some questions at the end also, which is always nice.

After chatting to Peter Scott and Richard Foote about Richard’s fake tan and botox, I went to the speaker lounge and spent some time chatting to a variety of people. I also got my Christmas present from my dad. I was kind-of surprised and the size of the cheque, but I promised not to tell the wife or daughter how much he gave me! They are jealous types.

Next up was Robyn Sands speaking about “Why Solid SQL Still Delivers the Best ROI”. Being a database guy I guess it’s pretty obvious I’m going to agree entirely with what Robyn says. :) A few of the key points included:

  • Good database and application design pays off many times over.
  • Set-based processing in the database will always out pace row-by-row processing, either in the database or in the middle tier, for large data sets.
  • If you can’t use set-based processing, array processing typically beats row-by-row processing.
  • Threading to fake parallelism is not a great replacement for true database parallelism, but it can give advantages in some circumstances.

There are always exceptions to the rules, but bad programming gives bad performance. The test harness used for the demos is really neat. It really does hammer home the point in a very clear way!

SpeakerAwardSmallI chatted through lunch and didn’t actually make it to the food. :) After lunch it was off to the keynotes, where the UKOUG gave out some awards. I picked up a “UK Speaker Award” for last years session on “Improving the Performance of PL/SQL Function Calls from SQL”. The award was based on the speaker evaluations, which makes it feel kind-of special. I wasn’t too happy with my performance during that particular session last year, but obviously some of the folks in the audience felt different. Just goes to show you can’t be objective about your own performance. I’ll no doubt act all blasé about it, like it does’t matter, but I’ll secretly get a t-shirt printed to wear around the house. :) Thanks to everyone who filled in the evaluations. It is very nice to get a pat on the back like this from time to time…

The keynote overran and I was sitting near the front, so I was a bit nervous about leaving early. As a result, I was the last person to arrive at my session. My second session was an introduction to Analytic Functions, which seemed popular. The room was full and Tom claimed he was turned away. I think he was on the wind-up! It’s always better to have a smaller room that’s full, that a large room that feels empty. :) I was a bit “giddy” during this session. I think it was a combination of things including lack of food, adrenalin, excitement over the award, having a few friends in the audience and it being my last presentation of the year. I remember it feeling like a fun session for me. Not totally sure how that translates to the audience reaction though. As an example of my “giddiness”, about 3/4 of the way through the session I noticed Dawn on the front row, right in front of me, stopped and said something like, “Oh. You’re here!”. I must have looked like I was on crack! :)

During the Analytics session I try to break things down to the simplest possible terms, so this is more like a teaching session than a conference presentation. Analytics is something you just have to get your hands dirty with. No amount conference presentations will actually make you feel comfortable with them, so rather than trying to get heavy, I’m trying to get people over the first hurdle and get them started. The response from this session is usually pretty good, but I’m always worried someone will miss the word “introduction” mentioned in the abstract and turn up expecting some deep dive type session. It’s always good when you learn stuff during sessions you present and I learnt a couple of things thanks to Stew Ashton. Happy days!

After another chatting session in the speaker lounge, it was off to see dad speak about “AWR: Looking Beyond the Wait Events and Top SQL”. This meant missing Tom’s “AskTom” session, but family comes first! :) I really liked this session. The main point dad was making was people often jump into the top-5 wait events and try to fix the problem, without doing the necessary prep work first. Guilty! Instead, people should look at the information in the AWR report and try to build a picture of the system and application architecture, before trying to fix the problem. In many cases, this process will actually highlight the problems. This is not an exhaustive list, but the sort of things he highlighted were:

  • Check the spec of the hardware at the top of the report. Specifically the core count.
  • Check the number of sessions. Is it excessive compared to the core count. Ideally it should be 1-10 times the core count. More than that may represent a problem.
  • Is the number of sessions increasing during the sample time (start compared to end)? Is this normal or a session leak?
  • Is the number of open cursors excessive? Is it growing? Is this a cursor leak, which suggests bad application code?
  • On the load profile, is the DB CPUs per second is higher than the number of cores, you are CPU bound. This will probably make other waits “over-report” as they are really CPU bound. Maybe the contents of the top 5 waits is an artefact of being CPU bound. Can you trust them?
  • If there are a high number of rollbacks compared to transactions (commits), the application is doing lots of work only to throw it away. Bad application design.
  • Check out the init.ora settings for non-default and hidden parameters that look suspicious. Are these necessary or legacy?

Only after you’ve built up this picture, should you jump to the top 5 waits and the top SQL sections. Do they confirm your picture of the system built up from the previous investigation?

I’m pretty sure I will end up at the same conclusions when looking at an AWR report, but I think this approach is much better than the way I do things, so I will try to adapt and see how it goes. If you didn’t manage to see the session, you should download the slides and check them out. I think there is a lot of value there. Well done dad!

After the last session we headed off to the exhibition hall to socialise for a bit. I talked to a whole bunch of people, which is the best bit about conferences. I also got my first food of the day, a chocolate fish from the Dbvisit stand. :) I spent quite a bit of time talking to Jacco Landlust, who is always a great source of info. His advice has been incredibly valuable in plugging up the gaping holes in my middle tier knowledge.

At about 19:40 I shot off to the station and got on the 20:04 train home. A table and a power socket again. Awesome. I also managed to scrounge and extra strong mint of someone, which was the second meal of the day. :) I got to Birmingham at about 21:45 and stuffed some food down my face before getting a taxi home.

So that’s the last conference of the year. Let’s see what 2015 brings…

Thanks to my company for paying for the train ticket and letting me have the day off work as a “training day”, rather than holiday, especially having just got back from a three week “holiday” doing the OTN APAC tour. :) Thanks to the UKOUG for inviting me again and making sure everything ran smoothly. Thanks to all the attendees this year and to everyone who filled in their evaluations from last year. Cheques are in the mail. :) I’ll do a separate post about the ACE Program

Cheers

Tim…

Oracle Midlands Event #6 : Summary

OraclePressBearLast night was the Oracle Midlands Event #6 with Bjoern Rost.

Let’s start with the important stuff! I am now the proud owner of an Oracle Press bear! I didn’t technically win it, but one of the people who did donated it to me. This was the right thing to do for two reasons. (1) I wanted it more than him and (2) it is his fault I am in my current job, rather than living the good life. Thanks Dave!

Bjoern’s first session was on SQL Plan Management, which I think is an awesome feature when used in the correct context. For most DBAs, consistency is the primary goal, not ultra performance. SQL Plan Management gives you the ability to lock down your execution plans to give you more consistent results. I’ve used this during upgrade and patching cycles and it really works well. I see even more need for this as we move into the new world order of everything being optimized 75,000 times before we get the final good plan. :)

After some food, Bjoern was back with 12c New Features for DBAs and Developers. This was a quick tour through some of the cool bits of 12c. I like the way Bjoern presents. He’s very honest about features he’s not used much yet, which makes a change from people acting like they know everything, only to crumble under questioning. It also makes the talks very amusing, as well as being informative. Having spent so long with him on the APAC Tour, it was surprising that I hadn’t seen him present either of these talks before.

After the event a few of us ventured over to the German market, which was actually closed by the time we got there. :) Instead, we went into a local pub and discussed life, the universe and everything until far too late.

When it was time to leave, I gave Bjoern a lift round Birmingham city centre, looking for a taxi rank. Eventually, he got out of my car at some traffic lights and got into the taxi behind me. :) In my defence, there is loads of building work around the city centre, so roads are closed and the taxi ranks have moved… I also gave Dave (my bear supplier) a lift home…

Thanks to RedGate for sponsoring the event, allowing it remain free.  Thanks to Mike Dirden for organising the event. Thanks to Bjoern Rost for coming to entertain us and to the Oracle ACE Program for getting him across to us. Thanks to Oracle Press for my bear. Thanks also to the attendees, without whom this would not happen. Please keep spreading the word. :)

Cheers

Tim…

PS. The next event is in January. I’ll write a post about it once it is up on the website…

OTN APAC 2014 : Summary

As you will have seen from my last post, I’m back in Birmingham after completing the OTN APAC 2014 tour. Here is a list of all the posts I wrote over the course of the tour.

At just short of 3 weeks, that was a really long tour, most of which seemed to be in planes. If someone could hurry up and invent a teleport system I would be most grateful!

I feel like the tour went really well. There are a lot of user groups in the Asia Pacific region (see here), whose membership numbers vary considerably. For some of them, overseas speakers are essential to draw people to the events. For others, it is a way of encouraging the members to interact with the English speaking community. Oracle is an American company, so being able to speak English is a distinct advantage if you plan to use Oracle technologies. The bigger user groups, like those in China and Japan, recognise this and encourage people to come to the English sessions.

I’m in a bit of a daze now. I think it’s going to take me a few days to feel vaguely normal again. Back to work tomorrow. :)

Now for the thank you list…

  • Big thanks go out to all the Oracle user groups, companies and individuals that helped make this tour happen (AUSOUG WA, SHOUG, Insight Technology Inc.ACOUG, OUGTH,  NZOUG).
  • Thanks to Francisco for his work in bringing this about.
  • Thanks to all the attendees. Without your support, none of these events would happen.
  • Thanks to all the other speakers for putting up with me.
  • Many thanks to Bjoern for being my PA during the start of the tour. I hardly had to do anything. He planned the lot for me. :)
  • Last, but not least, thanks to the Oracle ACE Program for getting us ACEDs to these events. Your assistance is very welcome!

I hope I get to see you all again soon!

Cheers

Tim…

OTN APAC 2014 : Auckland to Birmingham

Everything went smoothly at Auckland airport. Boarding an A380 takes quite a bit of time and I was near the front of the plane, so I was in the last group to board. Fortunately there was loads of room for hand luggage and the seat was pretty good. The people too my right were a couple, so they were leaning together, which gave me more elbow room. The extra room and a plug socket meant I was able to have the laptop open for most of the 4 hour flight.

At Melbourne we had to get off the plane, go through security, then wait to board the same plane in the same seat. My neighbours were also flying through to Dubai, so I had the same folks next to me for that leg of the flight. No matter how good the conditions are in economy class, and they were good on this Emirates flight, sitting in a plane for 14 hours is hell. Eventually I get cabin fever and have a desperate desire to get out. I have thoughts of faking a heart attack and forcing an early landing, just to get out. It’s really not cool. With a little bit of sleep, some re-watching of films and a lot of pacing up and down by the toilets I managed to get through it. The only bit of drama was when I was leaving the plane I realised I had left some things behind. I was allowed back on the plane to get them, so all was good!

After a totally uneventful 2+ hour layover in Dubai, it was back on to a 8 hour flight to Birmingham. By this time in the journey I’m usually kind-of frantic. Not so much thing time. I think my brain was mush by now. This flight didn’t feel so long, but I don’t remember too much about it, apart from ripping one of my finger nails and needing a plaster. I don’t think I slept much. I think I was just kind-of dazed.

I arrived in Birmingham in the early afternoon. After getting my luggage it was a relatively short taxi ride home. At one point we got in a traffic jam and I wanted to die, but then the traffic opened up and I got home. Once home I got a drink, put some washing on, had a bath, then went to bed. It was about 14:00.

Next thing I know, I was having a dream about something biting my finger. I shook my hand to get it off, and knocked my tablet off the bedside table. Freshly awake, I looked at the clock and thought, damn it. It’s 5 o’clock and I’ve slept for only 3 hours. I got up and drove to a store and it was closed. I checked the clock again and I had actually slept 15 hours. It was 5am, not 5pm. I guess I was pretty tired… :)

So now I’m back and I think I’m OK. I have that “aeroplane nose”, which I’m hoping is not a cold coming, and I also have a foggy head, which is I guess a jet-lag thing. I’ve got today off as it’s Sunday, but it’s back to work tomorrow…

My next post will be a wrap-up post…

Cheers

Tim…

OTN APAC 2014 : Auckland – Day 2

My day 2 at the conference started with my analytic functions session. I’m always a bit worried I oversimplify things, but people seem to appreciate it, so perhaps I’m just being paranoid. I’m sure the feedback will let me know. :)

Next I went to Chris Muir‘s session of Developing Web and Mobile Dashboards with Oracle ADF. I had already seen this at the AUSOUG WA event in Perth, but I liked it, so I thought I would give it a second go. :) You can see some of the stuff that gets bundled with ADF 12.1.3 here.

From there I moved on the Anton Els’ session called Is Your Standby Database Locked and Loaded, Ready to Take on the Disaster?, which was a whistle-stop tour of standby database. The session started with an overview of standby technology in general. It then focussed on Data Guard, including a discussion of Active Data Guard and the Broker. It then moved on to implementing standby databases with Standard Edition (SE), using manual scripts and third party products, like Dbvisit Standby. The discussion then moved on the impact of flashback database in the context of standby, including snapshot standby. Next up was situations where you’ll need RMAN to fix problems, or use RMAN in conjunction with your standby database. This was the first time I’ve seen Anton present and I was really impressed. He’s very relaxed, confident, presents at a good pace and most importantly sounds like he really understands the subject matter!

I missed the next session because I got talking with Anton and Arjen from Dbvisit. Some tech talk along with the state of the movie business these days… :)

Then it was time for my 4th and final session of the conference. This one was my WebLogic introduction presentation, which is a bit of a braindump type session. With people scattered around a big room, you feel a little separated from the audience and I don’t think it works so well. It’s better to be in a smaller room so you feel more up-close and personal, but it’s all good. :)

Once my session was done, it was a quick goodbye over an ice-cream, then off to my hotel to get my bag. It’s a little sad when you have to rush off from a conference. It feels a little ungrateful somehow. I shared a taxi with a guy from Dunedin who had been at the conference, I’m so sorry I forgot your name. :( That made the journey a lot more pleasant though as we got to talk about the conference and life as a DBA etc.

This was my 4th visit to New Zealand and I hope it’s not my last. It’s always a really friendly conference and the fact I get to visit non-Oracle friends as well is a bonus. Hopefully I will get to pop in again on another APAC tour in the future! Thanks to everyone in the NZOUG for inviting me and making it run smoothly.

So I’m sitting in the airport now, waiting to start the nightmare journey home. I’ll post that as a separate post, along with a wrap-up post when I get home…

Cheers

Tim…