Beruflich Dokumente
Kultur Dokumente
Documentation is Essential
Let’s start our series on Art of Being a Successful DBA by covering the art of good
documentation. Although the importance of a well thought out and detailed documentation
library is blatanly obvious, creating documentation is the task most often postponed by an
overworked DBA unit.
Documenting processes, procedures and best practices is a task that is often considered to be
boring and mundane. Most DBAs would rather perform virtually any other activity than sit in
front of a screen using a word processor. As a result, creating documentation is often postponed
until the DBA has a little free time to kill. Today’s database administration units are operating
with smaller staffs, tighter budgets and ever-increasing workloads. The end result is that the
documentation is either never created or created and not kept current.
But a robust detailed documentation library creates an environment that is less complex, less
error-prone, reduces the amount of time DBAs spend learning new database environments and
reduces the overall time spent on day-to-day support activities. DBAs are able to spend more
time administering the environment than finding the objects they are trying to support and the
processes and programs used to administer them.
The nature of my business as a remote services provider demands excellent documentation. The
majority of environments we administer weren’t designed by my organization. The only way that
we can ensure high quality and high-speed administration of these environments is to document
them thoroughly. We document everything, from initial connectivity and customer contact sheets
to detailed information on batch job streams and individual program execution. If we need to be
aware of it, we have it documented. We have dozens (and dozens) of internal best practices also
documented. If you are evaluating remote database services providers, you need to ask them for
examples.
Documentation is also the foundation of many of the other disciplines I will be discussing in
future blogs. Let’s continue our discussion with a few helpful hints to get you started.
Documentation is one of the foundations for virtually everything I will be discussing in this
series on The Non-Technical Art of Being a Successful DBA. Enough said.
Creating an Organizational Environment That Fosters Good Documentation
I have been leading database teams off and on for 15 years now. It is my responsibility as
manager to create an environment that fosters the production of robust and high quality
documentation. Let me describe some of the challenges that I have faced in the past and how I
have overcome them.
I will add time for documentation when I estimate the amount of time it will take me to perform
an administrative task during project planning meetings. I don’t settle for “we can do that after
the project is complete” as an answer from an application project manager.
If I get overruled and lose one battle, I still make sure I document my activities after the project’s
critical path is complete. And I don’t let a single setback prevent me from telling everyone in the
next planning meeting that I need so many hours to document what I have done.
If you continuously sell the importance of documentation sooner or later you will begin to wear
your opponent’s down. Although I prefer to call it “being relentless”, I’m sure that many of the
application development managers (and my own managers) viewed it as “being a ….” (insert
your favorite description here).
Every document I have created that provides a list of activities I , or my unit, needs to perform
during a project has documentation included. It helps to integrate it into the fabric and culture of
my organization’s environment.
You must also remind yourself that it makes your job easier and benefits your fellow DBAs. You
know what has really irritated me the most during my career? When a fellow DBA needs to be
out of the office for a time and asks me to “help them out” by performing a complex, application
specific administrative activity and then tries to verbally tell me how to perform the 300 steps it
takes to do it.
Ever try to refresh an ERP application test environment from production when that test
environment doesn’t have enough space to hold all of production’s data? 4,000 steps later and
you begin to second-guess your choice of professions. That was the exact request from one of
my fellow DBAs a few years ago when I worked for a large aluminum producer here in
Pittsburgh. Not only did he get me to do the refresh but I also had to document the process for
him along the way. Some call that being a good coworker; I would view that as having a big
sucker taped to my forehead. Live and learn, I guess.
The moral of this story is: If you don’t want to be the only one that can perform that 900 step
ERP Application production to test refresh, document it! If you don’t want to be called by the
on-call DBA because he doesn’t know exactly where to add a datafile in an emergency situation
(like an application developer forgetting to tell youu that they were loading 10 million additional
rows into that 100 row table), document it! The more you document, the easier your life as a
DBA becomes.
I’ve never had a great memory. It makes documentation easy for me. I also like to write and that
helps. But I will admit that there are times that I would rather perform virtually any other activity
than document.
But it has become easier because I continuously reaffirm to myself the importance of
documentation. The more you reinforce that to yourself, the more second nature (and easier) it
becomes.
Microsoft Word document templates provide many features that streamline the documentation
process and help to improve the quality of the content they store. I try to take advantage of as
many features as I can. I use drop down selection menus, check boxes and radio push buttons to
improve the speed and quality of the documentation process. I also take advantage of the help
pop-up feature that Microsoft Word provides to create a detailed description of what information
is to be entered into that field, check box or radio button.
I created my first template close to 15 years ago. It wasn’t created to document a process, but to
document a change request. I’ll be covering change management in an upcoming series in this
blog. Was the document crude? You bet. But it did the job. It has gone through numerous
iterations and migrations from one Word release to the next. I continue to use it at organizations
that don’t have a formalized and documented change management process. And you can’t
believe how many I have come across that don’t.
There are dozens of software companies that offer content management solutions. Database
vendors have also recognized this as a lucrative market. All of the major database vendors now
offer advanced content management software, each one trying to outdo the other in the number
of bells and whistles that their product’s offer.
Do a quick search on Google for documentation content management software and you will find
out just how many competing products there are.
If you have the funds and your management understands the benefits that a full-blown content
management package provides, by all means begin a content management product analysis. But
if you don’t have the funds, create a shared drive on your network and declare it to be the “DBA
Documentation Portal.” We will be using a combination of Microsoft Sharepoint and Sales Force
as our own DBA Documentation Portal. Sales Force’s interaction with our document libraries
provides us with a highly secured, highly customizable document storage environment. It is our
“one stop shop” for customer information.
What to Document
By all means this is not an all-inclusive list of what can be documented. Consider it as a starter
kit to help you begin your quest for “documentis nirvanas”. Is some of this overkill for your
particular environment? Maybe, but just consider this a general, high-level list.
Naming conventions
Servers (server names, operating system release, hardware vendor)
Databases (vendor, database version, features enabled)
Directories (everything from Oracle software installations that don’t follow Oracle
standards, application code storage to personal script locations). If you, or a fellow DBA
needs to find it, document where it is!
Application type (i.e. data warehouse, online transaction processing, decision support,
third-party application name and functionality it provides).
Business unit requirements and related information for supported databases
Uptime requirements (i.e. 24 X 7, 8 X 5)
Database downtime windows
Critical job processes
Business unit and application developer contact lists
Turnover windows for database changes
Problem notification and escalation procedures
Security Sensitivity. How sensitive is the data?
Process Documentation
Repeatable administrative processes (covered in an upcoming blog)
Backups – Probably the most critical set of documentation you will ever create.
Document how it is backed up, what scripts back it up, where the back up is going to,
tape retentions and backup message directories. If it is involved with a backup,
DOCUMENT IT. Review the document with other units that are involved in the backup
and recovery process. It is your responsibility to ensure that you don’t hear an operator
say “What retention period? Nobody told me we were to have a retention on these tapes.”
when you are in a recovery situation. Remember that Oracle states that human error,
including miscommunications, is responsible for over 90% of failed recoveries. If you
want to reduce recovery failures DOCUMENT THE PROCESS AND REVIEW IT.
Oracle utilities. Document Oracle Import/Export input and output directories and where
the files are that execute the utilities. The same with Oracle’s load utility. Document the
execution scripts and input and output directories. A short note on why you are running it
is also required
Anything else you run on a regular basis to support a specific application
Change Management. I’ll be spending an entire blog, or two, on this
A daily monitoring activity checklist to ensure that no activity is missed. We have daily,
weekly and monthly activities that are to be performed for each of our customers
Assuming on-call responsibilities. You need to make sure you are prepared for the on-call
process. The checklist should include what other DBAs are working on during your on
call rotation, customer outages taking place, connecting to environments that are hard to
connect to, etc..
Complex administrative activities performed regularly
Test and reporting database refreshes
Data reorganizations
Disaster recovery tests. The processes required to perform the recovery AND the criteria
that will be used to evaluate whether it was successful or not
Object Documentation
Contact Information
DBA responsibilities. Which databases and tasks they are responsible for
DBA unavailablity. Allows application developers to plan for a DBA not being available
It is a good practice to distribute this information to all business units supported by the database
administration unit
I hope you enjoyed this blog on documentation and the important role it plays in the Art of Being
a Successful DBA.