Oracle Scratchpad

January 1, 2016


Filed under: Oracle,Philosophy — Jonathan Lewis @ 1:02 pm GMT Jan 1,2016

Someone sent me the following email a few years ago. It’s a question that comes up fairly frequently and there’s no good answer to it but, unusually, I made an attempt to produce a response. I’ve decided that I’d start this year by presenting the question and quoting the answer I gave, so here – with no editing – is the question:

I’m disturbing you for some help about becoming an Oracle master expert. Probably you are getting this kind of emails a lot but I would be appreciate if you give a small answer to me at least.

First, shortly I want to introduce my self. I’m an *Oracle Trainer* in Turkey Oracle University for 2 years. Almost for 4 years, I worked as software engineer and meet with Oracle on these days. After a while I decided to develop myself in Oracle database technologies and become trainer as i said. I also give consultancy services about SQL / PLSQL development and especially* SQL / PLSQL tuning*. I really dedicate myself to these subjects. As a trainer I also give DBA workshop lectures but in fact I didnt actually did dba job in a production system. I have the concept and even read everything I found about it but always feel inadequate because didnt worked as a DBA on a production system. So many DBA’s has taken my class and they were really satisfied (they have got all answers for their questions) but I did not. I’m a good trainger (with more that 97 average points in oracle evaluations) but I want to be best.

Even in SQL / PLSQL tuning, I know that I am really good at it but I also aware that there are some levels and I can not pass through the next level. for ex: I can examine execution plan (index structures, access paths etc), find cpu and io consumption using hierarchical profiler and solve the problem but can’t understand yet how to understand how much IO consumed by query and understand slow segments. if you remember, for a few days ago, on OTN you answered a question that I involved about sequence caching and Log file sync event. There, I said that sequence can cause to log file sync event (and as you said that was true) but when someone else write a simple code and couldnt see this event, I couldnt answer to him, you did (you said that it was because optimizing).

that is the level what i want to be. I am really working on this and age on 29. but whatever I do I cant get higher. I need a guideness about that. I even worked free for a while (extra times after my job here). I need your guideness, as I said I can work with you if you want to test and I want to learn more advanced topics while working. In Turkey, I couldn’t find people who can answer my questions so I can not ask for guideness to them.

And my (impromptu and unedited) reply:

Thank you for your email. You are correct, I do get a lot of email like this, and most of it gets a stock response; but yours was one of the most intelligently written so I’ve decided to spend a little time giving you a personal answer.

Even if you were to spend a few years as a DBA, you would probably not become the sort of expert you want to be. Most DBAs end up dealing with databases that, for want of a better word, we could call “boring”; for a database to be interesting and show you the sorts of problems where you have to be able to answer the types of question I regularly answer you probably need to be the DBA for a large banking or telecoms system – preferably one that hasn’t been designed very well – that has to handle a very large volume of data very quickly. On these extreme systems you might find that you keep running into boundary conditions in Oracle that force you to investigate problems in great detail and learn all sorts of strange things very quickly. On most other systems you might run into a strange problem very occasionally and spend several years on the job without once being forced to solve any difficult problems very quickly.

If you want to become an expert, you need to be a consultant so you get to see a lot of problems on lots of different systems in a very short time; but you can’t really become a consultant until you’re an expert. As a substitute, then, you need to take advantage of the problems that people report on the OTN database forum – but that doesn’t mean just answering questions on OTN. Look for the problems which people have described reasonably well that make you think “why would that happen”, then try to build a model of the problem that has been described and look very closely at all the statistics and wait events that change as you modify the model. Creating models, and experimenting with models, is how you learn more.

Take, for example, the business of the sequences and pl/sql – you might run the test as supplied with SQL_trace enabled to see what that showed you, you could look very carefully at the session stats for the test and note the number of redo entries, user commits, and transactions reported; you could look at the statistics of enqueue gets and enqueue releases, ultimately you might dump the redo log file to see what’s going into it. Many of the tiny little details I casually report come from one or two days of intense effort studying an unexpected phenomenon.  (The log file sync one was the result of such a study about 15 years ago.)

 Happy New Year to all my readers.


Update (Feb 2021)

I’ve just rediscovered a draft note I started writing in 2011, which was in response to a similar, but much shorter email question:

Can you tell me how long  does it take to become a very good DBA like you ?

Things have changed a lot in the last 10 years, and I don’t know if I sent the following reply, but here’s what I drafted:

It might take about five years of hard work.

If you want to get to my position your best strategy these days is to get a copy of Oracle Enterprise Edition installed then get on to OTN and see what problems people are having and work out the right answers to the questions – looking closely at what you are doing, constructing models that match the questions, and checking alternative answers and examining why some solutions are not appropriate.

Document what you do and what you discover.

Note – you do not need to supply answers to the questions, but OTN is a good source of information for things that people need to know.

I think the 5 years hard work is probably still in the right ball-park.

The idea of having a private copy of Oracle is still sound. It’s a lot easier to do now when you can download virtual machines with pre-installed everything; and you can even learn a lot of what really matters from a free instance on the Cloud.

OTN has been renamed, of course, and is now the Oracle Developer Community (ODC), but the principle still remains that you need variety, so you need to see questions that other people have asked. The volume and subtlety of questions seems to have dropped significantly in the last couple of years, though, so you may need to pick a topic and then search the forum history for interesting questions (and then experiment without looking at the responses straightaway).

Finally, of course, document, catalogue, and cross reference the models you’ve built and the things you’ve learned.


  1. WOW thats great reply for such kind of email. A good take home lesson for everyone.

    Comment by sendtoshailesh — January 1, 2016 @ 3:19 pm GMT Jan 1,2016 | Reply

  2. An absolutely great reply and the best lesson for all of us. Thanks so much sir :)

    Comment by Aman.... — January 1, 2016 @ 5:27 pm GMT Jan 1,2016 | Reply

  3. Hello,
    The best answer for the start a New Year. Thanks so much “JODA”.

    Comment by garos — January 2, 2016 @ 11:29 pm GMT Jan 2,2016 | Reply

  4. “for want of a better word” .I like it. :=)

    Comment by Ugurcan — January 4, 2016 @ 8:58 pm GMT Jan 4,2016 | Reply

  5. There’s always the approach of standing on the shoulders of giants… While it’s a lot harder to do now than it was back in the 7.x days when I started, one could do worse than to read up on the blog archives of some of the good Oracle bloggers. (Of course you’re prominent in that esteemed list ;D )

    There are some bloggers who have good technical content but they’re not necessarily excellent writers or explainers, but there are enough who are good at both that there’s a lot available to learn from.

    I’ve wondered about this sort of thing for a while. I wish more of the leading-edge Oracle bloggers would do more to put their wisdom into book (or “book”) form.

    As I said, I started out with 7.x and read what books I could get my hands on (this was before Oracle put their manuals online for free), and then read the handful of blogs that existed at the time. Then I just kept up over time with each new release. But for somebody starting from scratch, what’s the best way to get them up to speed?

    I’m hoping there’s a better answer than reading nearly 20 years’ worth of Internet content…

    Comment by Jason Bucata — January 4, 2016 @ 9:45 pm GMT Jan 4,2016 | Reply

    • Jason,

      What the Oracle world needs today is “Practical Oracle 12c”, combined with “Expert one-on-one: Oracle 12c”. I wrote the book that explained for the typical DBA/Developer how the important bits of Oracle worked, and Tom wrote the book that explained how to use them. I like to think that between them they made a big difference (for a little while, perhaps) to the quality of work done.

      Today the core feature set is significantly larger so the task of writing either (especially One-on-One – 1,000 pages for 8i) would take much more time – and the product would be moving on faster and faster in that time. The best I can do in the time available is to write cohesive narratives about little bits of Oracle, like the Execution Plan series I did for Allthings Oracle, and that totals about 32,000 words and still only covers basic competence. Maybe if 20 people like me all picked a piece of the core and wrote at that level of comprehension and information maybe you’d see the book the world needs – but would people read it, and would they want to finance it ? I suspect the answer would be no to both question.

      Comment by Jonathan Lewis — January 6, 2016 @ 2:53 pm GMT Jan 6,2016 | Reply

      • I’ve been mulling this over, and I’ve concluded that this is very bad news for Oracle (the database, and likely the company).

        These technologies are rich and full-featured, but if they’re too hard for fresh college graduates to learn, then where will the next Jonathan Lewis or Tom Kyte come from? If the only path to becoming an Oracle expert is to start out when the technology was simpler and accrete new knowledge with each passing upgrade, eventually there won’t be any experts left. Oracle will become too complex to deploy for most purposes.

        So it seems like it would be in Oracle’s best interest to fund these hypothetical new books themselves–to hire you, Tom Kyte (oops they already did…) and whoever else they can find to write them. If they don’t, they might well not have a database community/ecosystem in 20 or even 10 years.

        I guess the other option is to remove complexity from the Oracle database, to make it easier to understand, and to document. I don’t know how they would remove unnecessary complexity without removing actual features that some installations truly need.

        If that doesn’t happen, we might all be starting over with MySQL, or whatever flavor of NoSQL is in fashion in 2020-2030… Much less powerful, much less featureful, but much easier to get started.

        Comment by Jason Bucata — January 12, 2016 @ 4:15 pm GMT Jan 12,2016 | Reply

        • Jason,

          I think the educational process you’re talking about has been happening for the last couple of years. It’s noticeable that Oracle Corp. has published more manuals along the lines of the “2-day DBA” to make it easier for beginnners to get through the mechanics of the job; and they’ve been hiring up the independent experts to become the “Oracle Evangelists” who can say the things they’ve always been saying but from an authorized platform; and they’ve been creating loads of videos of in-house experts on the Oracle channel. All steps to lead people through the necessary (as opposed to geeky, nerdy, “hobbyist”) technical information as easily as possible.

          But at the same time we can see Oracle moving to being the service company rather than the software supplier, the database is heading towards being a black box in a cloud of over-powered hardware. The world won’t need the Jonathan Lewis and the Tom Kyte characters because the world won’t be running Oracle software, the world will be renting database time; Oracle Corp. (and a few competitors) will breed, bring up, and train their in-house Toms and Jonathans. (Ford’s in his flivver).

          Comment by Jonathan Lewis — January 18, 2016 @ 9:36 am GMT Jan 18,2016

  6. Your book “Oracle Core: Essential Internals for DBAs and Developers” is a must read for all people striving to become genuine experts, because it provides invaluable information about the database internals that are not exposed in any of the Oracle documents.

    Comment by Nenad Noveljic — January 9, 2016 @ 10:41 am GMT Jan 9,2016 | Reply

    • Nenad,

      Thanks for the comment.
      Of course I have to say that if it’s not officially documented then it’s not guaranteed to be correct, and it’s likely to become wrong with time.

      Having said that, I think the type of stuff in Oracle Core is for those who have read the (unwritten) Practical 12c and One-on-one 12c and are either just curious, or really want to push on into the expert space.

      Comment by Jonathan Lewis — January 9, 2016 @ 11:48 am GMT Jan 9,2016 | 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 )

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

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

Website Powered by

%d bloggers like this: