Oracle Scratchpad

October 18, 2009


Filed under: Philosophy — Jonathan Lewis @ 7:30 pm BST Oct 18,2009

Chen Shapira wrote a very nice note about the unconference (and “Oracle Closed World”) presentation that I did at Oracle Open World this year, loosely titled “The Beginner’s Guide to being an Oracle Expert”. In her comments she has captured a point more clearly than I have ever expressed it: “DBAs are under a lot of pressure not to be experts.”

I am not a working DBA – yet I spend a lot of my time solving problems for DBAs and helping DBAs do their jobs better. How do I manage this? By knowing more than they do about the technology they are using[1]; and I’m in that position because I have the time to investigate and test and experiment – time that a working DBA is not usually given.

It’s easy for me to make that time, of course, because I am self-employed and create my own timetable – and on my timetable I aim to average one day per week working at home investigating mechanisms and solving problems: call it my R&D budget. I’ll charge you more for the time I spend on your site because I’ve spent time in my “lab” making sure I know the answers to your questions before you even ask them.

I have the time to be an expert because I can choose how I use my time; the typical DBA is not so lucky. If you want to be an Oracle expert time is the most important commodity.

[1] I should point out that there are areas of the technology where I am not an expert – so there have been occasions when people have asked me to do a job and I have suggested they contact a colleague who is an expert in that particular field.


As I glanced through this note just before publishing it, it crossed my mind that DBAs are often advised to ignore the wait event “SQL*Net Message from Client” as it’s only “think time” and doesn’t affect performance. When you’re aim is to become an expert “think time” becomes very important, and ends up making a huge impact on performance.


  1. Hi,
    Another point Jonathan: nobody can be an expert in all of things related to Oracle’s RDBMS. As I say to my colleagues ‘a day will come when we will have an expert in all things related to CREATE TABLE statement, …’. A DBA will usually cover lots of areas, from SQL tuning, to backups/restore, streams, dataguard, installations, cloning, RAC,…, a DBA has to cover probably a lot more areas than you (or I) do , and that leaves them less time to become experts, and being an expert in all these areas requires 5 days per week like your day, at least. Nobody can do that, DBA or not


    Comment by salem — October 18, 2009 @ 10:00 pm BST Oct 18,2009 | Reply

    • Salem:

      “create table” …. I remember the days when the entire syntax fitted on one page, and the entire manual entry was just a handful of pages ;)

      You’re right, of course, about the number of areas – especially when it comes to initial installation; hence my comment about needing different people for different fields of expertise.

      From my area of expertise it’s easy (for example) to look at a system and say: “your performance issue relates to the way you done the following … with RAC, and this is how you correct it” – but if someone asked me to come in to set up an entire RAC configuration including failover from scratch, I’d point them to someone else (Julian Dyke in the UK, probably) as a more appropriate expert who would be able to identify and deal more effectively with the client’s requirements.

      Comment by Jonathan Lewis — October 19, 2009 @ 6:45 am BST Oct 19,2009 | Reply

  2. Sir,

    Very well written. I shall just say one thing that before attempting to be an expert, one must learn to be a good learner and listener as only those who are willing to learn and listen to others in this process, eventually grow up as an expert. Hope my learning never stops. Thanks once again for a very nice post!


    PS: Any chance that the presentation slides will be available for non-attendees sir?

    Comment by Aman Sharma — October 19, 2009 @ 3:00 am BST Oct 19,2009 | Reply

    • Aman,

      There were no slides for the first presentation, and only a couple of highlights for the second which would be meaningless without a bit of chat.

      Most of the second was a case of – “Look at these numbers when I run this script – why did hat happen?”. Basically I spoke for about 90 minutes on the single statement: update t1 set flag = ‘N’ where flag = ‘Y’;

      Comment by Jonathan Lewis — October 19, 2009 @ 6:38 am BST Oct 19,2009 | Reply

  3. that’s a very good point you mentioned. I am a developer dB – building applications with Oracle – supporting development team, maintaining databases, tuning, … But there is no time to keep in every deep secret of the database. So you cannot be an expert on every level ;-)
    and there is another point.
    Once you be an expert you are too expensive for long time projects – you tend to have shorter periods – sometimes only one day. Beeing an export then does not allways been driving a bigger car :-). It’s a thing of a call. And if you feel the call you do it ;-)


    Comment by Karl Reitschuster — October 19, 2009 @ 6:35 am BST Oct 19,2009 | Reply

  4. This term “Expert” is synonymous to the word “Beauty”.
    As somebody said “Beauty lies in the eyes of beholder”. One can say the same
    thing about “Expert”. It is relative to the context/space it is being used.
    An Oracle DBA in some shop may not know about, say index “internals”, as much as Richard Foote or Jonathan Lewis, but if (s)he is able to address all the needs of the “shop” from time to time in effective manner, the shop will call her/him and “Expert”. After all, IT is a service industry. It is supposed to be for benefit of the main businesss. If I can afford to change the definition of “Expert” (in the context of IT industry), I would say an Expert is someone who may not have learnt every thing (at a point in time) but one who has learnt the art of learning new things and wants to learn, ALWAYS.

    p.s. Feels so good to dish out philosophy on Monday morning. :)

    Comment by Narendra — October 19, 2009 @ 8:11 am BST Oct 19,2009 | Reply

    • Narenda,

      I know it doesn’t quite follow logically from your comment, but for some reason you’ve reminded me of the definition of an expert that Niels Bohr once gave: “An expert is a person who has made all the mistakes that can be made in a very narrow field.”

      I try to remember that an expert is often just the biggest fish in a little pond – and as Qui-Gon Jinn once said: “There’s always a bigger fish.”

      Comment by Jonathan Lewis — October 19, 2009 @ 11:50 am BST Oct 19,2009 | Reply

  5. You know what?

    One of the problem with modern computer science is that we don’t learn from the best but we just learn to do things.

    For example we don’t learn Oracle from a “Jonathan Lewis” but from one that is “the best around here”.
    And the same is for programming techniques, security techniques and so on.

    Quite a lot of work can be done.

    Comment by lascoltodelvenerdi — October 19, 2009 @ 8:39 am BST Oct 19,2009 | Reply

  6. Very good points. As the Oracle stack continues to expand (storage, OS, middle tier and now platform hardware), the term “DBA” gets only more muddy. And confusing. Oracle really pushed the envelope when they wanted “DBAs” to manage storage with ASM and cluster configuration/installation with RAC. As the field of Oracle products gets wider and wider, the true job tasks of a “database administrator” get farther and farther from home plate.

    Personally, I rather that we somehow “sticky” the term DBA to relate only to the RDBMS. Let the sysadmins and storage admins keep their hats regardless of who the vendor is. Else future “DBAs” will be as ubiquitous as “research programmers” and mean just about as much.

    Comment by charlesdschultz — October 19, 2009 @ 12:33 pm BST Oct 19,2009 | Reply

    • If you think research programmers is getting meaningless, you should see what’s happening with architects here.
      The real ones are probably still designing buildings, but here I have mew network architects, data architects, data center architects, software architects, performance architects, functional architects, user interface architects, system architects, enterprise architects, and I’m probably missing a few.

      Comment by prodlife — October 20, 2009 @ 1:29 am BST Oct 20,2009 | Reply

  7. It’s really nice to see one of the top experts acknowledging the role that “time free from production demands” has in being able to gain the expertise and detailed understanding needed to be that expert. The topic of how we learn is something I keep coming back to myself, in my own inexpert way.

    There has to be the desire to do it as well. Something you do not mention Jonathan is the investment of many years’ effort to become that expert, where perhaps the financial rewards are not so great but the time requirements are as you learn your craft? I suspect that you and many of the best in the field have dedicated a lot of time and relatively lean years to get where you are now, which is a serious commitment.

    Comment by mwidlake — October 19, 2009 @ 5:03 pm BST Oct 19,2009 | Reply

  8. >DBAs are under a lot of pressure not to be experts.
    Well, in my not humble opinion, a good DBA should have enough spare time for self-education. Otherwise either DBA-ing isn’t single duty for him/her or something is being done not optimally. Those who really are under pressure are developers – they usually don’t have time to even think about something which might be done differently.
    PS. I’m (luckily :)) nor DBA, nor developer.

    Comment by Timur Akhmadeev — October 20, 2009 @ 11:39 am BST Oct 20,2009 | Reply

  9. @Timur i cannot agree with you; i know a DBA production staff being responsible for 60! production database servers each DBA; And 2-5 projects keeping them hot all the time. Weekend Action because of release stuffs. This is heavy load and nobody sees the fruit of the hard work compared to a developer which could produce some code hopefully is working ;-)
    My personal experience is we live in a time overloading employees with work and accusing them if they reach not the expected payload; Not good times -at the end for everyone


    Comment by Karl Reitschuster — October 20, 2009 @ 12:01 pm BST Oct 20,2009 | Reply

    • >a DBA production staff being responsible for 60! production database servers each DBA
      … and they are doing it manually in CLI? I don’t think so. IIRC, one of Oracle magazines mentioned 2 DBAs together managing something about several thousands databases (I don’t remember exact number, but it was thousands – I’m sure). Guess how they do that.
      >And 2-5 projects…
      In my not so humble opinion, it’s normal.
      >keeping them hot all the time
      That’s the problem: for some reasons, they can’t keep up with the incoming issues. Why that happens is probably off topic; I can think of different reasons, but the two I’ve already mentioned seems to be the most reasonable to me.

      Comment by Timur Akhmadeev — October 20, 2009 @ 2:53 pm BST Oct 20,2009 | Reply

      • Timur,
        i am sure you have to do do your work as dba in an intelligent way. Doing the stuff which repeats not manually but with scripting, tools and so on, being preemptive to avoid issues. You have to be well organized – no doubt about this.
        Keep in mind that most databases running with application developed causing database issues. In real world a database does not mean running only one application on it -it could be 10 or more;

        Now to the 2 DBA’s with the ability to maintain 1k databases. With a release cycle of 3 Months and 1 application per database these dba’s would have to manage 10 Software releases per day;
        With all that stuff of backing up the database, preparing and checking the releases – dealing with web-applications to plan the change with about 20 subscribers/change and so on.

        Good luck :-)
        No – we both know that real world is a little bit more complex than any white paper published to improve your performance/workflow

        Comment by Karl Reitschuster — October 20, 2009 @ 4:18 pm BST Oct 20,2009 | Reply

  10. […] more resources bookmarked, but these are a great starting point. Jonathan Lewis’s article Experts is somewhat related and has great advice as […]

    Pingback by Log Buffer #166: a Carnival of the Vanities for DBAs | Pythian Group Blog — October 23, 2009 @ 6:22 pm BST Oct 23,2009 | Reply

  11. I mentioned the “Oracle Closed World” conference at the start of this little piece – I’ve just discovered that it even got a mention in the daily newsletter for Oracle Open World. (That Norgaard person seems to know, and be known, by everyone in the Oracle universe).

    Comment by Jonathan Lewis — October 30, 2009 @ 3:16 pm GMT Oct 30,2009 | Reply

  12. […] Filed under: timemanagement — rnm1978 @ 14:04 A brilliant posting here from Jonathan Lewis on the subject of Experts. He in turn is quoting Chen Shapira: “DBAs are under a lot of […]

    Pingback by Experts « RNM — November 2, 2009 @ 1:04 pm GMT Nov 2,2009 | Reply

  13. From the manager’s point of view, it is not necessary, even not desirable, to have an “all expert” team, in any area. Can you imagine a team that all the DBAs in it are a little “Jonathan-like”? So there is no point to allow time for ordinary DBA to become expert DBA.

    Best Regards,

    Comment by Yi — November 17, 2009 @ 7:47 pm GMT Nov 17,2009 | Reply

    • From the managers point of view, he should not have a “no-expert” team. He should have subject matter experts, and should have support from upper management for advancing career paths, as well as cross-training. The point of allowing ordinary DBA’s to become expert is to create an environment where problems can be solved internally, much faster and cheaper than using Oracle support or third party consultants. An organization overly focused on cost-savings, running too lean, lacks good strategic planning, and will suffer additional replacement and organizational knowledge costs as people burn out or otherwise decide to leave.

      Where it becomes less clear is on DBA tasks that are very time-consuming, require a lot of training, and are relatively rare. It could be that reading trace files and that sort of thing may fall into this category – so hopefully tools become available that help this along. There is a big hole between EM and such tools, and in my opinion Oracle should provide such tools without charge as part of the environment. I’m sure that’s a minority viewpoint :-D Also, the database shouldn’t be a mysterious black box that condescendingly knows more about what you want it to do than you do.

      Comment by joel garry — November 18, 2009 @ 9:16 pm GMT Nov 18,2009 | Reply

  14. No I cannot imagine this too because Jonathan seems to be very unique and special ;-) – but because i know as a smart manager that smart DBA’s svae a lot of time and *money* i will establish a lead DBA in that group ensuring best ROI for me and my company

    Comment by Karl Reitschuster — November 18, 2009 @ 6:53 am GMT Nov 18,2009 | Reply

  15. […] Jonathan Lewis @ 7:34 pm UTC Jun 3,2010 I mentioned some time ago the presentation I did at Open World 2009 and Miracle Open World called “The Beginner’s Guide to becoming an Expert”. Over […]

    Pingback by Beginner/Expert « Oracle Scratchpad — June 3, 2010 @ 7:36 pm BST Jun 3,2010 | Reply

RSS feed for comments on this post. TrackBack URI

Comments and related questions are welcome.

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

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

Facebook photo

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

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Website Powered by

%d bloggers like this: