Sep 28: OOW 13 - ACE Director Briefing
Having managed to get a few more days away from the high-profile client project I'm working on, I decided to go the ACE Director Briefing at Redwood Shores on Thursday and Friday after all, which meant a Wednesday arrival at the Sofitel (a hotel with Doggie items on it's room service menu!), a few beers and some room service and then an early night. Just the first of many time-adjusted days to come with the traditional early morning Twitter (used to be blog comment!) conversations with other attendees from Europe and 5am cigarette breaks outside, typically with Dutchmen
Arriving at the Conference Centre is a strange experience as there are a few dozen people there who have become friends and yet more faces I recognise from previous years. So a buffert breakfast break before we got started is a great idea to facilitate the hellos, as well as get so many electronic gadgets out and power points connected!
I confess that when I saw the agenda for the briefing, particularly the first day, it made me miserable. There seemed to be very little of interest for me on there and I think it's fair to say that this is a familiar feeling for others whose main focus is the database. As I discussed a few times, though, not everyone in the room is focussed on the same areas as me and my mates and it is a briefing and Oracle are paying for us to be there, so I can understand that they want to choose what they talk to us about and there is always something for me over the couple of days. I invariably appreciate the efforts of the speakers to make time for it too, just wish it could be database and server stuff all day
It actually turned out not to be as bad as I initially thought and the highlight of the day was probably Thomas Kurian's session when he went over the large number of announcements that were going to be made during the following week, which included several that were very relevant to my interests. What struck me was his command over his content and ability to spend an hour delivering so many details without referring to notes or slides. It encouraged me that the database guys had a lot to look forward to!
Some of which was delivered in the first session of the second day of the briefing, when three new Product Managers from Database Technologies went over the key areas of In-Memory, Multi-tenancy and Big Data. I might have had a slight inkling about the In-Memory announcement (one effect of which is that The Optimizer Lady (Copyright Me) Has become The In-Memory Queen! (Also Copyright Me, but don't expect it to take off the same way) It was great to see such a cool new feature on the horizon. I think it's probably at a fairly early stage of development but looks very promising. Unfortunately, this session, split over three sections was one that everyone seemed to enjoy but would have liked to see all three of those subjects given their own session and drop some areas of less interest. (See my comments in the last paragraph though). However, to show how hard it is to get right, most people in the room didn't seem that interested in the session on the Fusion Apps User Experience and it's not normally my cup of tea, but I thought the future UI looked extremely wizzy for something coming out of Oracle and that the presenter Jeremy Ashley had some genuinely different things to say. At least one person in the room seemed fascinated by the presentation and I was more interested than I expected to be. Go figure.
Wim Coekaerts is always extremely popular with a large minority of ACE Directors, talking Linux and Virtualisation. Again, he's someone who has such a command of his subject area that he can talk adhoc and honestly for an hour about what's going on in that space and for many is worth attending for the two days. I also had a great personal interest in the upcoming DBaaS/Cloud announcements, which seemed a bit more grown-up than last years ideas and were such a part of Oracle's Tuesday keynote this year. I even (and this is most unlike me) asked a question of whether Oracle Customers who are already trying to build Private DBaaS Clouds would benefit. The answer being that it's a goal of the program to offer a solution that can be implemented on the platform of your choice, including on-premise. Trust me, it's just important to me at the moment
The other great thing about the ACE D briefing on a personal level is the time I spend in the cafe in the 300 building with Oracle friends, just shooting the breeze, bitching and whining It's great that they make time in their schedule leading up to OOW, which is busy for everyone, but was particularly important this year as it gave me time for a couple of sessions with Graham Wood, discussing our upcoming co-presentation on AWR. The last of those was just before the final post-briefing drinks and food. Oh, I should point out how great the food was over the two days and just how well Vikki and Lillian and the OTN ACE people take care of us. That's not just sucking up, they really do a fine job of organising everything, including our bus that's probably the only smart way of getting so many geeks and their luggage into San Francisco.
However, the last thing I'd discussed with Graham was that I hadn't realised that instead of flicking through sample reports, he wanted me to take screen grabs and put them onto actual slides. Gulp! So the presentation that I thought I had no work to do on had suddenly become a different beast. Which meant another early night and time to get cracking on some slide work in between catching up with friends (and picking up my new business cards - more on that later), as we bounced slides backwards and forwards to each other. In the end, that tied me up until late Sunday morning, when I realised I'd done just about enough work that I could probably relax and eat some food!
Disclosure: The OTN Oracle ACE Director Program paid for my flights and accommodation and stopped me from becoming truly soaked on Saturday and chilly on several evenings with a very nice ACE Director cagoule. My conference pass was paid for by one of Oracle Blogger program, Oracle ACE Director program or being a conference speaker. All three would have qualified for that. Several companies plied me with much free food and drink, notably the folks at Pythian, but judging from my credit card statement I bought my share on several occasions. Despite all that and my appreciation towards all those people, all opinions are mine.
The last time was at the OUG Scotland conference and I had an interesting conversation with Tony Hasler afterwards that made me both question one of my assumptions about how the CBO works and also realise I could use a 10053 trace file to prove his argument one way or the other. We were discussing which statistics the Cost Based Optimizer uses on a Partitioned Table when there are no Partition-level stats but there are Global stats. For more on Global and Partition-level stats, see here.
I've done so much work with stats on partitioned objects in recent years that I was surprised when Tony came up with a strategy that I thought I must have tried and therefore understood, but it turned out that I hadn't or I had forgotten (just as likely!). The question was around which stats are used when a query is guaranteed to access only one partition. In that situation, the CBO will usually use the Partition-level stats, but what if they don't exist and there are only Global stats?
Tony was using this as a strategy that I'd never really thought of and still think is a little unusual because in most cases I'd be able to gather or set suitable Partition Stats fairly easily compared to the work required to maintain Global Stats but I was interested in how it would work.
To summarise a few different possibilities here :-
1) Global Stats / Partition Stats / Query accessing more than one Partition - CBO uses Global Stats
2) Global Stats / Partition Stats / Query accessing a single Partition - CBO uses the Partition Stats
3) Global Stats / No Partition Stats / Query accessing more than one Partition - CBO uses Global Stats
4) Global Stats / No Partition Stats / Query accessing a single Partition - ????
I thought the answer to the last case was that Oracle would perform Dynamic Sampling against the single partition being accessed and ignore the Global Stats. Tonys claim was that the CBO actually switches to using the Global Stats that are available and later on sent me an example to show that he was right by setting Global stats to specific values and then running a query which accessed one partition. The estimated cardinalities showed that the CBO was definitely using the Global Stats which are the only ones available.
SQL> set echo on SQL> CREATE TABLE t1 2 ( 3 n1 NUMBER 4 ,d1 DATE 5 ) 6 PARTITION BY RANGE 7 (d1) 8 ( 9 PARTITION p1 VALUES LESS THAN (DATE '2000-01-01') 10 ,PARTITION pdefault VALUES LESS THAN (maxvalue)); Table created. SQL> BEGIN 2 DBMS_STATS.set_table_stats (SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA') 3 ,'T1' 4 ,numrows => 1000000 5 ,numblks => 1000000); 6 DBMS_STATS.set_column_stats (SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA') 7 ,'T1' 8 ,colname => 'D1' 9 ,distcnt => 5 10 ,density => 1 / 5); 11 END; 12 / PL/SQL procedure successfully completed. SQL> EXPLAIN PLAN 2 FOR 3 SELECT * 4 FROM t1 5 WHERE d1 = SYSDATE; Explained. SQL> SET LINES 200 PAGES 0 SQL> SELECT * FROM TABLE (DBMS_XPLAN.display); Plan hash value: 1258445941 ----------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop | ----------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 200K| 4296K| 135K (1)| 00:00:08 | | | | 1 | PARTITION RANGE SINGLE| | 200K| 4296K| 135K (1)| 00:00:08 | KEY | KEY | |* 2 | TABLE ACCESS FULL | T1 | 200K| 4296K| 135K (1)| 00:00:08 | KEY | KEY | ----------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - filter("D1"=SYSDATE@!) 14 rows selected. SQL> ALTER SESSION SET tracefile_identifier='TONY'; Session altered. SQL> ALTER SESSION SET events 'trace [SQL_Compiler.*]'; Session altered. SQL> SELECT * 2 FROM t1 3 WHERE d1 = SYSDATE; no rows selected SQL> ALTER SESSION SET events 'trace [SQL_Compiler.*] off'; Session altered.
Although Tony was able to use clear stats and our shared knowledge of how the CBO works to more or less prove his case (because 1,000,000 rows / 5 distinct values = 200,000 estimated cardinality, the beauty of a 10053 trace file is that we can use it to prove what the CBO actually does. By running his same example and generating a 10053 trace, I was able to look at the following section.
*************************************** BASE STATISTICAL INFORMATION *********************** Table Stats:: Table: T1 Alias: T1 (Using composite stats)
The '(Using composite stats)' is the notification that the CBO is looking at Global Stats. For contrast, here are two examples from the presentation. The first shows case 1) above because it accesses more than one subpartition.
*************************************** BASE STATISTICAL INFORMATION *********************** Table Stats:: Table: TEST_TAB1 Alias: TEST_TAB1 (Using composite stats) (making adjustments for partition skews) ORIGINAL VALUES:: #Rows: 11 #Blks: 660 AvgRowLen: 18.00 ChainCnt: 0.00 SUBPARTITIONS:: PRUNED: 2 ANALYZED: 2 UNANALYZED: 0 #Rows: 11 #Blks: 61 AvgRowLen: 18.00 ChainCnt: 0.00... and the second is for case 2), where the query is able to prune to a single partition and therefore uses the Partition Stats. i.e. There is no mention of using Composite Stats.
*************************************** BASE STATISTICAL INFORMATION *********************** Table Stats:: Table: TEST_TAB1 Alias: TEST_TAB1 (making adjustments for partition skews) ORIGINAL VALUES:: #Rows: 0 #Blks: 1 AvgRowLen: 0.00 ChainCnt: 0.00 SUBPARTITIONS:: PRUNED: 1 ANALYZED: 1 UNANALYZED: 0 Partition  #Rows: 0 #Blks: 1 AvgRowLen: 0.00 ChainCnt: 0.00 #Rows: 0 #Blks: 1 AvgRowLen: 0.00 ChainCnt: 0.00
Note that all of these examples were executed on 22.214.171.124
Thanks to Tony both for correcting my misunderstanding and giving me another example
Sep 1: Blogging
I'm pretty sure it was Thomas Presslie who first implied to me that blogging was over! I couldn't see it myself but Thomas has always been more of a futurist than me and has more idea of what's going on amongst the cool kids. Sure enough, I spend very little time reading blog posts myself these days - probably even less time than I do writing them - and I detect that a lot of people's blogging frequency has dropped. I suspect that one of the big reasons is Twitter. We all only have so much spare capacity once the mundane realities of normal life are dealt with (think cooking, cleaning, ironing, working for a living, bills, accounts, blah, blah, blah, blah) and so as we pay more attention to things like Twitter and also, at least in my case, increasing volumes of mail then it becomes more difficult to find the time or energy to write a semi-decent post. I probably shouldn't be so specific about Twitter. The fact is it's so easy to be over-loaded with information these days from various delivery channels.
Where this has specifically affected me is that if I want to write about a conference or a post I've seen then the likelihood is that I've used up all my free time at the conference itself twittering away when in the past I would have found a quiet corner and written a blog post. These days, I try to write a post after the event but it loses it's point as it becomes less current and just becomes a dull chore which means it sits there in my to do list staring at me as I stare back disinterestedly.
There are also issues around writing technical posts. Sometimes there's simply so much client-specific content to what I'm doing in the real world that I really can't blog about it directly so you need to come up with a generic test case and those things take time too, on top of the actual work! However, I have missed writing technical posts and I think it's good for both me and others if I do. So here's what I'm going to try for a while ....
- When conferences are coming up or I'm attending them, I'm just going to use Twitter and you can follow that stuff at @orcldoug. No more conference reports (sorry conference organisers) because I don't think people care too much about them anyway and when your own diary is boring you, that can't be a good thing
- Set a lower bar for what is worth blogging about. I've done this before by blogging some really basic stuff that I'm then surprised to find that people found useful. There's something I'm trying to reach here between writing proper White Papers and tweeting 140 characters. The former take time and energy to appear and a blog isn't the place for them and the latter is not something I'm very good at saying anything useful in!
- Eventually I'll get that Wordpress migration done. I did make a start and there are ways of doing it but, like most of these things, it's just tricky enough and will take just long enough that there's other things I'd rather do with my time for now.
It's not like a big master-plan, just me wanting to start blogging a bit more so trying a different approach. Let's see how it goes.
So why does Justin Bieber owe me £120?
Well ... while I was on the Finnish boat, I started to see a few tweets from people who were planning to attend the conference in Oslo about the lack of hotel rooms being caused by Justin Bieber playing three nights in Oslo during the conference! Sigh. All I can say is that I'm not so sure that kids in the UK would be packing out hotel rooms to attend a gig. Can't these people go straight home afterwards or something? Someone pointed out to me later that it was even worse than I thought. Apparently (although I have no evidence of this), people were booking multiple hotel rooms in the hope that one of their bookings would be at the hotel where JB himself would be staying! That's why I'd struggled to find any decent hotel rooms in Oslo the week before. My partner works in business travel and tried to help out at the time, followed by the dire warning that 'there must be something going on in Oslo that night'. OUGN Conference? I didn't realise it was *that* big!
Which meant that by the time the boat arrived back in Helsinki, I still didn't have anywhere to stay in Oslo that night. I was counting on Mark Rittman to have tracked down some local party house but I think he probably blew it with his Jupiter Ace T-shirt and rubbish chat-up lines. Instead, I was lucky to be helped out by my friends Heli Helskyaho and Tuomas Pystynen of Miracle Finland Oy, who took me in hand, drove me to the Miracle offices and let me use their network so I could start hunting down hotels. Fortunately I managed to blag one of the few remaining rooms at OSL airport which would mean that I wouldn't be able to meet up with friends in the centre but I would at least be able to have a bed for the night! However, the price came in at £270 and, even allowing for the fact that hotel is usually pretty expensive, I reckon it would probably have cost me around £150 max on any normal night. So your card has been marked, Mr Bieber!
An unexpected upside to the Miracle solution to my problem (They are good at solutions) was the constant yummy smell coming from the food factory under the office which was helping me build up an appetite so the three of us headed back into the centre of Helsinki to meet for a final lunch with Alex and Debra. I wish I could remember the name of the mixed meat stew with loganberries that I had but it was very tasty and apparently quite traditional. (See, Mark, it's not all Fish Fingers round my way!) I did consider the reindeer but I'm not sure I could have looked the Cuddly Toys in the eye when I got home.
Then there was just time for a trip to the airport on the unsurprisingly efficient and cheap airport bus and managing to lose Debra while I was checking in and then having a smoke. I'm sure she thinks I did it deliberately but she really was gone in a flash, so I'm blaming her I stupidly missed out on valuable lounge time, too, not realising that HEL is one of those few airports where it's still possible to smoke airside. But nothing could get me down now that I had somewhere to sleep and it wasn't too long before I arrived at OSL to find myself in a surprisingly pleasant hotel. I might even stay there again if Bieber stays out of my way.
One long sleep, a fantastic breakfast and a typically enjoyable and efficient Norwegian train experience later and I was hanging around the ferry terminal watching speakers arrive from around the world. Because I'd been at the much smaller and more intimate OUGF, I'd forgotten just how many people attend OUGN and was quite taken aback by the massive crowd hovering around the terminal, waiting to board. However it was a fairly enjoyable wait as several OUGN people were there to take good care of me as always and I know so many people who attend now and don't see too often that I wasn't exactly stuck for a conversation.
Once boarded, it's was time for Duncan Harris' keynote covering some of the history of how Oracle has addressed security issues in it's product and, particularly for an old guy like me, it was funny to be reminded just how far we've come. There's always scope for improvement, of course.
Then it was time for Cary Millsap's "Learning about Life through Business and Software". I'd already seen this keynote at UKOUG where there was almost universal agreement that it was terrific but I could listen to Cary presenting all day and this was no exception. However, I'm a smart guy and previous attendee so I played my master card of leaving his presentation just before the end (much easier to do in the show theatre venue) so that I could avoid the rush to collect my luggage and get to my room before the time that it was supposed to be available officially It worked like a charm, just like last year but perhaps I shouldn't have given my secret away!
Which also meant that I was about to head for an early lunch and avoid queuing there - all important stuff as I was presenting immediately after the lunch break. Imagine my surprise, though, when I discovered that they had converted the smoking room inside the conference centre (that I frequented in the nervous build-up to presentations during previous years) into another conference room and it was where I was due to present! Probably someone's idea of a little joke
The main challenge of the presentations at OUGN was that the presentation slots at OUGF were 60 minutes and I had only asked for 45 minute slots at OUGN. All my own fault as the conference agendas were organised at different times. The Fast ETL processes using native Oracle features probably worked the better of the two and I was surprised to see a completely packed room because Cary was presenting at the same time. Even Oyvind came to my presentation, but probably only because he'd seen the other one before
After that the rest of the afternoon was all about catching up with some more sleep as I was still feeling pretty unwell and I vaguely recall spending a good bit of time with Mark Rittman. There might have been some beer involved, but a good bit of work and business chat too and crowing about just how great the iPad mini is. Mark's a complete Apple Fanboi of course, but it was nice to be able to agree with him about that stuff for a change
I know there was more eating and drinking and night-club time after that (Martin Nash is a bad influence on me ), but, erm, well my memory of that evening is a bit hazy. It *was* a long time ago, after all
As Connor McDonald hadn't been on the Finnish boat, I took the opportunity to catch his Odds and Ends presentation the next morning. He was excellent as usual although I might not have processed what he was saying too well on that particular morning! Let's put it down to nerves about how on earth I was going to get through the 60 minute 10053 trace presentation in 45 minutes. In the end it kind of went ok although, as I vaguely recall Connor tweeting or saying to me later, if I'd spent a bit less time talking about drinking beer later it might have helped! To be honest, it was starting to feel like a very long week and so I was just glad to have finished my presentations to be able to go onshore to Kiel with some friends for lunch.
Most of what happened next eludes me now although I vaguely recall hanging out with some of my *proper* mates from overseas over a quiet beer or two whilst Martin Widlake was serenaded with Happy Birthday by a much louder crowd in a nearby bar. The only reason I remember most of this is because I uncovered this awful photo of Gerald listening intently to Cary Millsap and Tom Kyte. I suspect he thought he'd learn something about Oracle, but the conversation was far more interesting than that!
By the time I'd had some sleep and maintained my tradition of only waking up as our arrival into port was being announced, there was only time for a last few beers (something of a pattern emerging here) in the Oslo sun and then it was time for the trip home.
Thanks again to several good people of OUGN and OUGF for making the double conference a wonderful, if somewhat tiring, experience.
My almost traditional pre-conference illness (maybe it's because these things are in Autumn and Spring or maybe it's pre-conference stress - who knows?) and the last frantic bits of work for the release on the horizon meant that I had very little time to work on my two new presentations so when I set off for Helsinki on Sunday, it was with laptop powered up and ready to go. Fortunately I had managed at least half of one of the presentations before I got ill. What I didn't have yet was a hotel room in Oslo for the Wednesday night because when I got around to checking on Friday, there was literally nothing. I was utterly baffled (really, how often is there *nothing* except for a hostel?) but decided I could sort that out later ....
The time difference stole another two hours from me (these things seem more signifcant when your back's against the wall) but it was a pleasant, uneventful trip and a quiet night in the hotel prepared me for setting sail on Silja Serenade the next morning.
Having never spent any time in Helsinki, I decided I might as well walk to the boat and Helsinki looks like a beautiful city that I'll be going back to at some point. Once on board and unpacked in my beautiful sea-view room, I realised that there was a stowaway on board! He has a habit of getting lost ...
Tom Kyte and Bryn Llewellyn had the good grace to give keynote presentations using slides that I'd seen several times by now which gave me most of the first day to work on ... (you get the picture). Never have I been so happy to presenting on the second day of a two-day conference But I was very keen to see Melanie Caffrey's 'Keeping It Simple in Database Application Development'. She'd been giving this presentation at Oak Table Sunday last year at the same time as my 8-bit presentation, so I'd missed out then.
Although I know Melanie through her being a regular at the annual UKOUG conference, I'm not sure that I've ever seen her present much before, but she was as engaging and smart as I expected as she went through some of the lessons learned in her role as a Senior Development Manager at Oracle, working on linux.oracle.com. I wish I could remember more of them now, but sometimes I'm so busy listening to the messenger that I can miss some of the message! LOL
I'd warned Melanie how weird it is to be presenting just as the boat sets sail because I remember it from my first time and, sure enough, stuff started clanging, the boat started humming and swaying ever so slightly - it's an experience everyone should have at least once She also learned just how polite and quiet Finnish people are when in a sober audience of more than a few people. Never try a rhetorical question to the audience - you're likely to just get stoney silence back! However, they truly come into their own when you add beer or have a more private conversation - somewhat like most Scots I know!
After that, Heli Helskyaho (@HeliFromFinland) gave the OUGF 25th Anniversary Speech, flipping effortlessly between Finnish and English which is about as impressive as it gets to my ears. Although I have to say, it seems that this 25th Anniversay thing is a bit debatable. Is it 25 or 26 or .... I think someone forgot to start counting!
One of the most enjoyable aspects of a boat conference is the food, and we had one of the first of many great meals, all with plenty of wine thrown in and I was lucky enough to have Melanie, Debra Lilley and Alex Nuijten for company so it was a great way to wrap the day up, particularly as I had almost finished my slides
Tuesday was a day of worrying about and deliverying two presentations and feeling not a little unwell. It wasn't so much seasickness as the continuation of the long-running cold that I'd shared with lots of other people, so I was a little tense when I started presenting "10053 Trace Files - Mostly Harmless", particularly as Tom Kyte and Melanie were in the audience, knowing Tom's encyclopedic knowledge of Oracle! But it seemed to go reasonably well for the first time giving this presentation, but with some areas that I can improve, particularly some more useful examples.
Then there was time to actually eat some lunch (which is an achievement for me on presentation day) before I moved on to "Fast ETL Processes using Native Oracle Features". But im the lead-up, I felt really sick and I was concerned I might perform the impressive but disgusting trick of being physically sick mid-presentation! I mentioned the possibility on Twitter, so Alex made sure he turned up with his phone at the ready so he could tweet the evidence! Fortunately I got through it ok. Again, it probably needs a little more polish but the small room was absolutely packed and it went well enough. What I needed most was to lie down and rest, which meant that I missed Alex's Analytic Functions presentation again (something I have a long personal history of doing ...)
It was worth it though, as I was in a much better state when I made it back to the conference area just in time for Heli's wrap-up session. As well as having a prize-giving raffle from the numbers on peoples conference badges during which some really inconsiderate delegates walked off with all of the Cuddly Toys ;-), Heli tossed balls around the room to elicit feedback from whichever attendee caught the balls and she asked what was their best thing about the conference. At first I thought it might be embarassing and took a while to get going (Scots and Finns have a lot in common!) but it actually worked really well because I don't think anyone would have volunteered otherwise Maybe the real reason I liked the idea was when one of the delegates said that his favourite thing was my presentations, which was brilliant to hear. I always speak at a lot of conferences with great speaker line-ups, so I've never actually been told that in the past! Others who I won't mention are used to it on a regular basis *cough* Jonathan, Tom, Cary ... *cough*
Which put me in a great mood for the final dinner which was delicious, as all the catering was. Did I mention? But if you could have seen Bryn, Tom and Melanie *piling* the starters on to their plates, you would know I wasn't exaggerating. In fact, there were so many interesting and tasty options (particularly for those with wider tastes than me) that a lot of people just about managed a bunch of starters and then a few puddings. Between the company and the food, I didn't think it could get much better, but then I was voted Speaker of the Day. Again, that's something that never happened to me and I probably shouldn't care, but I'm afraid I did, particularly when I considered the other speakers on the agenda. Of course, I cheated a bit by doing two presentations on one day but, hey, I'll take what I can get Heli presented me with a Moomin mug and some whisky
In the interests of actually submitting a blog post, I'll leave it there for now. Justin Bieber? He can wait!