Feb 10: That is just *weird*
It's not something I do often (... and, yes, I know dates on my blog posts would be nice. It isn't like people haven't told me. I've just had other stuff to do and that one is filed under 'Migrate to WordPress'. But that isn't the point here.)
Regardless of the lack of clear dates on posts, I can inform you reliably that my very first post was on 10th February, 2005. I don't know what possessed me to try blogging again today, but it's precisely 8 years to the day since I started .... (As usual, it's hardly mind-blowing or informative )
Oct 14: Parallel DML and ODP.Net
I've been doing a lot of work around large volume data loads into an Oracle 11.2 database recently using External Tables and Parallelism and, despite the fact it's all used well-known techniques, I think it's probably worth a couple of posts to re-emphasise how successful using the right tools for the right job can be.
But first, we ran into a particular problem that threw us off-track for a few hours and this post covers that issue. I have a feeling that at least one person one day will land at this post via Google or from a vague memory of me writing about it and the hassle it saves them will make me smile!
Our application is written using a combination of C# and PL/SQL so, even as we've been implementing more functionality in the database, we still depend on scheduling software calling C# that in turn calls PL/SQL. As I was developing the data loading code, I simplified testing for myself by knocking together a basic .sql script that called the various PL/SQL procedures in the correct order. Everything looked great so I checked in my code and gave the appropriate call specifications to the C# developers to write wrapper procedures. Once that was done, we prepared to run the proper schedule and be amazed and delighted by the new performance improvements.
Unfortunately, the whole thing ran like a dog (... a rather old, sweet but overweight dog with a bad case of asthma).
When I investigated, everything was running serially. I initially thought I'd screwed something up so tried to work out what I'd done wrong but, no matter what I tried, the code used parallelism reliably when called from the basic test harness script but, as soon as we called it from the C# application, it would go back to serial. I wondered about session-level parameter settings or different user accounts but there were no identifiable differences there.
Because the performance difference was so great and we were under a lot of pressure to deliver data to the other teams, I was quite worked up by this and frustrated and there was very little out there on Google but perhaps I should have checked My Oracle Support in the first place ....
Attempting to Execute a Parallel DML Statement From an ODP.NET Application Using the APPEND or PARALLEL Hint Results in Serial Execution [ID 1370527.1]
Ah! That looked pretty similar to what we were seeing. It turned out to be a combination of the way that the Oracle RDBMS works and the default configuration of Oracle Data Provider for .Net (ODP.Net), which sets the enlist property to true. To quote the support doc - "This makes OCI calls which allows the the DML or transactions to become or be promoted to a distributed transaction." and, as documented in the generic RDBMS documentation, distributed transactions can't use Parallel DML.
As we had no requirement to use distributed transactions, the simple solution was to set enlist=false as a property in the connection string.
Bingo! Everything started running in parallel again ...
Oct 7: Openworld Summary
My presentation didn't go as well as it has in the past.
Oak Table World was great fun and impressively organised.
It was great seeing so many friends again but I'd need a month-long conference to accommodate all the time I want to spend with them.
The hospitality from people like the folks at Pythian, The Oracle TechNet ACE team, Moans Longballs Nogood and too many others to mention was much appreciated.
I need to not drink for a while!
The Hives were amazing.
That's all. I'd rather write some technical posts. So thanks to Tim Hall for doing my job for me ...
Sep 16: OOW is 13 days away ...
I know this isn't a universal feeling, but I always look forward to going over to San Francisco for Openworld. There are so many people I'll see that I don't see often enough, lots of cool presentations (if you know where to look) and I expect this year to be a year full of announcements in the areas I care about (and probably in others, too!). I'm gutted that I'll miss the ACE Director briefing because I think I'd be particularly interested this year, but the reality is that it's difficult getting any days away from my current project, never mind a week and a half.
On top of my main agenda presentation (Tuesday, 5pm, Moscone West 3014), I've decided to do a quick 10-minute talk on Tuesday lunchtime at Oracle Closed World, an alternative event organised by Kyle Hailey with assistance from various Oak Table types and sponsored by a number of the best-known Oracle consulting companies. As well as an agenda featuring some of the best speakers around, check out Marco Gralike's cool video on the home page
This year my main task seems to be as a Party Planner, though. That's something I never thought would happen which has given me a new-found respect for all of those poor people who organise the myriad parties that will be going on that week! Still, the great thing about it is that there is a Party at the end
Can't wait ...
Sep 4: Enkitec Extreme Exadata Expo
(Otherwise known as #E4)
Another late post, but a few weeks ago I had the pleasure of attending and speaking at Enkitec's dedicated Exadata conference, E4. The stand-out impressions that I've been babbling away to people about since getting home were :-
1) The uniformly good quality of the presentations I was able to attend. It was an excellent agenda and speakers.
2) The great organisation, particularly for Enkitec's first attempt at this. In particular they took very good care of the speakers.
3) The small but very informed and friendly group of attendees. It's often the case that the smaller conferences feel the best because of the more relaxed atmosphere and extra interaction
4) The heat! Although the air conditioning obviously helped.
My conference experience started off when I was met at the airport by Jacob Osborne. That name might be a little familiar and when I saw his face I could spot the family resemblance to Kerry Osborne straight away. Then again, you need to be careful with family resemblances, as I spent the short trip from the airport discussing his brother Kerry with him, only to find out a day later that Kerry is, in fact, Jacob's dad! My only excuse is that I always forget just how old Kerry is, because he doesn't look it. (See what I did there? Sucking up might get me off the hook ...)
The next 24 hours were all about just resting up a bit after a long trip. There was some slide-polishing work involved, of course, but Enkitec had a pre-conference material deadline which I sort of met so I didn't have as much work remaining to do as usual and my conference was a lot better for it. Once everyone started turning up from the airport, delivered by various Enkitec employees and volunteers, it was the usual few drinks and then on to a really enjoyable dinner for the speakers and Enkitec folk. With some gentle arm-twisting I believe I managed to lead a few people astray. Or maybe it was others leading me astray? At least I vaguely recall Andy Klock (@andyklock) and I meandering back to our rooms at around 2am, dead on our feet! Then again, I also vaguely remember him believing that the drinking could continue?
That was me still living on UK time as planned, then! Sigh ...
The conference kicked off the next morning with a fun interview session with Kerry Osborne interviewing Cary Millsap about his early experiences and thoughts on Exadata. Informal and less structured than Death-By-Powerpoint, it was the ideal way to get the conference underway as it felt like the start of what would be an extended two-day conversation rather than a sit-back-and-take-the-pain conference ;-) Best of all, don't listen to my views of what they had to say (although I found myself nodding in agreement frequently and re-focussing the points I wanted to make later in my own presentation) ... you can actually check it out for yourself!
Although I saw a little of Tim Fox's presentation it probably wasn't enough for me to comment sensibly on it. I was, as usual, a little freaked-out about my own upcoming presentation and I find all of the presentations before that awfully difficult to concentrate on properly. But a conference wouldn't be a conference if I skipped hearing Jonathan Lewis - in this case talking about - Due Diligence with Exadata.
As part of the almost obligatory funny introduction (although it has to be said JL's usually carry an important message, too) Jonathan mentioned that he'd gone on holiday during the Olympics and that had probably been a good idea as he lives in London. Mmmm, noted ....
But most of his presentation was about the down-right unpredictably of Exadata performance when you view it through the prism of Storage Indexes and HCC. As usual, he went into a lot of detail but also talked about the high-level Corporate reasons why people might plump for the platform, whilst emphasising that - like all such platforms - the detail can be important. You won't be surprised to hear that it was great stuff.
After which, although I did manage a little lunch (Texas usually means Fajitas at least one lunchtime, which is great, but I really can not eat properly when I'm fired-up pre-presentation). So after some pre-presentation tweaking and pacing, it was time for me to present on Parallel Query on Exadata.
I'd been kind of worried about this presentation (so what else is new?), specifically the content, but I think it went ok and was a good presenting day. My personal highlight of the presentation was probably this slide :-
This referred to Jonathan's earlier statement that he lives in London. I was convinced he doesn't, didn't check my facts carefully enough and then he pointed out that he lived in Surbiton. Surbiton?! I'd hardly call that London. Sadly, when I checked on Wikipedia afterwards it is just about London but I suppose just about is enough. To his credit, Jonathan later confessed that he lives a tiny distance away from the boundary. So I was right, but only just. All good knock-about fun, anyway.
As usual, I was so determined to wind-down after speaking that I missed the start of Andy Mendelsohn's keynote and, by the time I went to the room it was kneeling-in-the-aisles room only so I decided that I would skip it and check out his slides later. Which was a shame, because Enkitec persuading him to be the Keynote Speaker was quite a coup and his presentation certainly inspired a lot of conversation afterwards!
After the keynote there was a drinks reception which offered plenty of opportunity for good techie conversations with other attendees about their experiences. I finally got to speak face-to-face with Alex Fatkulin (which I'd been looking forward to) and to catch up with old friends like Mark Brady and Andy Klock. It was an earlier end to the evening, which was a damn good job with the tiredness and (cough) jetlag rapidly kicking in.
I had always intended it to be just a short trip to Texas so I wouldn't spend too much time out of the office, but that meant I had a lot to cram into my last day before heading to the airport. What a cracking day it was, though ...
First up for me was Karen Morton talking about Tuning SQL for Exadata. A little like my Parallel Query presentation, she focussed on the fact that most tools and techniques and existing knowledge that apply to SQL Tuning in other environments apply equally well to Exadata but, being 11g environments, the tool of choice is almost definitely Real Time SQL Monitoring. She was as entertaining and thought-provoking as always and even made a point of laying down the challenge to Maria Colgan that she'd be expecting to hear later how to get decent SQL performance on Exadata without using hints, optimizer_index_cost_adj etc. There was even some talk on Twitter about a mud-wrestling challenge, but let's not go there!
I was aware of Tyler Muth through the Tom Kyte/Apex connection but also through his blog so I was looking forward to him speaking about "Lessons learned from 2 years of Exadata benchmarks" in his current role, but I hadn't realised what an amazingly fun guy and utterly dynamic presenter he would be! I could only be this critical of someone who I *loved* watching present (if someone was useless I would probably be polite) but, truth be told, at times it was hilariously wild and chaotic but *man*, not only does Tyler captivate your attention but he was talking about exactly the stuff I'm interested in. I tweeted during his presentation that UKOUG need to get him over to Birmingham and you can be sure that whenever I see Tyler's name on an agenda now, I'll be first in the queue.
Even though I don't think I've ever heard Richard Foote speak, you expect some things when you attend one of his presentations. It will be factual, accurate and very detailed and "Indexing in Exadata" was no exception. All those things are important, of course. But what he also brought to this presentation was a lot of teaching experience with Oracle University. As I've said before, teaching a wide variety of course attendees on a regular week-in/week-out basis really polishes a person's presentation skills and I loved the combination of rigour and clear communication. Top-notch stuff, Richard!
So I just had time to hear the first 2/3 of Maria Colgan on "Exadata and the Oracle Optimizer: The Untold Story" before heading to the airport. As anyone who has heard Maria present will tell you, she's always pretty great but she was on fire at E4 ... Hilarious, to the point, bantering with and winding up the audience (particularly a certain Mr. Lewis, who gave as good as he got) and talking about some of the fascinating history behind the optimiser on Exadata and what we might expect to see in future. I understand she came top in the evaluations, which was little surprise to me. That woman is an utter *swot*!
Heading to the airport meant that I ended up missing both Tanel Poder and Kerry Osborne present but, as the whole conference was videoed, I hope to catch up with those later.
Everyone seemed to agree that it was an excellent conference so congratulations to Enkitec on doing a great job of the first one and long may it continue, as long as there are still Exadata-specific subjects that warrant the attention, of course!
A good one. I can't wait to go back.