Ordinary Oracle Joe

Just an ordinary DBA's thoughts

Becoming an Oracle DBA part 2

Posted by oakesgr on May 24, 2010

In an earlier post I discussed how I believed a framework or apprenticeship should be created to promote the career path of DBA to talented individuals. In that post I described a four step path from 1st level IT support through to the first DBA role. I’m attempting to cover step 3-4, i.e. an already skilled person working within IT that has had some contact with databases.

Whilst I think this should be a large-scale project probably administered by Oracle itself in conjunction with various partners, it has to start somewhere.

To this end I put a brief email together and forwarded onto management within my company. I’m happy to say that I’ve received some promising initial feedback, in that the overall idea of creating a formalised path towards DBAing within my organisation is a good idea. However, the hard work starts now as I try put together a plan or schedule for what this training should look like, the Oracle courses that should be incorporated into it and also how the shadowing element should work.

I’ll highlight the fact that I have absolutely no experience in this kind of education planning. All I have is my personal experience as a DBA.

I’m expecting the type of person that would take this path would already be working within our IT department as either a developer or in application support and would therefore have some of the skills required. In my mind each trainee should have a 1:1 relationship with a DBA mentor. In an ideal world this would be someone they’ve already worked with in some capacity.

Very briefly this is how I see the training going

  1. OS skills – If you don’t know enough UNIX / Linux you can’t be a DBA. Simple as that. Potentially a course may need to be booked – shell scripting skills would be required.
  2. SQL – Much the same as #1. Hopefully there would be no course requirement as the skills should already be in place.
  3. Spend time working in the dev environment, responding to basic Dev requests for help and escalating to their DBA mentor where appropriate. It’s at this point that the introduction to in-house tools would start.
  4. At this point I would probably suggest going on the Database Administration #1 course. Due to the nature of our estate I would suggest the 10g course as opposed to 11g.
  5. Risk management. We may not realise it but DBAs (particularly production DBAs) are asked to make decisions all day, every day. When asked to perform a task the first question a dba should ask is not ‘How do I do this?‘, it is ‘Should I do this?‘. This mindset may well be completely alien to people with a development background and needs to be covered.
  6. When they return from the course it would be very helpful if the type of tasks they’re allowed to undertake is expanded to include basic performance tuning, user management and an introduction to backup and recovery. The backup and recovery tasks would need to be under the watchful eye of the mentor.
  7. Attend the Database Administration #2 course.
  8. Expand the task list again. Take on more difficult tuning issues, Dataguard configuration / support. Introduction to ASM, particularly in the way that it’s implemented in our organisation.
  9. At this point I would expect the trainee DBA to be able to take part in rotas for weekend work. This would be with the caveat that any work that is beyond them would be handled by someone else.
  10. Golden Gate replication, RAC, Veritas Clusters, virtualisation and on and on.

That list above is obviously simplified to a huge extent. It is not exhaustive, and reaching step 10 does not mean that the training has ended … more like the training introduction has completed.

I may have missed some really important steps. Alternatively I may have it in the wrong order. My thoughts on timeframe for all of the above is probably around the 12-18 months mark, although I have no thoughts on the individual timeframes for each milestone.

What I would really like is for everyone that reads this to highlight what I’ve done wrong, what needs to be included, excluded or reordered. I will take all the suggestions and incorporate them as best as I can into a draft document that I’ll be taking back to management. If I can make a good case this will then go on to HR and has the potential to become a reality.


2 Responses to “Becoming an Oracle DBA part 2”

  1. mwidlake said

    Hi Graham,

    You might be taking on more than you realise, attempting to implement a career development path within a large company 🙂 As an example, at some point someone in HR is highly likely to ask how you are going to ensure you get value for the training you give people rather than them just train up and leave…

    But I think you are attempting a very worthwhile thing. Hats off to you.

    The order in which skills are learnt could be argued about. I think you have a good general plan, though personally, if ASM is a strategic technology in your site, I would move it up the order a little. Living with ASM is more important for a generic DBA than tuning I think {just to put down one of my own areas of expertise} but I think the key is to be a little flexible about the order and what some of the skills are. Part of it will be down to the work that comes up in the team.

    For example, there is nothing in your plan about Oracle Media. But if a project comes up needing Oracle Media, it might be beneficial to allocate it to one of your experienced guys with the trainee as support. The trainee will probably learn a lot about SQL, tablespaces, large objects, database design, all of which feeds into their core skills. In my experience this will also give the trainee something that pays dividends – an area of expertise. I think it helps people who are learning to not always feel they are 2 steps behind everyone else in the team.

    To balance this, I’d suggest you put together a profile for levels within the DBA team – what you would expect of a trainee DBA, a junior, a vanilla {never did get a good term for that one – “capable”?}, an experienced and a principle. That should help you figure out what training and skills acquisition is needed to become Junior and even vanilla. I would expect a DBA above Junior to have one or two areas of strength, where they are a key person in the team for that skill. A Principle would be an authority on one or two areas.

    In my own experience the technical skills have to be balanced with other skills. A junior DBA would not be expected to make decisions on a fix-on-fail situation, anyone above would. You would not expect anyone below Experienced to take on a new Oracle technology and assess how it would potentially fit in with your site’s infrastructure. A key difference between trainee and junior is that a junior is almost training themselves as they have learnt enough to be able to look further and work things out for themselves? And, of course, a DBA tends to differ from a developer in being far more sensitive to consequences of actions. It is part of the role (it is not better or worse, just different).


    • oakesgr said

      Hi Martin,

      thanks for the comment. You definitely win the longest comment award 🙂

      Some good suggestions in there. Particularly the ASM one. We’re in the position where all new dbs are using ASM but probably only 10-20% of our existing estate is using it.

      I’m sure you’re right with me attempting to take on more than I can handle, but I’m seeing my role here purely as the ‘Ideas man’! We actually have profiles already in place for different levels of DBAs within the org. This is more about providing a method for non-dbas to switch over.

      This topic is close to my heart because I regularly see talented individuals in other teams lose heart (or leave) because they don’t see their career aspirations met, or they don’t feel challenged. I know that a few of them have wanted to move over to the DBA world but haven’t been given the opportunity, or they don’t even know how to approach it.

      I’m under no illusions that I will be able to create the entire training schedule. In fact I’m 100% certain there are others here that are better qualified to do so. What I’m really trying to achieve is just to get the ball rolling. If I can get enough interest up above in the management stratosphere it should take on a life of it’s own – at least that’s my hope!


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 )

Google+ photo

You are commenting using your Google+ 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: