Write Down Everything: During the course of performing your job as a DBA, you are likely to encounter many challenging tasks and time-consuming problems. Be sure to document the processes you use to resolve problems and overcome challenges. Such documentation can be very valuable should you encounter the same, or a similar, problem in the future. It is better to read your notes than to try to recreate a scenario from memory.
A corollary of this rule of thumb is to “keep everything.” DBA is just the job for you if you are a pack rat. It is a good practice to store away everything you come across during the course of performing your job. This includes, but is not limited to:
- Manuals – old and new; online and printed
- Scripts – to make changes, run reorgs, whatever
- Programs – quick fix programs, sample programs, etc.
- Proceedings and Presentations – from user groups and conferences
- Notes – from design review meetings, specification meetings, team meetings, user groups and conferences, etc.
- Course Books – from any classes you have attended
- White Papers
- Reports – from performance monitors, queries, applications, etc.
- Articles – from magazines or links to websites (but you might consider printing off some of your favorite web links because sometimes links go dead)
- Books – for all of your DBMSs and tools
Automate!: Why should you do it by hand if you can automate DBA processes? Anything you can do probably can be done better by the computer – if it is programmed to do it properly. And once it is automated, you save yourself valuable time – that probably will be spent tackling other problems.
Furthermore, don’t reinvent the wheel. Someone, somewhere, at some time many have already solved the problem you are attempting to solve. Look to the web for sites that allow you to download and share scripts. Or if you have budget money, look to purchase DBA tools to augment your database environment.
Share Your Knowledge: The more you learn, the more you should try to share what you know with others. Local database user groups typically meet quarterly or monthly to discuss aspects of database management systems. Be sure to attend these sessions to learn what your peers are doing. And when you have some good experiences to share, put together a presentation yourself and help out your peers. Sometimes you can learn far more by presenting at these events than by simply attending because the attendees will likely seek you out to discuss their experiences or question your approach.
Another avenue for sharing your knowledge is using one of many online forums. Web portals and web-based publications are constantly seeking out content for their websites. Working to put together a tip or article for these sites helps you arrange your thoughts and document your experiences. And you can garner some exposure with your peers by doing so because most websites list the author of these tips. Sometimes having this type of exposure can help you to land that next coveted job.
Finally, if you have the time, consider publishing your experiences with one of the database-related magazines. Doing so will take the most amount of time, but it can bring the most exposure. And, of course, some of the journals will pay you for your material.
But the best reason of all to share your knowledge is because you want others to share their knowledge and experiences with you. Only if everyone cooperates by sharing what they know will we be able to maintain the community of DBAs who are willing and eager to provide assistance.
Focus Your Efforts: The job of a DBA is complex and spans many diverse technological and functional areas. It is easy for a DBA to get overwhelmed with certain tasks – especially those tasks that are not performed regularly. The best advice I can give you is to remain focused and keep a clear head.
Understand the purpose for each task you are going to perform and focus on performing the steps that will help you to achieve that purpose. Do not be persuaded to broaden the scope of work for individual tasks unless it cannot be avoided. In other words, don’t try to boil the ocean. If non-related goals get grouped together into a task, it can be easy to work long hours with no clear end in sight.
Analyze, simplify, and focus. Only then will tasks become measurable and easier to achieve.
Don’t Panic!: Problems will occur – there is nothing you can do to eliminate every possible problem or error. Part of your job as a DBA is to be able to react to problems with a calm demeanor and analytical disposition. When a database is down and applications are unavailable, your environment will become hectic and frazzled. The best thing you can do when problems occur is to remain calm and go about your job using your knowledge and training.
I used to have a “Don’t Panic” button (that I got from a Hitchhiker’s Guide to the Galaxy PC game) hanging up in my DBA cubicle. It was there to remind me of this rule. When I left that company I bequeathed the button to my friend who was taking over my DBA responsibilities (Hi, Chris!). I wouldn’t be surprised if he still has it up in his office today.
As the DBA, you will be the focus of the company (or at least the business units affected) until the database and applications are brought back online. It can be a harrowing experience to recover a database with your boss and your users hovering behind your computer terminal and looking over your back. Be prepared for such events because eventually they will happen. Panicking can cause manual errors – the last thing you want to have happen when you are trying to recover from an error.
The better you perform up-front planning and the better your procedures, the faster you will be able to resolve problems. And if you are sure of your procedures, you will remain much calmer.