jump to navigation

Friday Philosophy – Your Experience can Keep You Ignorant November 18, 2016

Posted by mwidlake in Friday Philosophy, Knowledge, Perceptions, performance, SQL.
Tags: , , , ,
12 comments

This week I was in an excellent presentation by Kerry Osborne about Outlines, SQL profiles, SQL patches and SQL Baselines. I’ve used three of those features in anger but when I looked at SQL Patches I just could not understand why you would use them – they looked to me like a very limited version of SQL Profiles.

There is a prize for spotting Kerry without a baseball cap

There is a prize for spotting Kerry without a baseball cap

So I asked Kerry about it during his presentation (he had been encouraging us to ask questions and I was curious). The answer? They are almost identical in how they are used and the impact they have but, yes, they are more limited. You can only enter one line of hints (I think it can be more than one hint but I have not checked {update, see comment by Jonathan Lewis – it is 500 characters of hints you can add, so you can comprehensively hint most statements}) with a SQL Patch. But, and this is the crucial bit, they can be used without the tuning pack and can be used on Standard Edition. Which makes them very useful if you are limited to using a version of SE or have not paid for the extra cost tuning pack option on Enterprise Edition. Kerry told me the first part about no cost and Kamil Stawiarski the part about being available on SE.

That’s a really useful thing to know. Why did I not know it? Because nearly all my experience of performance work has been for clients who have Oracle Enterprise Edition and the tuning pack. Most companies who are willing to hire someone to do Oracle Performance work have paid for Oracle Enterprise Edition and usually for many of the options. A company who is saving money by having SE is far less likely to have the money to hire external consultants (more the pity, as I would really like to spend time working for smaller companies where you can usually get more done!)

My experience, or rather lack of it, had blinded me to the possible uses of an Oracle performance feature. I wonder how much other stuff I don’t know or appreciate about an area I claim to be knowledgeable and skilled in – because my experience is mostly for clients with a very full Oracle tool set? How true is this in all sorts of areas of my technical and personal life? Quite a lot I suspect. That can be a little dis-spiriting.

But mulling this over later that evening (with beer of course) four things occurred to me:

  • If someone claims skills in an area but does not know things you do, it could well be simply down to their personal experience to date. It does not mean you know more, it means you know different stuff.
  • How much does someone have to not know before you decide they are not the expert they claim?
  • Do we partial experts keep ourselves slightly ignorant by not asking questions – as we fear that second point?
  • I felt I did the right thing in asking a question about something I felt I should know – but did not. As now I know the answer (and two people at least got to show they know more than me).

I know I have said this before, as many others have. The more you know, the more you realise what you do not know. You just have to keep asking and remember that, we are all ignorant about something until someone tells us about it.

Friday Philosophy – Struggling To Learn Something? You Still Rock April 1, 2016

Posted by mwidlake in Friday Philosophy, Knowledge, Perceptions, Private Life, working.
Tags: , , ,
12 comments

When did you last learn something new about the tech you work with? This week? This month? This year? 2003?

I fell off THAT? No wonder it hurt

I fell off THAT? No wonder it hurt.

{This blog is a bit of a personal story about my own recent career; how I fell off the log and managed to climb back on it – just so you know}.

For me it was (as I type) this week. In fact, it was today! It was in an area of “my tech”, stuff that I know back to front and left to right. I’m an expert in it, I’ve been using this area of Oracle’s tech for two decades and I simply “Rock at this stuff!” I mean, I know quite a bit about it (sorry, went all “USA” on you there for a minute). But still, despite all my experience in it and even teaching others about it, I learnt something new today – And thank the heavens I did.

Why am I so happy about learning something that, really, I perhaps should know already?

About 3 years ago I stepped back from the whole Oracle arena. I’d been struggling with the tech for a while and I was really not enjoying most of the roles I took on. Which is odd, as I was able to choose between roles by this point to some extent, and had no problem saying “no” to a job I did not like the look of. I know, it’s a privileged position to be in – but I pretty much feel it was a position I put myself into by working hard, developing my skills and (which may seem counter-intuitive to some) sharing them.

So, I had finished a job I was enjoying (which had become a rarity) and I had taken on a new role… and I was hating it. And I was especially hating learning stuff. And I had no desire to, once more, pour 10% of my learnt skills down the sink (as they had been superseded) and learn 20% of new stuff. Why do I say once more? Because, as the Oracle tech has rolled on, that is what I and all of you in a band around my age has had to do every few years.

Back in the early 90’s I knew how to get Forms and Reports to work in ways many did not. I would edit the source files for these tools, I could use tricks with the triggers to do stuff and I also knew PL/SQL in a way few people at the time did. But my position as a leading expert went out the window as things progressed and everyone (everyone? OK no, but a good fraction of people) caught up – and then exceeded – my skills in those areas. And some tech was retired. But I had moved onto database skills by then and I knew stuff about segment creation and space management that few others worried about. Which Oracle then made redundant and I had to move on again…

I’m not alone in this, most of you reading this (be you 60, 50, 40 or 30) can relate to this and have your own stories of managing skills and moving on as the skill set you knew evolved.

But as I said, around 3 years ago, for me it ended. I hit a wall. I was simply too tired, cynical and… yeah, pissed off, to keep letting go of some skills and learning new ones. I’d had enough and I stopped learning. Within 12 months I was not pissed off- I was screaming inside to get out of the industry. And I did. If you have followed my blog you might be able to see the pattern if you look back over the posts. I certainly can, looking back over them.

In this industry, if you stop learning you “die”. It might take a while, especially if you are just ticking over in a role where nothing changes and no new features are used. But the nearer you are to the bleeding edge of the tech, the faster you fall off that edge. For 24 years I had either tested the next version of Oracle before it was released or been the person telling (whatever company I was at) how to use (or avoid!) the new features of the latest Oracle release. But now I had stopped learning.

I started having chats with some friends about it and most were sympathetic and understanding and, well, nice. But I still had that wall. My career was based on being near, on or beyond the leading edge. I learnt stuff. I moved with the times. And now I did not as I was… tired. Drained.

But then I had a weekend in America skiing and relaxing after a conference in Colorado and I spent a lot of time with a good friend Frits Hoogland and I told him about where I was. He was also sympathetic – but he also said (and this is not a quotation but a general indication of his intent, as I remember it):

“I can’t tell you how to care about it, it’s up to you. But if you are not driven to learn the tech you won’t learn it. I can’t give you that drive – you have to find it for yourself”.

No one else had said that. Frits had summed up the situation and given it to me straight. You don’t learn by passive osmosis, you need to want to learn. And I’d fallen off the learning log and I didn’t know how to get back on it.

I thought on that for about 12 months. I also hid a little from the Oracle sphere and being “an expert”. And you know what? He was totally right. I needed a reason to learn the latest stuff and keep developing and it had to be something I wanted – be it a career, kudos, being the best I could be, putting kids though college (just checked, I never had kids), anything! But it had to be a drive. Because learning all this stuff is hard work.

It took me 12 months to work it out, but eventually I realised what I did and did not like about my working life. I hated commuting, office politics, dealing with people who were in charge but did not know (and had no desire to know) about tech, seeing the same mistakes repeated – All that stuff we all hate. But for me I was no longer able to balance that with the nice bits. Solving problems, making things work faster, creating programs and tools to help people achieve things and… teaching people.

So I took the decision to spend a year or two doing less work (and not earning much) and being more involved in the UKOUG, technical blogging (I’ve not really done so well on that front), writing articles, doing conferences and smaller user groups.. Basically, doing more in the user community. And I have, even to the extent of being involved in a book.

It took a while but I know it worked. How? I started learning again. I don’t mind if it is stuff that maybe I should already know – if I’m learning I’m not just improving but I am being engaged by my job (whatever my “job” is).

If you are in I.T. and you are still learning stuff, I would suggest that over all, everything is fine. Even if the learning part hurts a little – it does seem to get a bit harder each year to put new stuff into that cerebral cortex- you are not stagnating.

If you are in I.T. and not learning stuff, I’d suggest you might want to think about why – and if you should be changing what you do or where you do it. We spend most of our adult lives working, if there is any way you can make that part of your life more satisfying, I really think you should try and do it. Even if, as in my case, it pays a hell of a lot less!

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

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

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 – At What Point Can You Claim a Skill? June 26, 2015

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

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: , , ,
5 comments

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.