You are on page 1of 9

Data integrity is a DBA's number one responsibility, but do you know what else they

do all day? Bob Watkins outlines some of the basic duties of a DBA.
Editor's note: This article was originally published March 9, 2006.

It's been said that the database administrator (DBA) has three basic tasks. In
decreasing order of importance, they are: protect the data, protect the data, and
protect the data.

Although data integrity is clearly the #1 job (who cares if the database is available
or fast if the data isn't good), the DBA has many other jobs as well. Here's a list of
the actual tasks that a DBA performs. (Some duties are common to all DBAs, and
others are only required in some database environments.)
General tasks

Installation, configuration, upgrade, and migration Although system


administrators are generally responsible for the hardware and operating system on
a given server, installation of the database software is typically up to the DBA. This
job role requires knowledge of the hardware prerequisites for an efficient database
server, and communicating those requirements to the system administrator. The
DBA then installs the database software and selects from various options in the
product to configure it for the purpose it is being deployed. As new releases and
patches are developed, it's the DBA's job to decide which are appropriate and to
install them. If the server is a replacement for an existing one, it's the DBA's job to
get the data from the old server to the new one.
Backup and recovery DBAs are responsible for developing, implementing, and
periodically testing a backup and recovery plan for the databases they manage.
Even in large shops where a separate system administrator performs server
backups, the DBA has final responsibility for making sure that the backups are being
done as scheduled and that they include all the files needed to make database
recovery possible after a failure. When failures do occur, the DBA needs to know
how to use the backups to return the database to operational status as quickly as
possible, without losing any transactions that were committed. There are several
ways the database can fail, and the DBA must have a strategy to recover from each.
From a business standpoint, there is a cost to doing backups, and the DBA makes
management aware of the cost/risk tradeoffs of various backup methods.
Database security Because databases centralize the storage of data, they are
attractive targets for hackers and even curious employees. The DBA must

understand the particular security model that the database product uses and how to
use it effectively to control access to the data. The three basic security tasks are
authentication (setting up user accounts to control logins to the database),
authorization (setting permissions on various parts of the database), and auditing
(tracking who did what with the database). The auditing task is particularly
important currently, as regulatory laws like Sarbanes-Oxley and HIPAA have
reporting requirements that must be met.
Storage and capacity planning The primary purpose of a database is to store and
retrieve data, so planning how much disk storage will be required and monitoring
available disk space are key DBA responsibilities. Watching growth trends are
important so that the DBA can advise management on long-term capacity plans.
Performance monitoring and tuning The DBA is responsible for monitoring the
database server on a regular basis to identify bottlenecks (parts of the system that
are slowing down processing) and remedy them. Tuning a database server is done
on multiple levels. The capacity of the server hardware and the way the operating
system is configured can become limiting factors, as can the database software
configuration. The way the database is physically laid out on the disk drives and the
types of indexing chosen also have an effect. The way queries against the database
are coded can dramatically change how fast results are returned. A DBA needs to
understand which monitoring tools are available at each of these levels and how to
use them to tune the system. Proactive tuning is an attitude of designing
performance into an application from the start, rather than waiting for problems to
occur and fixing them. It requires working closely with developers of applications
that run against the database to make sure that best practices are followed so good
performance will result.
Troubleshooting When things do go wrong with the database server, the DBA
needs to know how to quickly ascertain the problem and to correct it without losing
data or making the situation worse.

Special environments

In addition to these basic responsibilities, some DBAs need special skills because of
how the database is being used.

High availability With the advent of the Internet, many databases that could have
been available only during the day are now required to be available 24 hours a day,
7 days a week. Web sites have changed from static, pre-defined content to
dynamically created content, using a database to create the page layout at the time

a page is requested. If the Web site is available 24x7, so must the underlying
database. Managing a database in this environment requires an understanding of
which types of maintenance operations can be done online (with the database
available to users) and which must be scheduled for a maintenance "window" when
the database may be shut down. It also requires planning for redundant hardware
and/or software components, so that when one fails, others will keep the total
system available to its users. Techniques like online backups, clustering, replication,
and standby databases are all tools the DBA can use to ensure higher availability.
Very Large Databases (VLDBs) As companies have found more and more uses for
database technology, they tend to save more data. Also, the type of data stored in
databases has changed, from structured data in neat rows and columns to
unstructured data such as documents, images, sound files, and even fingerprints.
Both trends have the same result: larger databases. Managing a VLDB requires
special skills of the DBA. The time required to do simple operations like copying a
table can be prohibitive unless done correctly. The DBA needs to understand
techniques like table partitioning (Oracle), federated databases (SQL Server), or
replication (MySQL) to enable a database to scale to large sizes while still being
manageable.
Data Extraction, Transformation, and Loading (ETL) In data warehouse
environments, a key task is efficiently loading the data warehouse or data mart with
large volumes of data extracted from multiple existing production systems. Often
these production systems have different formats than the standardized definitions
in the data warehouse, so data must be transformed (or "cleansed") before loading.
Extracting the data may or may not be the DBA's responsibility in a given company,
but making sure what is extracted is useful is, and the DBA is a key part of the
team.

Oracle DBA Responsibilities

(1) Creates and maintains all databases required for development, testing,
education and production usage.

(2) Performs the capacity planning required to create and maintain the
databases. The DBA works closely with system administration staff because
computers often have applications or tools on them in addition to the Oracle

Databases.

(3) Performs ongoing tuning of the database instances.

(4) Install new versions of the Oracle RDBMS and its tools and any other tools
that access the Oracle database.

(5) Plans and implements backup and recovery of the Oracle database.

(6) Controls migrations of programs, database changes, reference data changes


and menu changes through the development life cycle.

(7) Implements and enforces security for all of the Oracle Databases.

(8) Performs database re-organisations as required to assist performance and


ensure maximum uptime of the database.

(9) Puts standards in place to ensure that all application design and code is
produced with proper integrity, security and performance. The DBA will perform
reviews on the design and code frequently to ensure the site standards are
being adhered to.

(10) Evaluates releases of Oracle and its tools, and third party products to
ensure that the site is running the products that are most appropriate.
Planning is also performed by the DBA, along with the application developers
and System administrators, to ensure that any new product usage or release

upgrade takes place with minimal impact.

(11) Provides technical support to application development teams. This is


usually in the form of a help desk. The DBA is usually the point of contact
for Oracle Corporation.

(12) Enforces and maintains database contraints to ensure integrity of the


database.

(13) Administers all database objects, including tables, clusters, indexes,


views, sequences, packages and procedures.

(14) Assists with impact analysis of any changes made to the database objects.

(15) Troubleshoots with problems regarding the databases, applications and


development tools.

(16) Create new database users as required.

(17) Manage sharing of resources amongst applications.

(18) The DBA has ultimate responsibility for the physical database design.

The DBA should posses the following skills

(1) A good knowledge of the operating system(s)

(2) A good knowledge of physical database design

(3) Ability to perform both Oracle and also operating system performance
monitoring and the necessary adjustments.

(4) Be able to provide a strategic database direction for the organisation.

(5) Excellent knowledge of Oracle backup and recovery scenarios.

(6) Good skills in all Oracle tools.

(7) A good knowledge of Oracle security management.

(8) A good knowledge of how Oracle acquires and manages resources.

(9) Sound knowledge of the applications at your site.

(10) Experience and knowledge in migrating code, database changes, data and
menus through the various stages of the development life cycle.

(11) A good knowledge of the way Oracle enforces data integrity.

(12) A sound knowledge of both database and program code performance tuning.

(13) A DBA should possess a sound understanding of the business.

(14) A DBA should have sound communication skills with management,


development
teams, vendors, systems administrators and other related service providers.

DBA Responsibilities

The job of the DBA seems to be everything that everyone else either doesn't want
to do, or doesn't have the ability to do. DBAs get the enviable task of figuring out all
of the things no one else can figure out. More seriously though, here is a list of
typical DBA responsibilities:

Installation, configuration and upgrading of Oracle server software and related


products
Evaluate Oracle features and Oracle related products
Establish and maintain sound backup and recovery policies and procedures
Take care of the Database design and implementation
Implement and maintain database security (create and maintain users and roles,
assign privileges)
Perform database tuning and performance monitoring
Perform application tuning and performance monitoring
Setup and maintain documentation and standards
Plan growth and changes (capacity planning)
Work as part of a team and provide 7x24 support when required

Perform general technical trouble shooting and give consultation to development


teams
Interface with Oracle Corporation for technical support.
Patch Management and Version Control

DBA Skills Required

Good understanding of the Oracle database, related utilities and tools


A good understanding of the underlying operating system
A good knowledge of the physical database design
Ability to perform both Oracle and operating system performance tuning and
monitoring
Knowledge of ALL Oracle backup and recovery scenarios
A good knowledge of Oracle security management
A good knowledge of how Oracle acquires and manages resources
A good knowledge Oracle data integrity
Sound knowledge of the implemented application systems
Experience in code migration, database change management and data
management through the various stages of the development life cycle
A sound knowledge of both database and system performance tuning
A DBA should have sound communication skills with management, development
teams, vendors and systems administrators
Provide a strategic database direction for the organisation
A DBA should have the ability to handle multiple projects and deadlines
A DBA should possess a sound understanding of the business

DBA Qualifications

May be certified as an Oracle DBA. See Oracle Certification Program.


Preferably a BS in computer science or related engineering field
Lots and lots of EXPERIENCE

You might also like