Deliberate Practice

Recently I did some soul searching about my expertise as a DBA. I am not talking about my knowledge, my talents and my work style. I’m talking about which things I’m really comfortable doing. The commands I know by heart, the issues I ran into so often that I can diagnose with the tiniest clues.

There are definitely things I’m very good at. Diagnosing why RAC crashed or wouldn’t start. Solving a range of different problems with Streams. User managed recoveries. Netapp. BASH. Top. sar. vmstat. Redo log mining. Datapump. ASH and its relatives AWR and ADDM. Using Snapper to work with wait event interface. SQL coding, network diagnosis, Patching.

These are mostly things I do every day or close enough to it that the commands, the techniques, the traps and the limitations are always clear in my mind. But there are things that I do rarely or even never. This are important DBA skills, some are even very basic, which I do not have because they are not very useful in my specific position.

These include RMAN, ASM, Dataguard, AWK, perl, python, PL/SQL, tracing, SQL tuning, upgrade testing, benchmarks, many Linux administration tools, hadoop and those new NoSQL things, MySQL, Amazon’s cloud databases, RAT, partitions, scheduler.

These are all things that I know something about, that I’ve read about – but I can’t say I’m confident with any of these because I simply haven’t played with them all that much. After all, you learn by doing and running into issues – not by reading people say how everything works perfectly when they use it.

In order to widen my skill set a bit, I’m planning to take time this year to deliberately practice some of the technologies I didn’t use much last year. I’m thinking of taking anything from few weeks to few month per technology. I’ll invent and look up “lab exercises” for the specific topic and then proceed to spend the month practicing. Think of it as a “poor DBA’s Oracle University”.

This is the opposite of what I’ve been doing until now which can be described as “read Oracle’s Concepts book”. Reading the concepts book is great, but I’m at a point where I feel that I know tons of theory and need to spend some quality time grappling with its various applications. There seems to be a lot of research that shoes that best way to become an expert is with deliberate practice, so this year – I’ll practice.

Unless I’ll run into something really exciting, I don’t expect to blog about this adventure. After all, if I start posting scores of trivial AWK scripts, I doubt if anyone will keep reading my blog. But I thought that maybe some of my readers will enjoy joining me in my practice. So I opened this mailing list.

If you are also interested in practicing with me, feel free to join the mailing list. I’ll announce a “topic of the month”. This month its AWK, next month probably RMAN, we’ll see how this goes. I’ll send to the list the questions I’m planning to solve. If you join, you can send in your own questions. We’ll send our answers to our own and others questions with a week delay (so everyone will have time to practice on his own first). We’ll discuss and compare our answers. We’ll cheer each other as we improve our skills. I will not try to sell you anything.

This is an obvious ploy. I need people on the list so I’ll be accountable to this practice. Otherwise I’ll probably forget it by next week. Feel free to join just to watch me stumble and remind me that this is what learning looks like and it will be worth it.

Here’s to a year of practice and hopefully better skills that will follow.


11 Comments on “Deliberate Practice”

  1. dombrooks says:

    What an excellent idea. I’m in.

    Been thinking/worrying about the same thing for ages without actually doing anything about it. Maybe group commitment is just the sort of therapy I need.

    I think it could make a good series of blog posts – you could even do it on a new blog if you wanted to keep it separate?

  2. Venzi says:

    I’m in as well!
    My blog fell a little bit asleep, so this will hopefully help me to find my way back to the community! 🙂

  3. Abe says:

    Good idea. I’m in too. 🙂
    see you in mailing list group.


  4. John Hurley says:

    Diagnosing RAC crashes is a skill you have? Yikes … I guess this is another argument along the lines of you reduce system uptime when you implement RAC based systems.

    I still find it hard to believe that people forget to practice rman backups and recoveries periodically each and every year. It is the kind of core competency that all DBA’s just gotta have.

    Good luck on your resolutions!

  5. Very nice idea Chen. I’ve prepared some follow up post on this topic.

  6. prodlife says:

    @John Hurley

    RAC crashes more when you don’t know how to diagnose it 🙂
    Seriously, RAC adds large number of new processes, new logs and strong dependency on network and storage components. It takes some practice to set everything up correctly and make sure it stays up.

    Regarding RMAN: Lots of people think that I must be a failure as a DBA if I don’t know RMAN. However, RMAN is not the only method of backup/recovery. We do have backups, I practice recovery often and I even had some successful saves on production. Backup and recovery is the core competency – RMAN is just a tool.

  7. prodlife says:


    I found it amusing that your post emphasized theory, presumably because you run into many “implement first, think later” DBAs. I emphasized practice, because I have a tendency to take theory too seriously and forget that just reading about a topic doesn’t mean I know it.

    Its all about balance!

  8. Chen,

    This is a good thing to ponder as a DBA. One thing- you should never stop learning and growing as a DBA- case in point. Just when you think you know a lot, the new release, new patchset comes out and BAM! Back to square one. Heck I have stumped many folks at Oracle when it comes to such things. When I performed an upgrade to 12.1.1 for Oracle Applications E-Business Suite, the folks at Oracle support were vague in estimates on how long it takes to apply the 12.1.1 Maintenance pack. Trial and error taught me a great deal. When I switched from working as a core Oracle DBA to an EBS Apps DBA, it was like jumping into the ocean without a paddle. Always stay humble and you will do fine.

  9. Hi Chen,

    Very Nice idea !!!

    I am in ! will try to walk along as much as possible 🙂

    Cheers !

  10. Siyabonga Ndwandwe says:

    what a great thing………..I’m in

  11. […] and after skimming through my Google Reader, I noticed a great post by Chen Shapira — Deliberate Practice. That’s reminded me about another aspect of learning that I didn’t mention — […]

Leave a Reply

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