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

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.


1. Jonathan Lewis - November 18, 2016


For reference, an SQL Patch can be a maximum 500 characters long, but can hold as many hints in that space as you can squeeze in: http://jonathanlewis.wordpress.com/2014/07/06/sql-plan-baselines-2/#comment-69029

mwidlake - November 18, 2016

Thanks Jonathan. I thought I remembered Kerry mentioning “a single 500 character line” but my quick google work did not back it up so I left it out.

2. oraclebase - November 18, 2016

Also, the more you know, the more confident you are about saying, “I don’t know!”, rather than spouting BS…



3. jgarry - November 18, 2016

My dad, who owned a gas station pre-WWII and was a machinist in a shipyard and on a destroyer during the war, put it this way:

Anyone can do the job with the proper tools. It takes a Real Mechanic to do it without the proper tools.

My experience with sites too cheap to get the proper tools is, it’s a fun challenge for a while, but it quickly becomes too much like work as you realize reinventing wheels is a ridiculous penny wise pound foolish waste. If you can have a reusable script repository already together from lots of places, that’s better, but that not a whole lot of people can get that together with cutting edge experience. Obviously, Kerry, Jonathan, the better service organizations, et al do that, but like you imply, SMB’s don’t put out a large market, even though they have a large problem set. They only get people reactively, when there is some disaster, and are more likely to be preyed upon by the unworthy, rebuilding indexes and so forth. Then they think SQL Server is so much better.

Another thing past your 4 is some people can be very good at researching and solving problems, but not be too quick on their feet. They get eliminated for being careful and thoughtful!

mwidlake - November 18, 2016

I tend towards that “not be quick on their feet” category, but I usually come up with a better eventual solution. If I get the chance!

4. amitzil - November 18, 2016

I’ve seen many experienced DBAs that didn’t know anything about SE, or couldn’t imagine a database without partitioning.
I had the chance to work for companies with SE and even with a very small servers (my old laptop was probably stronger than their servers), and it was great! We had to come up with very original ideas to solve problems…
And I completely agree with Tim, I respect experienced and knowledgeable people who say “I don’t know”.
Great Friday philosophy Martin!

mwidlake - November 18, 2016

The one major regret I have over Tech16 is we could not get an SE stream together this year to continue the precedence set in 2015. The people who could talk on it that I know could not make the date and it’s a tool many, many smaller companies (who may one day be massive companies) use a lot. Maybe next year…
And yes, we all need to say “I do not know – but tell me about it”.
Thank you Liron

5. Noons - November 19, 2016

Only one comment:
“stupid” != “ignorant”
The two things couldn’t be more different.
Although a lot of folks seem to think they are one and the same.
They should try using DUAL to sort it out!

mwidlake - November 19, 2016

Really good point Noons! – I’ve changed the text.

So, what does the fact I used “stupid” when “ignorant” is the correct term tell you about me? If I had never had the difference explained to me I would have been being ignorant.
But as I do understand both words, I must have been being stupid 🙂

Noons - November 20, 2016

🙂 More semantics than anything else.
Very likely I didn’t explain it well either, so join the club! 😉

6. Dear DBA Frank (@fdernoncourt) - November 21, 2016

I think I’ve shared with you Martin that I recently changed jobs: I’ve moved from an Oracle shop with EE and the PACKS to one with a mix of EEs and SEs and no packs. in my previous job, i’d diagnose performance problems that occurred in the past with my V$ACTIVE_SESSIOn_HISTORY-based tools, AWR, and the Advisors, now I must make do without all this. I’m really experiencing what jgarry wrote: “Anyone can do the job with the proper tools. It takes a Real Mechanic to do it without the proper tools.”. So thanks for sharing that SQLPatches can be used with SE!

mwidlake - November 21, 2016

Hi Frank,
there are tools out there that can be used on SE that give similar data to AWR and are free. If you did not see Martin Bach’s talk on it at DOAG you should pull down the slides.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: