This post is long overdue, as I was supposed to blog about my appearance at NoCOUG before I left (sorry, Vanessa!). However in my efforts to rehearse and adjust my presentation, blogging about it just fell to the wayside. However now that NoCOUG 2011 Summer Conference is in the books, I'd like to take a few minutes to share my experience not only as an attendee, but also as a first-time speaker.

When I found out that NoCOUG had accepted my abstract, "Oracle 11g: Learning to Love the ADR", I was both ecstatic and terrified. This meant that I actually had to prepare the presentation and speak in front of peers. Surely they would throw me into San Francisco Bay if I didn't bring my A-game, so I set out to do just that.


Step 1: Learning to Love the ADR

The fact is that I chose to speak on the ADR because I knew very little about it myself. This would not only get me into the glorious world of Oracle conference speakers, complete with a lifestyle rivalled only by Caligula, but it would also ensure that I knew as much as I could about the ADR. Until this project, I had only known where to find the human-readable alert log so I could continue on with my Oracle 10g style of monitoring! I had heard tales of creating "packages" for Oracle support, but surely this was a complex, Herculean feat that would take many months of meditation to even begin to understand.

So I scoured Oracle Support notes and the public documentation to get notes on any aspect I could about the ADR. Once I felt I had enough source material, it was time to build an outline for my slides to follow. After that, it was time to eat my own dog food, so I got busy poking around the ADR and playing with adrci on my Oracle 11.2 sandbox, while concurrently applying some new-found knowledge on client installations. The latter helped me find a bug involving listener alert log purging!

Step 2: The Slides

The next step was actually creating a deck of slides. Using the Pythian template and Libre Office 3.4.2, I slowly figured out how this done in the most simple format possible. This means it was all text, baby. No cool stock photos or cute puppy clip-art. That's something I'll work on for next time and/or another topic.

Once I had a first draft of my slides and did a self-rehearsal, I enlisted the help of my Pythian colleagues in our Sydney office to be my test audience to not only judge my presenting pace & speech, but also criticize the content of my presentation. And they did the latter wonderfully, each asking great questions that I hadn't previously considered and making some great suggestions on where to provide a little more info and offering anecdotes from their own ADR experiences. I can definitely say that they made my presentation twice as good as it was before! After implementing those changes, I did another dress-rehearsal for some more colleagues around the world, got a few more notes, and I felt like it was ready.

Step 3: The Conference

When I got to the conference in San Ramon, I especially keen to meet Jonathan Lewis for the first time. Jonathan is one of the people in the Oracle world that I respect the most, and it was a joy not only to be in his presence but to also later share a lunch table with him. I was also delighted to finally meet my colleague Chen Shapira, one of the most brilliant DBAs we have at Pythian, which is saying quite a lot!

Jonathan was, naturally, the keynote speaker. He gave fantastic talk on two-table joins (after all, all joins eventually become two-table joins). You can see a video of a similar two-table join optimization presentation that he gave to the Turkish OUG earlier this year. Fantastic improvements are possible when you break things down to their simplest forms. The general idea reminded me also of this great video by Stephane Faroult, but Jonathan does go into much more terrific detail.

After the keynote, I stayed for Jonathan's second session, which was titled "A Beginner's Guide to Becoming an Expert", with emphasis on becoming, rather than being. This was another great session that emphasized on having easily reproducable tests. Jonathan noted that the script he was using could build a set of tables with over 6.5 million rows on his laptop in under a minute, showing that it doesn't take a lot of effort to have such scripts written and readily available whenever you need to test something. His scripts directory contained over 2600 SQL scripts for all manner of scenarios. One needs to be in the mindset to test repeatedly, making slight changes between tests and understanding the difference in results.

He included a demonstration of how Oracle actually fails the ACID test, which he blogged about afterward, definitely give it a read.

After an outdoor lunch, I decided to pass on the next session to go over my slides again and ensure that everything was working on my laptop as expected. One other session I was really interested seeing was Kyle Hailey's NFS Tuning session, but unfortunately it was at the same time as my own session.

Step 4: Spreading the Love

When the time came for my session, I felt very prepared. I did catch myself rushing through words once in a while, but otherwise felt my pace was good. There were a few questions from the audience that I couldn't immediately answer, but was able to find the answer for during the post-session ad-hoc demo that I went through for those that stuck around and had extra questions. Having a live instance to work on was incredibly valuable to the presentation and helped not only to reinforce the information that I was sharing, but also to test scenarios that audience members came up with that I hadn't previously illustrated.

There was some great Q & A at the end of the session, as well as after the session. As I said earlier, I stayed around answering questions and going through new scenarios for some time afterward. Even after packing up and moving out of the room I was speaking with people who had more questions about the ADR, even some that hadn't attended my session! I spent so much time talking, in fact, that I was late for the last sessions and so decided to just catch up on email rather than burst in late and distrub the presenters. As you can see, I ended up only attending Jonathan Lewis' two sessions in addition to my own. Not a bad day altogether, except for losing my jacket (black Outdoor Research spring jacket, if anyone finds one!).

Unfortunately I was taking the red-eye back to the midwest that night so I didn't get to do any sightseeing aside from what I got to see from the BART train. But I did enjoy this change from home:

I could get used to the San Francisco consistency. 
It's like a year-round Wisconsin springtime. For those interested, I did provide some twitter updates between sessions. I didn't want to live-tweet because it would have been harder for my simple mind to follow along.

You can download the slides from my presentation, as well as a few others, from the NoCOUG website. I do plan to also record a webinar of this presentation, after I incorporate a few more changes, later this year.

In Conclusion ...

Overall, I think it was a very worthwhile experience. I accomplished my goal of learning about the ADR well enough to speak confidently and competently on it. I also accomplished my year's goal of submitting to 3 conferences and my career goal of becoming an Oracle speaker. I definitely look forward to speaking more on this and other topics at future conferences as well as presenting internally to the rest of my Pythian colleagues.