Selecting a Proper DBA
Over the last few years I have been interviewed
for, and have interviewed
several dozen candidates for, Oracle-related
positions. The positions ranged from entry-level developer to
senior-level
DBA. Many of the interviews were for DBA-level positions. In this period I
learned that it is very
difficult to hire, or be hired, as a DBA unless you
know exactly who or what you are looking for when you
use the title "DBA."
This section will attempt to clear up the misconceptions about the Oracle DBA
position,
specify the levels within the DBA position, and give some idea of
how to interview and be interviewed for
Oracle DBA positions.
To be a
full-charge DBA, a candidate must be knowledgeable in all of these
areas:
.Design
.Installation
.Configuration
management
.Security
.Monitoring and tuning
.Backup and
recovery
.Troubleshooting
.Vendor interface
Desirable Personality
Traits of a DBA Many times, managers concentrate on technical qualities
and
overlook personality. Virtually every category shown in the preceding
list means a DBA will have to
interface with other personnel, be they
vendors, users, developers, or managers. This means the DBA
should possess
the following personal
traits:
.Self-confidence
.Curiosity
.Tenacity
.Tact
.Self-motivation
.Detail-orientation
Of
all of these, a recent survey showed tenacity to be the most important. Why are
these traits important? I
have had several subordinates who lacked
self-confidence; they constantly asked my opinion on every
decision, major or
minor, and showed no initiative. As a novice DBA under a full-charge DBA, this
may be
all right, but if the person is the full-charge DBA, then who is he or
she going to depend on to help make
decisions if he or she has no
self-confidence? Interview questions, therefore, should include
problems
confronted and how they were solved. The answers should demonstrate
self-confidence. One thing to
remember is that not knowing an answer is not
bad, but not to know where to find an answer is.
The Oracle database system
is constantly changing. Not all of these changes are documented.
Therefore,
curiosity is a requirement to be a good DBA. If DBAs aren‘t
curious, they are passive, and wait for things to
be told them. A curious DBA
will install the latest version and immediately begin searching out
the
differences and improvements and how they can be applied to make his or
her job better (read easier).
Curious DBAs will have multiple reference
publications they purchased with their own money and will have
read them. One
of my interview questions involves what references the candidate has and uses.
Needless
to say, if he or she responds by citing only the documentation set,
and he or she hasn‘t even read that, then
that candidate‘s stock loses value
rapidly. Curiosity will also drive qualified DBAs to understand the
Oracle
data dictionary and any utilities or packages provided by Oracle. Many
of my interview questions deal with
these Oracle internals. Lack of knowledge
about the data dictionary tables and views and the Oracleprovided
utilities
and packages is unforgivable in a full-charge DBA.
Troubleshooting requires a
bulldog-like tenacity, getting a hold and not letting go until the problem is
solved.
Many DBAs will give up on a problem that would have been solved with
the next solution they tried. As a
sysop for the CompuServe ORAUSER forum, I
see questions daily that could have been solved by the
people asking them, if
they were tenacious and curious. I use troubleshooting questions from my
own
experience and from those of others from the DBAPipeline on the
www.revealnet.com and
the
metalink.oracle.com support forums.
A self-starting employee is
important for any position, doubly so for a DBA. A DBA must be able to wade
in
and make things happen, not just wait for things to happen. Self-starting
DBAs obtain or develop their own
scripts to monitor such items as table
sizes, tablespace usage, SGA usage?in short, all of the items that
can get
them in trouble if ignored. Interview questions dealing with level of experience
in PL/SQL, SQL, and
SQL*Plus will show how many scripts the DBA candidate has
developed. Some operations in PL/SQL and
SQL*Plus are generally only used by
DBAs, so questions concerning specific techniques will expose those
who have
written their own scripts and those who haven‘t.
Dealing with developers and
managers, not to mention users, requires tact. A tactless DBA will
make
nothing but enemies for your department. Tact has been called the
ability to tell someone to go to Hades
and have them anxious to make the
trip. Many times, developers, managers, and users will
make
TEAMFLY
Team-Fly?
unreasonable requests; the DBA must have tact to
field and deflect these requests without burning bridges.
How a person acts
during the interview process will show his or her level of tact.
The final
trait, being detail-oriented, is very important. DBAs who are detail-oriented
don‘t have to be told to
cross-check details. It also means they actively
document quirks in the installation "just in case." The
indications of a
detail-oriented person are such things as bringing a Daytimer or scheduler to
the interview,
showing up ahead of time, and asking questions that indicate
the candidate has researched the company
he or she is interviewing with. This
detail orientation will show up in the candidate‘s knowledge of the
Oracle
internals and an understanding of the relationships between the views, tables,
and dynamic
performance tables. Usually, a detail-oriented person will take
the time to research the database on his or
her own.
Knowledge Required of
a DBA A good DBA candidate will know all of the areas discussed in
the
preceding subsection, "Selecting a Proper DBA." DBAs must be familiar
with design so that when new
tables or indexes are proposed by designers they
will know how they should fit into the general schema.
Knowledge of a
modeling tool such as Designer2000 or ERWin (Platinum Technologies) is a
requirement.
DBAs should be able to read an ERD diagram with one eye closed,
and be able to fight their way through a
UML diagram.
The DBA must be
familiar with installation and update on the platform that your system is
running against.
Each platform has its own quirks and idiosyncrasies. A DBA
experienced on Windows NT will have
difficulty performing an installation on
UNIX or DEC VMS. Updates can wreak havoc with production
machines if they are
done incorrectly. DBA candidates should be able to answer specific
questions
concerning installation and upgrade of Oracle systems on your
platform. During the interview process, they
should exhibit the curiosity to
ask about your platform and any modifications to the standard installation
that
exist upon it.
Configuration management involves database sizing,
file placement, and specification of storage media. A
full-charge DBA will be
familiar with system topics such as RAID levels, disk sharing, disk shadowing,
solid
state disks, optical storage, and their application to the Oracle
database environment. On UNIX, they
should also be familiar with the cost and
benefits associated with use of raw devices and when raw device
usage is
mandatory.
Understanding Oracle security options is vital to the DBA job. A
demonstrated knowledge of system and
object-level privileges, roles, and
profiles is required for any DBA. Understanding how the operating
system
security options interface with the Oracle options is also important.
Additional requirements such as use of
Secure Oracle and implementation of
SQLNET are also considerations.
One of the critical aspects of the DBA‘s job
is the monitoring and tuning of the database and any
applications. Monitoring
and tuning requires a detailed understanding of the Oracle data dictionary,
the
tkprof, and plan utilities, as well as an undestanding of how both the
cost-based and rule-based optimizers
function. Detailed understanding of what
can and can‘t be done via indexing, use of hints, and SQL
statement tuning is
vital to a DBA. A DBA candidate should demonstrate knowledge of the
following:
?DBA_ views, ALL_ views, and USER_ views
?SYS-owned "$"
tables
?dynamic performance tables (V$)
All of these are a part of the
Oracle data dictionary. In addition, the DBA candidate should have
knowledge
of the DBMS_* series of packages and how they can be used to
facilitate tuning and script development,
and the UTL*.SQL series of utility
scripts and their usage in tuning and monitoring.
A DBA candidate must
understand all of the backup and recovery options. Use of the import and
export
utilities and of cold and hot backups are all vital topics that a DBA
must understand. Answers to interview
questions concerning types of database
backups used and how the utilities can be implemented must show
level of
knowledge in this area. Additional topics to cover in this phase of the
interview are recovery
scenarios involving partial recovery at the table,
tablespace, and database levels.
Troubleshooting is a binary ability. Usually
people will either have the knack or they won‘t. Troubleshooting
requires an
analytical approach, where the problem is laid out in discrete parts and each is
attacked in a
methodological fashion until the problem is solved.
Troubleshooting also involves being unafraid to admit
when you don‘t know
something but having the tenacity to say, "I can look it up." Interview
questions on
troubleshooting must come from real life and should involve
multiple steps and critical thinking to solve. To
test their troubleshooting
ability, candidates should be asked the most difficult problem they
have
encountered and how they solved it.
A final bit of knowledge required
of a DBA is the ability to communicate clearly, either orally or via
written
materials. Since a major portion of a DBA job will involve
interaction with others on multiple levels within a
company environment, DBAs
must be able to speak, think, and write clearly and concisely. A review
of
their resumes with particular attention to any publishing credits will
help to determine their abilities in this
regard. Presentations at user
groups, local or national, magazine articles or articles in local user
group
publications all show the ability to communicate.
At a professional
level, look for experience writing documentation or procedures. Most candidates
with
advanced degrees such as a master‘s or Ph.D. will have to have written
and communicated to gain that
level of education. Ask them to bring their
dissertations or examples of their writing to the interview.
Candidates
should be expected to bring examples of this type of experience to the
interview. The ability to
speak clearly, to take and give instructions, and
to understand complaints is vital. As technically qualified
as a candidate
may be, if he or she cannot communicate, he or she will not succeed.
What
Level of DBA Do You Need? DBAs range from DBBS level (database baby sitters) to
full-charge
DBAs. What level do you need? If you place a full-charge,
fire-breathing DBA in a job where all he or she
has to do is monitor an older
version of Oracle and ensure backups are taken, the DBA will soon tire of
the
job and leave?not to mention that his or her salary requirements will be
significantly higher than for more
junior people. On the other hand, if you
hire a dyed-in-the-wool, don‘t-want-to-grow DBBS for a position
where
initiative, drive, tenacity, and troubleshooting skills are critical, you are
asking for trouble. Be sure
that you get the right candidate for the job. I
would rather hire a technically inexperienced DBA who showed
all of the
personality traits discussed earlier than a DBBS who could rewrite Oracle?if
someone told him or
her to, that is.
A database baby -sitter usually has a
good-looking resume that is full of projects and jobs involving
Oracle.
However, most of these jobs will have involved third-party
applications that were preinstalled and only
required monitoring. If they
can‘t answer in-depth questions concerning the DBA_ views or the V$
tables,
chances are they are DBBS- rather than DBA-level candidates. Another
key indicator is a lack of
knowledge about the Oracle utilities, such as
import, export, and the tuning tools tkprof and explain plan. A
final
indicator is lack of knowledge concerning the DBA task-related DBMS_*
packages.
If all you need is someone to monitor a third-party database
application via a preconfigured monitoring tool,
and to take action when the
tool tells him or her after a problem has happened, then hire a
DBBS.
Otherwise, you will waste a DBA and no one will be happy if you get an
overqualified person into a lowlevel
job.
If you do need a full-charge
DBA, don‘t hire a DBBS unless he or she shows the curiosity and tenacity
to
use deep-end learning to pull him- or herself up to the level of a full
DBA. Deep-end learning is the analogy
for throwing someone into the deep end
of the pool to teach him or her to swim. Usually, there won‘t be
time to send
such a person to the multitude of classes required to give him or her full
knowledge, so he or
she will have to learn on the fly. Get the person
involved with the Oracle forums and user groups, and
John Wiley &
Sons-Oracle Administration and Management
purchase whatever references he or
she requires. I suggest a full paper copy of the Oracle manuals that is
the
DBA‘s alone. An online reference such as the Oracle Administrator product from
RevealNet is also a
good idea, as it will provide battle-tested solutions to
many problems. The Oracle documentation on CDROM
makes a very convenient and
portable way to carry the entire document set, as long as the DBA has
a
laptop. But, at least to me, nothing replaces a paper manual for ease of use
(besides, you can use it even
during a power outage?by
candlelight!).
Developing Questions for Interviews Interview questions should
be diligently researched, and the
expected answers listed. Where open-ended
questions are used, the interviewer should have the level of
knowledge
required to judge the answers‘ correctness. The questions should be broken into
categories,
and each should be assigned a point value based on either a scale
from, say, 0?, or according to difficulty.
At the conclusion of the
interview, technical ability evaluation should be based on the results from
these
points. Your interview questions should be reviewed by technically
competent personnel for accuracy and
applicability. Some sample interview
questions are included in the downloads for this book at
www.wiley.com/compbooks/ault, in the
books section, under this title, in Acrobat Reader format.
Prequalification
of Candidates In the past, candidates had two sources for Oracle
knowledge:
experience and/or Oracle Corporation training classes. Experience
speaks for itself and can be judged as
to depth and level. Training was only
as good as what the candidate put into it. What I mean by this is that
the
candidates could either gain much from Oracle training, if they took with them
to class the will to learn
and curiosity, or they could take nothing away
from the class, if they practiced passive learning. Since
Oracle training is
not graded, everyone receives masters certification regardless of participation.
Now,
many vendors offer Oracle classes. Indeed, with the plethora of classes
available, it is difficult, if not
impossible, to judge the quality of
training a candidate may have received. One item that will assist
hiring
managers is the Oracle Certification Exams offered by Sylvan Prometric
Learning Systems (the Oracle
Certified Professional, OCP, program). These
exams test candidates‘ knowledge in all areas of the DBA
skill set. The tests
were created by battle-tested DBAs and Oracle Corporation. To pass, a candidate
will, in
almost all cases, have to have had actual experience as an Oracle
DBA and knowledge from multiple
Oracle references. While obtaining an Oracle
certification from these exams is no guarantee that a
candidate is fully
qualified, it can be used as an acid test to separate the wheat from the
chaff.
Always check a candidate‘s references. Speak to previous employers if
possible, and find out about a
candidate‘s past work history. Many people
will interview wonderfully but can‘t function in the job.
Appearance A
candidate who doesn‘t take the time put the right foot forward by presenting a
proper
appearance probably doesn‘t have the wherewithal to perform adequately
in the job. Clean, appropriate
clothing and proper grooming show that the
candidate is willing to make the effort to please the employer.
Candidates
who are sloppy in appearance and manner will bring this to the job and to their
interactions with
other parts of the company.
There is no magic formula
for determining whether a candidate can perform adequately; nor is there
any
way to ensure an employer will always properly evaluate a candidate‘s
abilities. However, if proper
preparation is done by both the employer and
candidate, then successful hiring or acquisition of a proper
position can be
less a matter of chance.