On August 16, 2002, Data management expert and author Craig Mullins gave an excellent Webcast on SearchDatabase titled Database Administration 101. (Click the link to hear the complete presentation.) Here are answers to audience questions that Craig didn't have time to address.
How important is DBA certification? Do these skills crossover to the various database vendor platforms?
Funny you should ask. I just published an article on this topic in Database Trends & Applications. You can read it here.
To summarize, though, DBA certification is growing in popularity these days. Some organizations will hire only certified professionals. If you are not certified, you automatically exclude yourself from certain companies and certain jobs. But, it is rare that any company would ever hire a DBA who was certified, but had no on-the-job DBA experience. Experience always trumps certification.
Also, I have a problem with certain aspects of DBA certification tests. These tests sometimes ask arcane syntax questions that are not really good indicators of a DBA's skills. Getting the syntax 100 percent accurate is what manuals and design tools are for. There is no reason to memorize syntax because it tends to change often. It is better to know where to find the syntax, parameters, and answers to your questions when you need them. DBAs should possess a broad over-arching knowledge of DBMS concepts, IT fundamentals, and a good knowledge of the way in which their organization's database systems work. It is better to know off the top of your head that something can (or cannot) be done than to know the exact syntax for how to do it.
How do you feel about DBAs being certified and the need for professional development in soft skills?
As I mentioned in the answer to an earlier question, I just published an article on this topic in Database Trends & Applications. You can read my thoughts on certification there.
As far as soft skills go, it is imperative that DBAs possess many soft skills. Some of these skills include:
- Communication - the DBA must be an expert communicator and should be able to convey complex technical answers in an easy to understand language. Furthermore, the DBA must be adept at informing a large development team of database changes at both the database object and DBMS level.
- Collaboration - the DBA must be able to work as part of a multi-skilled team. This infers team-work, and not the typical dictatorial curmudgeon-like DBA attitude that is common among many old-time DBAs.
- Calm disposition and demeanor - the DBA must be capable of dealing with high-stress situations. Many database problems must be resolved quickly by the DBA team and the ability to calmly work in an environment fraught with tension is imperative.
- Documentation - good writing skills are just as important as good speaking skills for the DBA. Documenting what is done and why can make the difference between quick problem and failure.
I'm a fairly Oracle DBA for a biotech firm, and have no senior DBA to learn from. Does your or any other book you know of fill that void?
Well, it sounds like you've got a big challenge ahead of you. I think you would do well to read my book, "Database Administration: The Complete Guide to Practices & Procedures" for a good overall view of the roles and responsibilities required of a DBA, regardless of platform. Then you should get a couple of Oracle-specific books to round out your Oracle knowledge. Good ones include "Oracle Server Unleashed" (published by SAMS), "Oracle9i DBA Handbook" (published by Osborne McGraw-Hill), and "Oracle9i: The Complete Reference" (also by Osborne McGraw-Hill).
However, keep in mind that reading and education are not the same as on-the-job experience. So, the longer you are an Oracle DBA, the better you'll get at the task! Also, be sure to check into local Oracle user groups and participate in their regular meetings. By interacting with and learning from your peers, you will become a better DBA.
What book(s) would you recommend that detail the routine tasks (ie, daily, weekly, etc.) for an Oracle DBA?
There are many books out there that cover Oracle database administration. Two that I particularly like include:
- Oracle9i DBA Handbook by Kevin Loney, Marlene Theriault
- Oracle DBA Checklists Pocket Reference by Revealnet Staff - nice, small, inexpensive book of DBA checklists
Would you share with us your vision of how the role of a DBA could change as a result of the business and application logic being added to the physical structure in the DB2 DBMS.
This is what I refer to as the Procedural DBA. The DBA role must expand to cover more "program management" details when you start to implement and use stored procedures, user-defined functions, and triggers. All of these objects are hybrids between typical database objects (like tables and indexes) and typical application programs. Triggers, UDFs, and stored procedures are all programs that are managed by and executed through the DBMS.
For my in-depth thoughts and advice on this topic, please refer to an article that I published in February 2000 in DB2 Update titled "DB2 and the Procedural DBA." It can be found on-line at my web site here.
How do you become a jack of all trades when people are recommending to focus on one such as backup and recovery expert, performance tuning expert, data modeler, etc.
Actually, you are describing an alternate approach to a DBA career. You can become a targeted expert in a subset discipline of database administration, such as "Recovery DBA". When you do this, though, you are probably limiting your potential employers to larger companies. Most small to medium companies will not employ a sufficient number of DBAs to allow such specialization. But some of the larger companies do break down DBA duties such that there are specialists for many of the DBA roles and responsibilities.
The best way to become a "jack of all trades," if you are so inclined, is to be curious, adaptable, and willing. What I mean by curious is to be a voracious reader and try to learn about as much technology and software as you can. For example, if you are working on Oracle, don't be content to just learn about Oracle, but read up on DB2 and SQL Server. And don't stop there, learn about web services and XML and Java and message queuing and etc. etc. To be adaptable I mean that you should volunteer to work on projects outside your current scope of knowledge and expertise. By adapting to work outside of your comfort you are sure to learn about things. Finally, by willing to help out whenever and wherever you are asked. This, too, will expand your of expertise.
Also, remember, that you do not have to be an expert in every "trade" for which you are a "jack!" You just need some knowledge of it and the ability to hunt down true experts. It is not easy to become a "jack of all trades" - but it can make you a much better DBA in the long run.
Which do you think is the best DBMS today?
What a loaded question! And, of course, I am going to side-step it somewhat. All of the Big Three DBMS vendors offer excellent technology and great DBMSs that can be used for highly available enterprise development.
If I were choosing a DBMS for a project today, I'd evaluate a lot of different variables and then choose from among DB2, Oracle, and SQL Server based on my needs and how these DBMS products stacked up against those needs. Questions I'd look for answers to include:
- Does the DBMS support the operating systems in use at your organization? The versions of the operating systems that you are currently using and on using? For example, if the DBMS is to support mainframe applications then DB2 is probably the clear cut choice; if you are a Windows-only shop then SQL Server might make sense.
- What measured performance benchmarks are available from the DBMS vendor and other users of the DBMS.
- Does the DBMS support the number of users and database sizes you intend to implement? How are large databases built, supported, maintained -- easily or with a lot of pain? Are there independent users who can confirm the DBMS vendor's scalability claims?
- Are the supporting tools you require available for the DBMS? The tools that may be required include query and analysis tools, data warehousing support tools, database administration tools, backup and recovery tools, performance monitoring tools, capacity tools, database utilities, and support for various programming languages.
- Is there a sufficient supply of skilled database professionals for the DBMS? (DBAs, tech support, programmers, etc.)
- What is the TCO (Total Cost of Ownership) of the DBMS? The DBMS vendors charge wildly varying prices for their technology. TCO should be calculated as a combination of the license cost of the DBMS, the license cost of any required supporting software, the cost of database professionals to program, support and administer the DBMS, and the cost of the computing resources required to operate the DBMS.
- How often does the DBMS vendor release a version?
- Does the DBMS vendor supply reference customers who are current users of their product? And can you find other users on your own (that were not specially selected by the vendor and might give different and perhaps more honest answers).
I have a complete section on this topic in my book, Database Administration: The Complete Guide to Practices & Procedures (More details at are available here.)
Do remote DBA services work or is a full time DBA a requirement?
Well, I think the answer to both of those questions is "yes."
Remote DBA services can work and my opinion is that they should be used either to augment your DBA staff, or for a very small shop with limited DBA requirements. Perhaps using remote DBA services to help manage performance can work, but to use them for all DBA services including analysis, design, change management, performance, backup & recovery, integrity, security, etc. does not seem to me to be a wise course of action.
The primary reason I would not trust all of my DBA needs to a remote DBA service is that data is the lifeblood of the modern organization. Do you really want to turn over the management of that data to an external organization?
I am a DBA who primarily works with SQL Server but would like to move on to work with Oracle. I have academic experience using Oracle, but no production experience. Is this difficult to accomplish with out SQL Server, do you have any recommendations?
I think your best course of action would be to find a company that uses both SQL Server and Oracle, and offer your services as the SQL Server DBA. Use this as an introductory approach to get Oracle experience. Once you are established in the shop as the SQL Server DBA, work your way over to help out on the Oracle databases. Perhaps your foray into Oracle can be as the backup Oracle DBA when the primary Oracle DBA goes on vacation. This way, you gain experience over time and do not have to your SQL Server expertise.
I have been an Oracle DBA for over four years. Where can I find advanced courses?
There are numerous avenues for advanced Oracle training available to you. Some of the best are developed and delivered by the leading Oracle consultants. To name just a few places to check into for advanced Oracle training, try these:
- TUSC - www.tusc.com
- Contemporary Technologies - www.contemptech.com
Also, you should check into the courses and training offered by Oracle University. And, of course, you should go to the IOUG and Oracle World annual conferences to get the latest on Oracle tips, techniques, and technology.
How do you cross train yourself for Sybase and MS SQL Server as an Oracle DBA since now you see more jobs requiring multiple database flavors?
The step is to buy a good book on DBA for Sybase and/or Microsoft SQL Server. This can help you to understand and learn the different ways that these DBMSs operate versus Oracle. A few good ones include:
- Microsoft SQL Server 2000 DBA Survival Guide by Mark Spenik
- Inside Microsoft SQL Server 2000 by Kalen Delaney
- Sybase DBA Companion by Brian Hitchcock
- Sybase SQL Server 11 Unleashed by Ray Rankins
(Note: the Sybase titles are a bit dated, there are not many Sybase books out there on the market.)
The next step would be to take a course in Sybase and/or Microsoft SQL Server. You might also look into purchasing the personal edition version of Sybase and/or SQL Server to learn the DBMS on your own PC. Finally, the best approach is to get actual hands-on experience, so find a company that uses both Oracle and Sybase or SQL Server. You can begin as the Oracle DBA and then use your skills to help out on the other DBMSs, thereby getting valuable hands on experience.
About the Author
Craig Mullins has extensive experience in the field of database management, having worked as an application developer, a DBA, and an instructor with multiple database management systems, including DB2, Oracle and SQL Server. Additionally, Craig worked as a Research Director with the Gartner Group covering the field of database administration. He is the author of the DB2 Developer's Guide and Database Administration: The Complete Guide to Practices and Procedures, and has published over 100 articles on database technology. He is currently Director of Technology at BMC Software.