jump to navigation

Friday Philosophy – If You are reading this You are probably Pretty Smart September 11, 2015

Posted by mwidlake in Friday Philosophy, humour, Knowledge.
Tags: , , ,

I bet I can predict a few things about you. And I mean You, the person reading this on my Blog right now.

At senior school (when you were aged between 11 and 16-ish) you were at the top of your classes. At least most of them. You were in the top few in your year for most science subjects and probably Maths too.

And you were not bad at any of your subjects once you had a choice over them, but there was at least one subject you were glad to get rid of as you were poor at it. But if you think back, I bet you were simply *almost average* at it, there were as many kids or more worse at it than you then there were better than you at it. You were just not as stand-out good as you were in other subjects. Come on, I’m right aren’t I? Even your poor subjects you were OK at compared to all the other kids.

You almost certainly went to college and, if you are under 35, you did to study a STEM subject – Science, Technology, Engineering & Maths. If you are 40-50 you did not study computing but you ended up working in it anyway. 35-40? You either studied computing, thought about it or took options in your course that had a major element of computer programming.

However, you were probably not quite the smartest kid in your year at school.

What makes me think this? Because I can mind-read(*)?

No, I think this simply due to the fact that you work in corporate IT or something very similar. You use your brain to solve issues or get tasks done. I think that the generally high level of intelligence is a more common trait in IT than the other thing I can probably predict about you – you don’t feel you are a people person, not really. Using myself as an example; I present at conferences, I have run training courses and I usually have something to say in a large group or discussion; I even partly run London Oracle Beers, a social Oracle user group. But I can’t make small-talk with people I don’t know and I am uncomfortable meeting new people.

We have to be intelligent to make a career in IT and most of us were probably drawn, at least in part, towards computers and software as we could work on it on our own and the computer did not have any feelings to dent or make any social demands on us. However, many (most) people are social nervous and so I think the more defining trait of people in IT is that they are intelligent – and intelligent in the way that IQ tests measure intelligence: A mixture of learnt patterns and various problem solving/logic/deduction skills. If you have had your IQ tested I am sure you are 120+. I would not be at all surprised if you score 130+. But you still have a little way to go to beat… my wife.

You probably were not the smartest kid in your year at school as the smartest kid either went into medicine/vet school, academia, law or crime – something more way-out-there.

So what point am I making? None really. It’s more just an observation. Though I do think you should occasionally take time to say a prayer of thanks to Pythagoras (or whoever you think is listening) and remind yourself how lucky you are. Most of your intelligence is inherited and the smaller (but not insignificant part) is due to schooling and your own efforts (note, I’m talking intelligence, not what you know – the two are different but aid each other). Your brains were given to your by your parents and grandparents, no matter how hard that can sometimes be to believe :-). I was on a PL/SQL course with Steven Feuerstein about 10 years ago and he took a minute or two to passionately state how lucky all of us on the course were to have our brains, to be making our living by thinking and not back-breaking toil or dull manual work. It was a sentiment I whole-heatedly agree with. I actually love spending time digging a ditch or chopping down trees but I would hate having to do it every day for a living.

Of course, intelligence of the IQ type is not everything and it does not make you a better person. I’m sure we have all known some very smart assholes and some wonderful people who can’t think themselves out of a damp paper bag. Some people have average IQ and yet have talents most of use would struggle with, like making a violin sound anything but bloody awful. I’ve known academics with an IQ somewhere Way Up There but who had about as much common sense as a pigeon. I have come across a few examples of intelligence bigotry in my time too. I know one guy in an academic institute who tried to insist that the highest grade you could achieve and the top of your salary band be dictated by your best academic qualification. No one without some sort of degree should get above level 5, No one with less than a 2(i) allowed in grade four and to get to grade 2 a PhD was needed. He was a very smart asshole. I’ve known a couple of people without a degree in this business of IT and both of the ones I’m thinking of right now are very, very good at what they do.

So be grateful for that brain of yours and just remember that most people are not as intelligent as you, so show patience in explaining and working with them. And if you are not patient, you could well be an intelligent asshole. You might need to learn to not be like that.

(*) Just as an aside, deducing things about groups of people and, in fact, traits most people have is not hard. It’s called cold reading. It’s what mediums, mind readers, psychics and other intelligent assholes use to hoodwink people. Part of it is things you can guess at given one piece of information or even none. I can deduce things about you because you work in IT. I know you feel you’ve never reached your potential and you have more to give as *almost everyone does*. No one wants to be seen to be selfish but we all know we are, at least at times. Even Mother Theresa thought so at times. The other aspect to it is reading body language and empathy, which is why I can’t make a living as a psychic. I just don’t get people….

Just thinking on this aside for a second, maybe mediums and psychics could get less abusive jobs as data analysts? Deducing things about people based on averages and correlation is Big Data Business right now.

(Update – thanks to the person who quietly contacted me to point out my spelling error/poor grammar with “patience” and “patient” – in my section in intelligent assholes too! He showed real patience with me)

Friday Philosophy – On “Being the Expert” September 4, 2015

Posted by mwidlake in contracting, Friday Philosophy, performance.
Tags: , ,

Working as a recognised expert at something is a little…strange, I find.

I had an assignment this week to go visit a client, have a look at a performance issue and find out the root cause. I was also to at least come up with suggested resolutions with the ideal aim of giving them a proven fix they could implement. All to be done in two to three days. This is pretty standard fayre when you are putting yourself forward as some sort of expert in something. And it is not always an easy thing to do – for more reasons than you might expect.

When it comes to the core service you are providing you are certainly expected to know your stuff and if you are there as the expert and you don’t? Well, any pain you now suffer is self-inflicted so I have no sympathy. You might think actually being an expert is the hard part – the knowing all that stuff, remembering it, the ability to answer all the questions or look at an issue and in 5 minutes say “It’s because the CLOB settings are wrong”. ie matching the expectations of almost God-like knowledge and ability. But it is not. If you can listen to what their problem is, understand it and then explain something to them that they did not know before, it will be fine. What the client needs is to feel progress is being made. An immediate and inspired solution may occasionally be possible but on the occasions I have pulled that off, the client usually just feels uncomfortable, like they missed the obvious. Because they did. If I sort out the issue straight away that they have had for 3 weeks and that the in-house expert has looked at there is only really two possible reasons
(a) it is simple and they missed it.
(b) they ignored their expert.

The option of (c) my genius is sadly just a dream.

What I find more tricky is when they just accept what I say, when they treat everything I say as correct. Even if I say “it might be this” there can be an assumption I am being modest and it really is what I suggest. I’d like them to only believe me once there is some proof. Most of my time on such assignments is me sat at the SQL prompt trying to back up what I think is the issue/solution. Even when I have evidence, I know I could just be seeing what I want to see. I want some proof and I want them to challenge it.

There is also sometimes a tendency for the rest of the staff to regarded you as some sort of a weirdo, someone Not Like Them. After all, if you are an expert in Oracle Performance you must spend all your time looking at explain plans and 10046 traces and not doing normal people stuff. I have to say, I had a really nice (and in some ways quite worrying) complement a few years back. I was at a client site for a couple of months, plowing though what seemed like endless layers of bad code/design/decisions to make things run better. One lunch time I headed out to find some lunch with a couple of the developers. One of them turned to me and said something like “You know, I’m really glad you joined us. You’re just a normal bloke and not one of those freaky tuning experts!” He really thought all Oracle Performance people would be strange – and strange in the already bizarre context of all the other people that inhabit our profession. I wonder who else he had met?

You can also run into resentment – occasionally irrationally (fear of challenge? envy? just psychotic people?) but also for real reasons. I sort-of alluded to it earlier. You get listened to when you are “Being the Expert”. Even though you may say what Sarah had already pointed out last month, you get listened to. Sarah is not going to be happy about that. Sarah is going to be especially annoyed and resentful if she told Me, the expert, about the point I raised. In these situations I try and emulate what a friend of mine taught me about 10 years ago on “Being The Expert”. One of your jobs as an external consultant should be to tell the client to listen to their staff if their staff are getting things right. What the real problem is could well be that the client is not using the resources it already has. And you were, after all, hired to solve their problem.

The final thing I find strange that I’ll mention is this. As the expert I am constantly anxious I am going to be “found out”. I mean, right now, I am doing my final report on this assignment. I know I identified several issues, I backed them up with evidence, I moved the client forward. I found out things that they had not known. I taught some of the staff new stuff. I stressed that I will not have found everything as it was only 3 days with no access to the live system… But I worry that in 3 weeks I’ll hear that none of what I suggested worked and that the REAL issue was something I utterly missed and when they corrected that, the run time went down by a factor of a thousand. And I failed them.

I just worry about that. Because I am “Being the Expert”

Friday Philosophy – At What Point Can You Claim a Skill? June 26, 2015

Posted by mwidlake in Friday Philosophy, Knowledge.
Tags: , ,

I’ve just installed Oracle 12C on my laptop {I know, why only now?}. I went for the option to have a Container database with a pluggable database within it. {It is easy and free to install Oracle on your own home machine – so long as it is for personal use only and you are singed up to OTN (which is also free) }.

12C with pluggable databases (PDBs) is a little different to the last few versions of Oracle as it introduces this whole concept of the Container database that holds portions of the data dictionary and, within that, what we used to think of as Oracle instances plugged in underneath it. It is not *quite* like that – but this post is not about the technical aspects of Oracle 12C multitentant databases. And you will see why.

Whenever something I know well has changed more than a bit, I tend to hit this wall of “Whoa! it’s all changed!”. It isn’t all changed, but sometimes some of the fundamentals, the basics are different. For the last 15 years, once I have my database up and running I will have created my test users and some objects within 10 minutes and be playing away. Not this time. How do you create a user in a multi-tenant DB? How do I tell Oracle to create my users in that PDB? Hang on, how do I even check what I called my PDB? My ignorance is huge.

I popped over to Tim Hall’s site, OracleBase and the section on creating users under multi-tenant Oracle, scanned Bryn Llewellyn’s White Paper on it. A few google searches as well and soon I was there. My standard test to make sure the DB is alive, “select sysdate from dual” – only I altered it to show the PDB:

select SYSDATE from Dual

select SYSDATE from Dual

So I am logged into my working PDB on 12C, I have selected sysdate from DUAL, created my new user. I have used Oracle 12C and multitentant.

Next step?

Update CV to claim 12C expert and experience of Multi-tenant Oracle Database

This is of course a joke on my part.

Sadly, some people would actually do this.

It is something that has always annoyed me and often seems rife in the I.T. industry – people claiming skills or even expertise in something they have barely touched, let alone understood. And often about a thousand miles away from any legitimate claim to Expert. I chortle whenever I see a CV from someone with only 2 or 3 years’ experience of Oracle but list 20 areas they are expert in. Before I throw the CV in the bin.

Maybe part of the issue is that I.T. moves so fast and people feel they need to be seen to be on top of the changes to be worth employing or being listened to. Well, it’s nice to be leading edge – for much of my career I’ve been lucky enough to be exposed to the latest version of Oracle either as soon as it is out or even before (beta programs). But much more important is to have some integrity. Claiming to be an expert when you are not is incredibly dangerous as anyone who really does know the subject is going to suss you out in no time at all. And you will be exposed as a fraud and a liar. Gaining any respect after that is going to be really hard work, and so it should be.

Sadly, you do get the situation where people get away with this sort of deceit, usually by managing to deceive non-technical management but annoying the real technicians around them. Many of us have suffered from this.

This issue of claiming a skill before you had was very common with Exadata when it came out. Lots of people, it seemed, read the white papers, looked at some blogs and maybe saw a couple of talks – and then started talking to people about Exadata as though they knew it inside out. I actually saw a “professional” presentation like this at a conference, on Exadata, where it was soon clear that the presenter had probably never got as far as “select sysdate from dual;” on an exadata box (not that there is any difference for that statement :-) ). I could not help but interrupt and query a statement that was utterly untrue and at that point the presenter checked his “facts” with a more senior member of his company in the crowd. To his shame, the senior member of staff repeated the error of claiming knowledge he also did not have to back the presenter up. Every time I come across that company now, I think of that.

So when can you claim a skill? If you look at my screen shot you will see that I failed to actually log into my PDB database with my new user – #fail. Of course I can’t claim these skills based on reading some information, seeing some talks and all of an hour’s practical experience.

I think you can only claim a skill once you can tell for sure if someone else also has that skill. Or more significantly, tell when they are claiming a skill they lack. Personally, I tend towards not claiming a skill if I doubt my abilities. Don’t worry, my huge ego balances that British self-doubt quite well :-)

I used to give introductory talks on Exadata as I got so tired of the poor information I saw being given on the subject. Also, all the best talks were soon about the details of smart scans, the storage cells and patching. Not much for newbies. Interestingly, even as an intro talk, most times I did the talk I learnt something new in discussions at or after the talk. But I’ve retired that talk now. Why? Well Exadata has moved forward 2 versions since I last used it and 3 since I used it in anger. I could no longer tell you if something someone claimed for V5 of Exadata was true or not. So I am no longer skilled in Exadata.

Only claim skills you have.
Distrust those who claim skills they lack.
Try to teach those who seek your skills – you will only get better for it.

Guaranteed Method of Boosting your Oracle Skills May 21, 2015

Posted by mwidlake in Knowledge, Perceptions.
Tags: , , ,

I can tell you how to be a better Oracle DBA, Developer, Designer, Architect – whatever your flavour of role or aspect of profession, if Oracle tech is part of your working world I can hand you the key to improvement. And it is easy.

I am totally assured(*) I can do this. It will work for every single one of you reading this post (except for you two, you know who you are). And you must send me $100 before I tell you how…

Hell, no you don’t! This is not some bull-droppings selling piece, it is just advice. And some advice aimed directly at myself too.

When did you last read the Oracle Server/Database Concepts manual? You know, that fairly short book (in fact, from 11G it is really short, with links through to other chapters in other books) that explains how Oracle TM (Copyright), actually does stuff? What it can do? It does not go into too many details but rather gives you a brief introduction of each concept and the fundamental “how it works” information.

Thanks to Kevin Fries who pointed out it would be nice if I linked to the online concepts manuals (as he did in his comment):
Here is the online 12C Database Concepts manual.
Here is the online 11GR2 Database Concepts manual for those still with 11GR2.
Here is the online 10GR2 Database Concepts manual for those trapped in the past with 10GR2.

Read it. Read it this week. I am confident that if you read the latest Oracle Database Concepts manual you will be ahead of the game by a massive step.

Oracle 7 instance diagram

Oracle 7 instance diagram

Why am I so sure? Because we forget what Oracle has been able to do for years and we miss new abilities if our day-job has not touched on them since they came in. I think there is a growing move to learning only what you really need to know to get the job done (as we are all so busy) as we know we can search the web for the rest. My friend Neil Chandler came up with a name for it, JIT learning: “Just In Time” learning). Only, you can’t easily search for what you don’t know (or have forgotten) is possible with the tech you use. If you go through the concepts manual you will be reminded of stuff you forgot, things you missed or {and this is key to newbies} gain an outline understanding of what Oracle can do.

I became fascinated with how many people read the concepts manual about a decade ago and started asking a question when I presented on any Oracle topic. “Who has reads the concepts manual for the version of Oracle you mostly work with?”. In the last 10, 12 years the number of hands has decreased from well over 50%. In 2012, at a UK meeting, it hit the bottom of the barrel, no hands whatsoever. Oddly enough, a few weeks later I was in Slovenia (for none-European people, a lovely country bordering Italy and Austria – google it if you need more help) and the same question resulted in 40% of the audience raising a hand. When I was in the US 6 months later, no hands at all again. In the UK and Europe since, no hands or occasionally, one hand – and a few questions usually nailed down that it was a prior version of the manual they had read.

I took some time to ask this question again at a UK user group meeting about 4 months ago (no hands came up of course) and asked “why?”. The consensus was “we know most of what is in the concepts manual, we just need to know what has changed” – with an undercurrent of not having time to read the now-huge set of Oracle manuals. A few people suggested just reading the New Features. This was a crowd who did not know what a table cluster was (“Ha, look at ME! I know what a table cluster is! Hahahahaaaa – OK, no one uses them.”). (British ironic self-depreciation there).

Reading “New Features” is certainly better than nothing but I feel it is not enough as it does not remind us of the established stuff we have forgotten. I am on a bit of a personal Jihad to explain the basics of Oracle to any Newbie who cares to listen and I have to keep checking my facts with the concepts manual and some chosen expert friends (thank you VERY MUCH expert friends) and I keep stumbling over stuff I don’t know, misunderstood or forgot. And I have been an “expert” in Oracle since… Well, before the millennium bug or Android phones or iTunes had been invented. THAT LONG! I know my shit – and some of it is, well…. wrong.

Actually, I have a confession. I have not read the 11g or 12C concepts manual. I told you this advice was aimed at me too.

So, Go Read The Oracle 12C Concepts Manual. Go ON! Go and read it!!!! Oh. Still here? Well, I AM going to read it – as I last read the 10G concepts manual properly. And as part of my current push to present, talk and blog about the basics of Oracle, I will blog what jumps out at me. I know one thing – I will not be quiet any time until August if I follow my own advice, I will be posting blogs left, right and center about what I learn..

I’ll use the tag 12Cbasics.

Let the learning of basics begin.

Oracle 7 or Oracle 8, 1.5 " of pure info

Oracle 7 or Oracle 8, 1.5 ” of pure info

Thanks to Joel Garry for digging his old manuals out the basement and doing this shot for me :-)

(*) it won’t work if you already read the latest concepts manual. But most people have not! Heck, I did not charge for the advice, so sue me if you read it already.

Friday Philosophy – Know Your Audience May 7, 2015

Posted by mwidlake in Blogging, Friday Philosophy, Presenting, publications.
Tags: , ,

There are some things that are critical for businesses that can be hidden or of little concern to those of us doing a technical job. One of those is knowing who your customers are. It is vital to businesses to know who is buying their products or services. Knowing who is not and never will buy their products is also important (don’t target the uninterested) and knowing and who is not currently buying and might is often sold as the key to ever growing market share and profit. But fundamentally, they need to know who the current customers are, so they can be looked after {I know, some businesses are shocking to current customers, never understood that}.

This should also be a concern to me.

Why? Well, I “sell” something. I don’t charge for it, but I put out my blogs and my tweets and my presentations. I’ve even stepped up to articles. So I am putting a product out there and I want people to use it. Any of us who blog, tweet, facebook or in some way communicate information are fundamentally trying to talk to people. It’s fine to just put stuff out there and see who comes, but if I am doing this in order to reach an audience, well, who is my audience?

I know who my audience is. I’m British. I live in the UK, 75% of my presentations are in the UK, 95% of my work has been in the UK. I drink tea as a hobbie, queue as only the British know how, want my ale at room temperature and I am self-deprecating in my humour. At least, I’d like to think I am, but please forgive me if I fall short of your expectations.

My Audience is UK:

Who comes looking from where

Who comes looking from where

My Audience is American.


As you can see from the above, my reasonable assumption was wrong. Those are stats I pulled from my blog about visits by country for a recent period. Most of my audience is in the US. For this particular period the UK is my second highest audience and India is third, but I dug in a little more and at times my Indian audience is higher than my UK audience.

Other countries move up and down but the above graphic is representative – European counties, Canada, South America and Australia all are prominent areas for me, and South Korea – big technology country, South Korea, so I should expect a reasonable showing from there. However, I’ll just let you know that last year (different graph, I hasten to point out) I had only 1 visitor from the Vatican, Vanuatu and Jersey (part of the UK!) each. I’m a bit gutted about Jersey, having worked there once, but the Vatican? Does the Pope need a VLDB?

I have noticed a spike of interest in a given month by a country if I go and present there, but it does not last for long.

What about my Tweet world? The below shows where my followers are from:

Peeps wot Tweets

Peeps wot Tweets

It is nice that this graph emphasises that “others” outside the top 10 are larger source of audience tham any individual country, but it shows a similar pattern to my blog. I’m mostly talking to my American cousins, the home crowd and our friends over in India. I suppose if you think about the number of people working in IT (and, to a lesser extent, just simply living) in countries across the global, the numbers make a lot of sense. If I was doing this analysis on a database of the raw data I’d now be correlating for population size and trying think of a proxy I could use for “IT Aware”.

So now I know who my audience is. Does this mean I should alter the tone of my posts to be more American or International, or is the British flavour of my erudite utterances part of the appeal?

I have noticed one change in my output over that last year or so, as I have become more aware of the geographical spread of my audience. I tend to explain what I recognise as odd phrases (above paragraph allowing) or UK-centric references a little more. And I try to allow for the fact that not everyone visiting my blog speaks English as a first language. But in the end, I have to use the only language I know. However, I don’t think I appreciate well when I am using colloquial phrases or referencing UK-centric culture. I’ll try harder.

One thing I do resist is WordPress trying to auto-correct my spelling to US – despite the fact that the app knows I am in the UK. Maybe I should spend some time trying to see if I can force the use of a UK dictionary on it? I won’t accept corrections to US spelling because, damn it all chaps, English came from this island and I refuse to use a ‘Z’ where it does not belong or drop a ‘u’ where it damned well should be! And pants are underwear, not trousers, you foolish people.

There is another aspect of my blog posts that I find interesting, and it is not about where my audience is – it is about the longevity of posts. Technical posts have a longer shelf life. My top posts are about oddities of the Oracle RDBMS, constantly being found by Google when people are looking at problems. A couple of the highest hitters I put up in 2009 when almost no one came by to look. However, my “Friday Philosophies” hit higher in the popularity stakes when first published but, a month later, no one looks at them anymore. Stuff about user groups and soft skills fall between the two. Some of my early, non technical posts just drifted into the desert with hardly any notice. Sadly, I think a couple of them are the best things I have ever said. Maybe I should republish them?

UKOUG Tech14 Suggestions for Intro Talks and My Picks of the Rest December 4, 2014

Posted by mwidlake in conference, Meeting notes, UKOUG.
Tags: , ,
1 comment so far

As I mentioned in my last post, we tried to organise a thread of intro talks into day one and two of this year’s UKOUG Tech14 conference (you can see the agenda grid here). It was not complete but I thought I should pull it into it’s own post and add in what I would recommend from the overall agenda for people who are relatively new to Oracle RDBMS.

Monday 8th

  • 08:50 – Welcome and Introduction
    • Get there in time for the intro if you can, as if you are newish to the tech you are probably newish to a conference.
  • 09:00 RMAN the basics, by Michael Abbey.
    • If you are a DBA type, backup/recovery is your number one concern.
  • 10:00 – How Oracle Works in 50 Minutes
    • My attempt to cover the basic architecture in under an hour.
  • 11:30 – All about Joins by Tony Hasler
    • Top presenter, always good content
  • 12:30 – Lunch. Go and talk to people, lots of people, find some people you might like to talk with again.
  • 13:20 – Go to the Oracle Keynote.
    • The keynote itself is shorter than normal and afterit there is a panel discussion by technical experts.
  • 14:30 is a bit tricky. Tim Hall on Analytical Functions is maybe a bit advanced, but Tim is a brilliant teacher and it is an intro to the subject. Failing that, I’d suggest the Oracle Enterprise Manager round table hosted by Dev Nayak as Database-centric oracle people should know OEM.
  • 16:00 – Again a bit tricky for someone new but I’d plump for The role of Privileges and Roles in Oracle 12C by Carl Dudley. He lectures (lectured?) in database technology and knows his stuff, but this is a New Feature talk…
  • 17:00 – Tuning by Explain Plan by Arian Stijf
    • This is a step-by-step guide to understanding the most common tool used for performance tuning
  • 17:50 onwards – go to the exhibition drinks, the community drinks and just make friends. One of the best thing to come out of conferences is meeting people and swapping stories.

Tuesday 9th

  • 09:30 Maria ColganTop 5 things you need to know about Oracle Database in-Memory Option
    • This is actually the Database technical keynote, about one of the key new technologies.
  • 10:30 Introduction to Oracle Application Express by Joel Kallman
    • APEX, as it is often called, is a simple but powerful way to develop applications. It’s probably THE most common thing that DBA-types don’t know and  wish they did?
  • 12:00 If you know any Java then Jacob Landlust on What all DBAs need to understand about JDBC Configuration or else Pete Finnigan on Secure, Review & Lock Down your Oracle Database.
  •  14:00 Chris Lawless on Zero Downtime Migrations using logical Replication
    • Good as he covers the principals of such things which teachers you a lot
  • 15:00 A bit of a struggle for a general Intro talk so I will plump for…Tim Gorman on RDBMS Forensics: Troubleshooting Using ASH as I know Tim will explain why understanding and solving performance issues is a science, not an art
  • 16:30 Tom Kyte on SQL is the best Development Language for Big Data
    • If you are new to Oracle, you pretty much have to go to at least one Tom Kyte presentation.
  • 17:30 Jonathan Lewis Five Hints for Efficient SQL
    • If you are new to Oracle, you pretty much have to go to at least one Jonathan Lewis presentation :-)

Oh, what the heck…

Wednesday 10th

  • 09:00 Jonathan Lewis Fundamentals of trouble shooting Pt1
  • 10:00  Jonathan Lewis Fundamentals of trouble shooting Pt2
  • 11:30 Tim Gorman on three types of table compression
  • 12:30 Tom Kyte More things about Oracle Database 12C
  • 14:30 Alex Nuijten Oracle 12C for developers
  • 15:30 Neil Chandler Goldengate – Migrating my first TB


Each year I struggle more and more to get to all the talks I want to, partly as there are so many clashes of good talks but also I end up in interesting conversations with old friends and suddenly realise I’ve missed a talk. Or my brain hits “full” and I have to take a breather.

However, my intended agenda is:

  • 08:50 Welcome and Intro to delegates prior to…
  • 09:00 Martin Bach on Oracle 12C features that didn’t make the marketing top 10
  • 10:00 Myself, HOw Oracle works in 50 minutes
  • 11:00 Coffee and recovering!
  • 11:30 Hmm, I want to go to four… Maybe Robyn Sands, Why Solid SQL still delivers the best ROI.
  • 13:30 Oracle Keynote panel
  • 14:30 Tom Hall on Analytical Functions..Or maybe Larry Carpenter on Active Data Guard…
  • 16:00 Antti Koskinen , Undocumented 11g.12c Features Internals
  • 17:00 Graham Wood, AWR: looking Beyond the Wait Events and Top SQL


  • 09:30 I have the pleasure of chairing Maria Colgan’s Database Keynote, Top Five Things you need to know about Oracle Database in-Memory option
  • 10:30 Joze Senegacnik, Most common Databse Configuration Mistakes
  • 12:00 Richard Foote, Oracle database 12XC New Indexing Features
  • 14:00 Damn… I’ll plump for Maria Colgan on IN-memory and the optimizer. Sorry Tim and Chris
  • 15:00 Now Tim, on RDBMS Forensics and Ash
  • 16:30 Chris Antognini on adaptive query optimization
  • 17:30 it better be Pete Sharman, hot over from Aus, doing deployment best practices for Private cloud, as I am chairing him


  • 09:00 Patrick Hurley, Adventures in Database Administration.
  • 10:00 Me, on boosting performance by clustering data
  • 11:30 Richard Foote, indexing in Exadata
  • 12:30 Tom Kyte, More things about Oracle 12C
  • 14:30 chairing Ganco Dimitriov on the importance of having an appropriate data segmentation
  • 15:30 Last one, 3 to chose from… Neil Chandler on Goldengate I think

Drive home and sleep


User Group Meetings Next Week (free training everyone!) July 11, 2014

Posted by mwidlake in Exadata, Meeting notes, UKOUG.
Tags: , , , ,
add a comment

I know, posts about up-coming user group meetings are not exactly exciting, but it’s good to be reminded. You can’t beat a bit of free training, can you?

On Monday 14th I am doing a lightning talk at the 4th Oracle Midlands event. The main reason to come along is to see Jonathan Lewis talk about designing efficient SQL and then he will also do a 10 minute session on Breaking Exadata (to achieve that aim I suggest you just follow the advice of the Oracle Sales teams, that will break Exadata for you pretty efficiently!).

If you are not familiar with the Oracle Midlands events, they are FREE evening events run in Birmingham, just north of the center in Aston, at the Innovation Birmingham centre. See the web site for details and to register. The great thing about them being in the evening is you do not have to take time out from the day job to attend. The disadvantage is they are shorter of course. (And for me personally, I feel morally obliged to pop in on my dear old Mother on the way and listen to her latest crazy theories. I think it’s what Mum’s are for). Samosas were provided last time to keep you going and I know a couple of us will retire to a near-by pub after, to continue discussions.

I’ll be doing just a short talk, along with half a dozen others, my topic being “is the optimizer getting too smart to be understood”.

This is a user group in the truest sense of it, organised pretty much by one chap (Mike Mckay-Dirden) in his spare time, with help from interested people and some financial input from the sponsor Redgate.

I get a day off and then I am at the combined RAC CIA and Database SIG on Wednesday 16th. This UKOUG SIG is probably the other end of the user group experience (as in from an organisational and size perspective). They both fulfill a need and I have no problem being involved in both. In fact, I now notice that Patrick Hurley is going to be at both events too.

The RAC CIA & Database SIG is also free, IF you are a member of the UKOUG. You can also attend if you pay a one-off fee. It’s an all-day event and as it is a combined SIG it is a two-track event. It’s almost a mini-conference! Presenters include myself (doing my intro to Exadata talk, probably for the last time), Julian Dyke, Patrick Hurley, Martin Bach, Neil Chandler, Neil Johnson, Martin Nash (twice!), Ron Ekins, John Jezewski, Alex Evans and David Kurtz. If that is not enough, Owen Ireland is going to give a support update and then we have Mike Appleyard giving a keynote on a brand new 12.1 feature, Oracle Database In-Memory option.

I’d be going along even if I was not presenting or helping run the RAC CIA SIG and I’m retired for goodness sake! (well, sort of, my wife has not ordered me back to the working life yet). And of course, we will no doubt retire to a hostelry after (to count how many Neils and Martins are involved).

I hope to see as many UK people as possible at these two days. As I said at the top, it’s free training, you can’t get better than that.

Friday Philosophy – Level of Presentations March 8, 2013

Posted by mwidlake in Exadata, Friday Philosophy, Perceptions, Presenting.
Tags: , ,

This FF is a bit of a follow-up to the one I posted last week on PL/SQL skills and a comment made by Noons on how much knowledge you need to be an OakTable member.

I have a question to answer and I would appreciate other people’s opinion. Should there be more intro talks at conferences? If so, should the experts be giving them?

I am an OakTable member (and really quite worryingly proud about that) and I guess that means I know a lot about some aspects of Oracle. But also, and this is a key part of being asked to be a member of the OakTable, I both try and base my “knowledge” on scientific testing of what I think I know (be it by myself or others willing to show their workings) and I try and pass that knowledge on. I don’t think there is a member of the OT that does not abide by those two concepts.

This is not false modesty on my part, but most other people on the OT know a shed load {UK colloquialism for “really quite a lot”} more than I do about the Oracle database and how it works. Some of them are so smart I can’t but secretly dislike them for it :-). But I have a reasonable stash of knowledge in my head and I am a stong proponent of those last two factors. In particular, I want to put what I have in my head about {ohh, let’s pick partition pruning} in other people’s heads. Which is why for the last 4 years most of my presentations have run over horribly. I must get every detail into the audiences’ heads, even if they don’t want to know it!

Of late I have started to feel that I present in the wrong way. I take a subject, I write down what I know about it and I try to present that knowledge. I’ve only picked topics I feel I know well and in which I can handle almost any question the audience asks. For me to be that confident I have to have used that aspect of Oracle technology a lot and had months, if not years of experience. You cannot pass that on in 1 hour. I’ve already said I am not that smart, but I learn over time. So I started to strip out the basics and present just the clever stuff, which shows how fabulous I am. {British self-deprecating sarcasm, please}. Just like so many other experts. Hell, if we are experts, we should be talking expert stuff!!!

To balance that I think there is a gap in what is talked about at conferences. I know this is felt by some conference organisers and attendees too, but there is just way too much “impressive smart stuff” and not enough “how X works in the real world, for people who have never done it”. Not 10,000 feet up sales pitch rubbish that gives no substance, but talks on a topic where you can go from level 1 for knowledge-free beginners to level 5 for the 25 people at the conference who know this stuff inside out – and the talk stops at level 2. I’ve made a decision to try and address that gap, which is why I now offer more talks on “an intro to Exadata” and “how to get going with performance tuning” than the smart stuff.

The problem is, how many people, probably mostly young people, go to conferences? Am I wasting my time trying to offer these talks if no one going to the conferences wants them? Do people going to conferences, generally speaking, want the technical nitty-gritty or do they want the intro stuff? Yes, I know there is a spread but where is the real need? I suppose I thought of this recently when I did a talk on Index Organized Tables and almost everyone in the room already used them. Then, a few hours later, I did an intro to database design. Almost everyone in the room was a seasoned database designer… I doubt I said much of real value to either audience.

That leaves my last point about should the experts do intro talks? A problem with experts doing intro talks is the expert knows it all. It can be hard to remember what you really needed to know at the start (and also, my own problem, knowing what to drop out the talk as, really, it is “being smart as an ego-trip” that the new people can do without). But if you are not an expert, can you handle the What If questions? I have played with this issue with my Intro to Exadata talk. I wrote the draft when I had very little real experience and I have only modified it as I gained more experience. I’m glad I did as when I revisited the presentation recently I started putting loads of stuff in that only makes sense when you are used to it’s peculiarities. Thankfully, I realised this and stripped most of it out again. So well, in fact, that one person who wrote about the talk said “it was nice to see someone talk about it who was an Oracle expert who obviously knew little about the topic”. Well, something like that :-)

Enough. I would appreciate other people’s opinions and experiences on this.

Friday Philosophy – Do good DBAs need PL/SQL Skills? March 1, 2013

Posted by mwidlake in Friday Philosophy, PL/SQL.
Tags: ,

This Friday Philosophy was prompted by a discusion between some OakTable people about did we think “good” DBAs should know PL/SQL? Not all the tricks, bulk processing, using all the built-ins, but able to write PL/SQL with cursor loops and some exception handling that could eg cycle thorough tables and archive off data or implement some logon trigger functionality.

My response was “that depends on the age of the DBA”.

If you had asked me that question 15 years ago I would have said Yes, a good DAB would and should know PL/SQL.
If you had asked me 10 years ago I would have said I’d hope they would and most DBAs I respected has some PL/SQL skills.
If you had asked me 5 years ago I would have sighed and had a little rant about how they should but the younger ones don’t and that is wrong.

But now, I would say that no, a good DBA does not need PL/SQL skills as so often they have so many other things they have to do and the tools to manage the database are somewhat better than they were. But inside I would still be thinking any DBA beyond their first year or two in the job would benefit from knowing the basics of PL/SQL.

It seems to me that a DBA now is generally expected to look after a very large number of instances, application servers, agents etc and all their time is taken doing the bread-and-butter tasks of backups and recoveries, patching, duplicating data, raising SRs (and that seems to take more and more time each SR every year), unlocking accounts, sorting out permissions…

Not only that but there is more and more to Oracle that a good DBA needs to understand as the technolgy gets more complex. Oracle has tried to make Oracle look after itself more but the result seems to be that for larger systems there are more moving parts to go wrong – and when they do it is often the DBA who has to sort it out. As an example, you no longer need to set several instance parameters to allocate memory to the components of the PGA and SGA. Just set the Memory Target. But if the system starts to throw odd errors about components being out of memory, the DBA needs to sort that out. They need to know about the dynamic memory adjust ments and check them out. They need to understand that certain components are now calculated in a different way, like the log buffer size. And probably they will have to revert back to the old parameters so they still need to know all about that!

So unless a DBA is an old hand and “grew up” with all this, they have no time to develop PL/SQL skills. Thus my response was “that depends on the age of the DBA”.

Should a good DBA know SQL?

Yes. I still see that as a given. Buttons, widgets and assistants will only get you so far.

Friday Philosophy – The Tech to Do What You Need Probably Exists Already November 30, 2012

Posted by mwidlake in Friday Philosophy, Perceptions.
Tags: , , ,

How many of you have read the Oracle Concepts manual for the main version you are working on?

This is a question I ask quite often when I present and over the last 10 years the percentage number of hands raised has dropped. It was always less than 50%, it’s been dropping to more like 1 in 10 and Last year (at the UKOUG 2011 conference) was the nadir when not a single hand was raised. {Interestingly I asked this at the Slovenian User Group 3 months ago and something like 40% raised their hand – impressive!}.

Why do I feel this is important? Well, do you know all the technology solutions available across just the core RDBMS with no cost options?. No, you don’t, you (and I) really don’t. If you read the concepts manual, even just skimming it, you will be reminded of a whole load of stuff you have only dim memories of and perhaps you will even see some features that passed you by when they were first introduced.

Of course, you would need to read a few more manuals to get the full picture, such as the PL/SQL Packages and Types References, as so much good stuff is introduced via built-in packages, and the SQL Language Reference, as SQL has been extended quite a lot over the last couple of versions. Dull reading indeed but I’d estimate that if you read those three you would be aware of 90%+ of the Oracle technologies that are available to you out-of-the-box and considerably more than all but a handful of Oracle Experts. You’d know more than I as (a) I have not skimmed the PL/SQL one for years and (b) I have a rotten memory.

My point it, you can’t consider using Oracle technologies you don’t know about or remember – and they could be just what you need to fix the problem you see in front of you.

I’ll give a couple of examples.

Problem, physical IO is too high, your storage system is bottle-necked.
Answers, Reducing Physical IO:
-First up, Index Organized tables. Some of you will be aware that I am very keen on IOTs and the reason I am is that I’ve used them to physically group data that the application needed to select over and over again. It can make a massive improvement to that sort of system. They are rarely used.
-Clustered Tables. Even less used, in fact has anyone reading this used them in anger in the last 10 years? Great for situations where you need parent-children or parent-children-type-1+parent-children-type-2 data. I confess, I have not used them in anger for years.
-Move table (and order them as you do it!) and re-build indexes to remove “dead” space. This one got a bad name, especially the index rebuilds, as people were doing it needlessly without appreciating what the intention was, but now I hardly ever see it done – even when it is of benefit.
-Compress your tables and indexes. With normal Oracle compress (no need for HCC). In tests I’ve done I pretty much always see a drop in physical IO and run time. Being candid, I can’t remember doing any tests and NOT seeing an improvement but I usually only test when I expect and improvement and I don’t want to give anyone the impression it will always help.

All the above were available in Oracle 7 or 8 and all have improved over the versions.

Problem, you want to carry out some long,complex data processing in PL/SQL and if a step fails, be able to handle it and carry on.
– Savepoints. You can rollback to a savepoint, not just to the last commit. In this way you can break the task into chunks and, if something towards the end fails, you roll back one step (or several, your choice) and call an alternative routine to handle the exception.
– Autonomous Transactions. You want to record that an error occurred but not fail the original action or not save anything it has done to date. An autonomous transaction runs in it’s own sub-session and commits in it do not effect the calling session.
– Temporary Tables. You can put your working information in them as you progress and if you need to bomb out (or some evil DBA kills your session for running too long) the temp table contents just disappear. No clean up needed.

Maybe the above is not so fair, I have not been a proper PL/SQL developer for a while now, but I hardly see the above used. Especially Savepoints. I can’t remember not having savepoints available (hmm, maybe Oracle 6) and Autonomous Transactions and Temporary tables are Oracle 8 (I thought Temporary tables might be 9 but Tim Hall’s OracleBase says 8)

Another thing I have noticed over the years is that so often I will read up on some oracle feature I know little about, only for it to come up in the next few weeks! There is a psychological aspect to this, that we only remember these “coincidences” and not the more common situations where we read up on something which does not subsequently come up before we forget about it, but I think that it is also that we tend to use only a few solutions to solve the problems we see and adding another solution to our list means the chances are high it will be suitable for something soon.

OK, so it would help us all to read the manuals (or other Oracle technical books) more. Now the big problem is finding the time.


Get every new post delivered to your Inbox.

Join 204 other followers