How to be a Good DBA - Strategy and Tactics

  • Comments posted to this topic are about the content posted at

  • Excellent article!   One way I've found to measure my own progress as a DBA is to read job descriptions of Senior-level DBA positions and find out what they're requirements are.

    I'm often suprised about certain areas I've never considered before.

    Some job descriptions emphasize more of a development role, some more of an operations/administrator role --- so you have to kind of know what you're own goal is as well.   But it's a great place to start.



  • I think that an additional trait of a good DBA is to know as much about the applications that use the databases as possible.  In my estimatation this is huge, to be able to make proper decisions on how to resolve problems, what the proper backup schedule is, even how a particular table is used, etc...

    A lot of organizations shelter DBAs from the programmers and make them inaccessible, even put them in a different room or building or farm out the work to a services group that know nothing about what they are supporting.  I think this is a bad idea.  Unless you have so many of them that you have them organized into DEV dba and PROD dba groups where it is the DEV dba's responsibility to interface more with the applications and be the liason with the PROD dba.

    I have found it invaluable having been a programmer and rising up thru the ranks to be a DBA.  Just my two cents. 


  • I think it's a great article, I'm trying to get into databse management/administration and I found this article to be very useful. Keep it up and keep them coming...

  • Great article!

    I agree with the previous poster - understanding the context becomes more and more important as one progresses. There are so many ways to approach and solve a problem, and all of them can be valid and appropriate. It comes down to lots of trade-offs in the design and coding. Without context, it's hard to determine where the emphasis should be.

    Also, in my experience, a DBA is most valuable because of the rationale (:wow approach to storing, organizing, retrieving and protecting a business's data. So, as time goes by, I have found myself being included in many more business meetings just to provide input and advice... definitely changing the nature of the job to more "soft" skills.

    Thanks for a good article that helps to illuminate the path that some of us have "accidentally" travelled.

    Ron C.

  • Very good and thanks for opening up about lessons learned! 

  • I have been a Senior DBA for many years and the one thing I have learned the hard way is "CYA" at all times...I have seen too many talented and hard-working DBA's get fired because they did not pay enough attention to this. The DBA is a high-paying enviable position that many in companies today both managers and co-workers sometimes try to you knock out of the position. If  a lower-payed developer has sights on becoming a DBA themselves, or a manager trying to make points with the CEO, will often attempt to make you look bad by any means they can find, particularly if you are caught in the middle of mistake... They will throw you under the bus in a heartbeat if they can mileage out of it. It may not be right, but that is just the way it is.. IT departments tend to be very "political" work places and your elaborate and extensive skill set doesn't always help you in these situations. I have often found in this job that 1000 atta-boys don't get nearly enough attention as 1 "aw crap!" Always have an out prepared and back it up with e-mail.. Don't ever rely on verbal commands from anyone in this job. When you are sitting in front of CEO explaining why you did something on someone else orders, always be able to back it up with e-mail. Otherwise, the other party that told you to do it in the first place always tends to get amnesia at these times, thus leaving you out on a shaky branch. E-Mail quickly resolves someone's memory problem much later and can often mean the difference of whether you are around the next week too. I have seen it happen too many times. That is why I am still around after 20 years of doing this.  Travis.

    Senior Database Administrator

  • Great article. I'd like to brush up on some of the areas mentioned in the article. Any suggestions for books that folks have found useful?

  • Jeffrey,

    Good stuff.  I liked the article well enough that I blogged about it here.  My $0.02 added in the post.

    Thanks for writing this!

    Jon Baker


  • I would add: know thy operating system. Know file and share level security (share level for replication and log shipping, for instance), know how services work, understand user rights and what SQL Server needs to run in various configs, understand how SQL Server uses the OS, and how the OS interacts with it, especially in situations like with clustering.

    K. Brian Kelley

  • Even I wanted to be a Good DBA. But I never understood, from where to start for this. I was reading so many books, articles over internet and finally I was in a confusion state. But this article helped me a lot regarding. I will definitely follow these steps. Wonderful effort by the author. Thanks sir

  • Great article!

    One thing I spend a lot of time doing is connectivity; ADO, OLE DB, ODBC, connection strings etc. Being an issue with scripting and programming, is might be a intermediate task - to use your steps. There are several performance and security issues to consider in connectivity, and often the programmers and the administrator turn to the DBA's for help.

    The three steps I think is a good guidance.

    /Niels Grove-Rasmussen

  • Great article. I would just add a few more!

    A Junior DBA needs to have the ability to follow written instruction while the Intermediate DBA (as well as the Senior DBA) should be able to produce clear documentation and instruction. Many DBAs just "forget" to write down what they did/do (mostly because they haven't allocated their time properly, and some from the mistaken fear of being "replaced" if they reveal all). However, such timely documentation will not only save them time/hassle when it comes to repeating/recreating the same steps when the situation occurs again, it will help them move up by providing a way of clearly delegating work to a junior.

    The ability to intelligently framing questions and providing the right details and environments with the questions seems to be sorely lacking nowadays, especially among the younger folks. Whether you are interactiving with MS Support or a great forum like this, you need to able to do this well in order for someone to help you with your problem.

    Another personal trait that is necessary for all levels is curiosity combined with caution. Just getting to the bottom of a problem may/will not only reveal the solution, it will also give us an opportunity to learn something more. (Cautionary note - don't try it in Production unless you have tested it elswhere !

    Finally, one needs to be teachable. This is again applicable at all levels, but just for the juniors. After 22+ years in IT, I still learn every day and am open to saying that "I don't know" followed by either "can you educate me on this" or "but I can certainly look it up".

    Happy new year to all,

    John Kanagaraj

    Co-Author: Oracle Database 10g Insider Solutions

  • Great article,

    Since my current post is both developer and DBA, the jobs in my company are not quite rigid. I had to combine both things from time to time just to "make this report in reasonable time" or "we need to backup/restore/shoot our own leg" but with the ease of a mouse-click.

    And sending an E-mail NATO wide announcing "I added a 'shoot thy leg' feature due to ... request" is one of the most important things. Unfortunately because usualy he's not the only one who likes to shoot his own leg.

  • Excellent Article.

    I totaly agree with your article. I am happy that you covered the importance of scripting languages and the importance of understanding the SQL-DMO model. One of the future challenges that I see future DBA's having to tackle is the CLR runtime support in SQL Server 2005 and Oracle 10g. It is important for a DBA to have at least a basic programming background. I made the transition from Programmer to DBA a long time ago. I have still kept up with my programming skills and incorporated them into my DBA skills. It has saved me a lot of time and it also gives me a better understanding of how applications touch the database.

    Another Important topic you covered is Database Documentation and Data Model change control. This is a must.

Viewing 15 posts - 1 through 15 (of 19 total)

You must be logged in to reply to this topic. Login to reply