0% found this document useful (0 votes)
165 views17 pages

What Is A DBA

A DBA is responsible for ensuring the effective use and deployment of an organization's databases. They design and maintain the enterprise's databases, placing them at the center of the business. DBAs are well-paid technical experts who are responsible for many aspects of database administration including installation, maintenance, performance, security, backups and assisting other teams. They require strong technical skills as well as good communication skills to resolve issues and liaise with various teams.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
165 views17 pages

What Is A DBA

A DBA is responsible for ensuring the effective use and deployment of an organization's databases. They design and maintain the enterprise's databases, placing them at the center of the business. DBAs are well-paid technical experts who are responsible for many aspects of database administration including installation, maintenance, performance, security, backups and assisting other teams. They require strong technical skills as well as good communication skills to resolve issues and liaise with various teams.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

What Is a DBA?

Every organization using a database management system (DBMS) to manage


data requires a database administration group to ensure the effective use and
deployment of the companys databases.
The DBA: Revered or Reviled?
The DBA, often respected as a database guru, is just as frequently criticized
as a curmudgeon with vast technical knowledge but limited people skills.
The DBMS spans the enterprise, effectively placing the DBA on call for the applications of the entire
organization.
The truth is, many database problems require periods of quiet reflection and analysis for the DBA to
resolve.
However, due to the vast knowledge most DBAs possess (the guru, again), their quiet time is usually
less than quiet; constant interruptions to answer questions and solve problems is a daily fact of life.
DBAs, more than most, need to acquire exceptional communication skills.
Data is the lifeblood of computerized applications. Application programs are developed to read and write
data, analyze data,move data, perform calculations using data, modify data, and so on.
Without data, there would be nothing for the programs to do.

A DBA is the information technician responsible for ensuring the ongoing operational functionality and
efficiency of an organizations databases and the applications that access those databases.

Why Learn Database Administration?
Data is at the center of todays applications; todays organizations simply cannot operate without data. In
many ways, business today is data.
Databases are created to store and organize this data.

A Unique Vantage Point
The DBA is responsible for designing and maintaining an enterprises databases, placing the DBA
squarely at the center of the business.
The DBA can explore groundbreaking technologies as they are adopted by the organization.

The DBA is often working alone in these endeavors; he does not have access to additional expertise to
assist when troubles arise. Therefore, a good DBA needs to enjoy challenges and be a good problem
solver.

DBA Salaries
Fortunately, DBAs are well paid. DICE.com, a career planning and research Website, provides valuable
statistics on DBA compensation. For example, database administration is one of the top ten contract jobs
when ranked by salary, as well as one of the top ten jobs for full-time employment. The mean
compensation for DBA consultants is $81 per hour.

Database Technology
Oracle is not a database; it is a database management system. You can use Oracle to create a database,
but Oracle, in and of itself, is not a database.
So, what is a database? A database is an organized store of data wherein the data is accessible by named
data elements (for example, fields, records, and files). A DBMS is software that enables end users or
application programmers to share and manage data. It provides a systematic method of creating,
updating, retrieving, and storing information in a database. A DBMS is also generally responsible for
data integrity, data security, data access control and optimization, automated rollback, restart, and
recovery.
You might think of a database as a file folder, and a DBMS as the file cabinet holding the labeled
folders. You implement and access database instances using the capabilities of the DBMS.

The Management Discipline of Database
Administration
Database administration is rarely approached as a management discipline. The term discipline implies a
plan, and implementation according to that plan. When database administration is treated as a
management discipline, the treatment of data within your organization will improve. It is the difference
between being reactive and proactive. All too frequently, the DBA group is overwhelmed by requests
and problems.

The reactive DBA functions more like a firefighter than an administrator; he attempts to resolve
problems only after problems occur. The reactive DBA is focused on resolving the biggest problem
confronting him. In contrast, the proactive DBA implements practices and procedures to
avoid problems before they occur. A proactive database administrator develops
and implements a strategic blueprint for deploying databases within the organization.
This plan should address all phases of the application development life Cycle.

The DBA is also responsible for migrating the new database from the test environment to the production
environment.
While the application is operational, the DBA performs a host of duties including assuring availability,
performance monitoring, tuning, backup and recovery,and authorization management. However, no
application or database remains static for long. Because business needs change over time, the IT systems
that support the business will also change. When maintenance is requested, the DBA becomes engaged
in the entire process once again, from requirements gathering to implementation.
Finally, when the application reaches the end of its useful life, the DBA must help to determine the final
status of the data used by the application.

Privacy Policies and Data
Your company may decide to retire applications and data due to legal regulations, business
conditions, or mergers.
The DBA is responsible for managing the overall database environment. Often this includes installing
the DBMS and setting up the IT infrastructure to allow applications to access databases. These tasks
need to be completed before any application programs can be implemented. Furthermore, ad hoc
database access is a requirement for many organizations.
Additionally, the DBA is in charge of setting up an ad hoc query environment that includes evaluating
and implementing query and reporting tools, establishing policies and procedures to ensure efficient ad
hoc queries, and monitoring and tuning ad hoc SQL.
The DBA is in demand for his knowledge of data and the way in which data is managed by modern
applications.
A Day in the Life of a DBA
The DBA maintains production and test environments, monitors active application development
projects, attends strategy and design meetings, selects and evaluates new products, and connects legacy
systems to the Web.
DBAs are expected to know everything about everything.
From technical and business jargon to the latest management and technology fads, the DBA is expected
to be in the know. And do not expect any private time: A DBA must be prepared for interruptions at
any time to answer any type of questionand not just about databases, either.
When application problems occur, the database environment is frequently the first thing blamed. The
database is guilty until proven innocent.
The DBA is forced to investigate problems where the underlying assumption is that the DBMS or
perhaps the DBA is at fault, when the most common cause of relational performance problems is
inefficiently coded applications.
Oftentimes the DBA is forced to prove that the database is not the source of the problem. The DBA must
know enough about all aspects of IT to track down errors and exonerate the DBMS and database
structures he has designed.
Evaluating a DBA Job Offer
Different organizations place different value on the DBA job. It is imperative to your career
development that you scout for progressive organizations that understand the complexity and ongoing
learning requirements for the position.

Database, Data, and System Administration
Some organizations define separate roles for the business aspects and the technical aspects of data.
Not every organization has a data administration function. Indeed, many organizations combine data
administration into the database administration role.
Sometimes organizations also split up the technical aspects of data management, with the DBA
responsible for using the DBMS and a system administrator or systems programmer responsible for
installing and upgrading the DBMS.

Data Administration
Data administration separates the business aspects of data resource management from the technology
used to manage data; it is more closely aligned with the actual business users of data. The data
administrator (DA) is responsible for understanding the business lexicon and translating it into a logical
data model.
Difference between a DA and a DBA is the focus of effort.
The DA is responsible for the following tasks:
Identifying and cataloging the data required by business users
Producing conceptual and logical data models to accurately depict the
relationship among data elements for business processes
Creating an enterprise data model that incorporates all of the data used by all of the organizations
business processes
Setting data policies for the organization
Identifying data owners and stewards
Setting standards for control and usage of data In short, the DA can be thought of as the Chief Data
Officer of the corporation.
Technicians do a good job of ensuring availability, performance,and recoverability, but are not usually
capable of ensuring data quality and setting corporate policies.

This is another key differentiation between a DA and a DBA. The DA focuses on the repository,
whereas the DBA focuses on the physical databases and DBMS.
Metadata is often described as data about data; more accurately, metadata is the description of the data
and data interfaces required by the business.
Metadata provides the context by which data can be understood and therefore become information. In
many organizations,metadata is not methodically captured and cataloged; instead, it exists mostly in the
minds of the business users. Where it has been captured in systems, it is spread throughout multiple
programs in file definitions, documentation in various states of accuracy, or in long lost program
specifications. Some of it, of course, is in the system catalog of the DBMS. A comprehensive metadata
strategy enables an organization to understand
the information assets under its control and to measure the value of those assets.




Many DBAs dismiss data administration as mere data modeling, required only because someone needs
to talk to the end users to get the database requirements. However, a true DA function is much more than
mere data modeling.

However, when the DA role is undefined in an organization, the DBA must assume the mantle of data
planner and modeler. Unfortunately, the DBA will usually not be able to assume all of the functions and
responsibility of a DA as summarized in this section for a number of reasons:
The DBA has many other technical duties to perform that will consume most of his time.
The manager of the DBA group typically does not have an executive position enabling him to dictate
policy.
The DBA generally does not have the skills to communicate effectively with business users and build
consensus.

Database Administration
The first duty of the DBA is to understand the data models built by the DA and to communicate the
model to the application developers and other appropriate technicians. The logical data model is the map
the DBA will use to create physical databases.
The DBA should not rely on the DA for the final physical model any more than a DA should rely on a
DBA for the conceptual and logical data models.
The DBA is the conduit for communication between the DA team and the technicians and application
programming staff. Of course, the bulk of the DBAs job is ongoing support of the databases created
from the physical design and management of the applications that access those databases.

System Administration
Some organizations, usually the larger ones, also have a system administrator
(SA) or systems programming role that impacts DBMS implementation and operations. The SA is
responsible for the installation and setup of the DBMS.

The SA typically has no responsibility for database design and support. Instead, the DBA is responsible
for the databases and the SA is responsible for DBMS installation, modification, and support.
As with data administration, there must be cross-training of skills between the SA and DBA. The SA
will never understand the physical database like the DBA, but the DBA is unlikely to understand the
installation and in-depth technical relationships of system software like the SA. Each job function will
be more effective with some knowledge of the other.
DBA Tasks
Ensuring that an organizations data and databases are useful, usable, available, and correct requires the
DBA to perform a variety of tasks in a variety of areas. These areas include database design,
performance monitoring and tuning, database availability, security, backup and recovery, data integrity,
release migrationreally, anything that involves the companys databases. Lets examine each of these
topics.
Database Design
The DBA must understand both relational theory and the specific implementation of the relational
database management system (RDBMS) hes using to create the database. Database design requires a
sound understanding of conceptual and logical data modeling techniques. The ability to create and
interpret entity-relationship diagrams is essential to designing a relational database.

Database design is a significant skill for the DBA to possess, the job of the DBA is often
disproportionately associated with database design. Although designing optimal databases is important,
it is a relatively small portion of the DBAs job. A DBA will most likely spend more time administering
and tuning databases than in designing and building databases.

By no means, though, should you interpret this to mean that database design is not important. A poor
relational design can result in poor performance, a database that does not meet the needs of the
organization, and potentially inaccurate data.

Performance Monitoring and Tuning
Users demand information from the database, and the DBMS supplies this demand for information. The
rate at which the DBMS supplies the information can be termed database performance.
Five factors influence database performance: workload, throughput, resources, optimization, and
contention.
The workload that is requested of the DBMS defines the demand. It is a combination of online
transactions, batch jobs, ad hoc queries, data warehousing, analytical queries, and commands directed
through the system at any given time.
The overall workload has a major impact on database performance.

Throughput defines the overall capability of the computer hardware and software to process data. It is a
composite of I/O speed, CPU speed, parallel capabilities of the machine, and the efficiency of the
operating system and system software. The hardware and software tools at the disposal of the system are
known as the resources of the system. Examples include the database kernel, disk space, cache
controllers, and microcode.

Optimization refers to the analysis of database requests with query cost formulas to generate efficient
access paths to data. All types of systems can be optimized, but relational queries are unique in that
optimization is primarily accomplished internal to the DBMS. However, many other factors need to be
optimized (SQL formulation, database parameters, programming efficiently, and so on) to enable the
database optimizer to create the most efficient access paths.
When the demand (workload) for a particular resource is high, contention can result.
Therefore, database performance can be defined as the optimization of resource usage to increase
throughput and minimize contention, enabling the largest possible workload to be processed.
Applications regularly communicate with other applications, systems, and components of the IT
infrastructure. An effective performance monitoring and tuning strategy requires not just DBMS
expertise but knowledge outside the scope of database administration. Many performance management
tasks must be shared between the DBA and other technicians.

Availability
The availability of data and databases is often closely aligned with performance, but it is actually a
separate concern. Of course, if the DBMS is offline, performance will be nonexistent because no data
can be accessed. However, ensuring database availability is a multifaceted process.

The first component of availability is keeping the DBMS up and running. Vigilant monitoring and
automated alerts can be used to warn of DBMS outages and the need for corrective action.
Individual databases also must be maintained so that data is available whenever applications and clients
require it.
The faster the DBA can perform administrative tasks that require databases to be offline, the more
available the data becomes. Increasingly, the DBMS vendors and ISVs are providing nondisruptive
utilities that can be performed on databases while applications read and write from the databases.
Additionally, database clustering technologies provide failover techniques that help to reduce downtime.
Nevertheless, such technology usually requires more skill and up-front planning to implement.
The DBA must understand all of these aspects of availability and ensure that each application is
receiving the correct level of availability for its needs.




Database Security and Authorization

Once the database is designed and implemented, programmers and users will need to access and modify
the data. However, to prevent security breaches and improper data modification, only authorized
programmers and users should have access. It is the responsibility of the DBA to ensure that data is
available only to authorized users.

Security must be administered for many actions required by the database environment:

Creating database objects, including databases, tables, views, and program structures
Altering the structure of database objects
Accessing the system catalog
Reading and modifying data in tables
Creating and accessing user-defined functions and data types
Running stored procedures
Starting and stopping databases and associated database objects
Setting and modifying DBMS parameters and specifications
Running database utilities such as LOAD, RECOVER, and REORG Database security can be enforced
in other ways as well.

Backup and Recovery
The DBA must be prepared to recover data in the event of a problem. Problem can mean anything
from a system glitch or program error to a natural disaster that shuts down an organization. The majority
of recoveries today occur as a result of application software error and human error.
The DBA must be prepared to recover data to a usable point, no matter what the cause, and to do so as
quickly as possible. The first type of data recovery that usually comes to mind is a recover to current,
usually in the face of a major shutdown. The end result of the recovery is that the database is brought
back to its current state at the time of the failure.

Transaction recovery is a third type of recovery; it addresses the shortcomings of the traditional types of
recovery: downtime and loss of good data. Thus, transaction recovery is an application recovery
whereby the effects of specific transactions during a specified timeframe are removed from the database.
Therefore, transaction recovery is sometimes referred to as application recovery.
To be prepared for any type of recovery, the DBA needs to develop a backup strategy to ensure that data
is not lost in the event of an error in software, hardware, or a manual process.

Data Integrity
A database must be designed to store the correct data in the correct way without that data becoming
damaged or corrupted. To ensure this process, the DBA implements integrity rules using features of the
DBMS. Three aspects of integrity are relevant to our discussion of databases: physical, semantic, and
internal. Physical issues can be handled using DBMS features such as domains and data types.
DBAs can also utilize constraints to further delineate the type of data that can be stored in database
columns. Most relational DBMS products provide the following types of constraints:
Referential constraints are used to specify the columns that define any relationships between tables.
Unique constraints ensure that the values for a column or a set of columns occur only once in a table.
Check constraints are used to place more complex integrity rules on a column or set of columns in a
table.
Semantic integrity is more difficult to control and less easily defined. An example of semantic integrity
is the quality of the data in the database. Simply storing any data that meets the physical integrity
definitions specified to the database is not enough.
DBA should document this fact and work to ensure that procedures are in place to keep redundant data
synchronized and accurate. The final aspect of integrity comprises internal DBMS issues.

In most cases, the DBMS will do a good job of maintaining these structures, but the DBA needs to be
aware of their existence and how to cope when the DBMS fails. Internal DBMS integrity is essential in
the following areas:
Index consistency. An index is really nothing but an ordered list of pointers to data in database tables.
If for some reason the index gets out of sync with the data, indexed access can fail to return the proper
data. The DBA has tools at his disposal to check for and remedy these types of errors.
Pointer consistency. Sometimes large multimedia objects are not stored in the same physical files as
other data. Therefore, the DBMS requires pointer structures to keep the multimedia data synchronized to
the base table data. Once again, these pointers may get out of sync if proper administration procedures
are not followed.
Backup consistency. Some DBMS products occasionally take improper backup copies that effectively
cannot be used for recovery. It is essential to identify these scenarios and take corrective actions.
Overall, ensuring integrity is an essential DBA skill.

DBMS Release Migration
The DBA is also responsible for managing the migration from release to release of the DBMS
Whatever approach is taken must conform to the needs of the organization, while reducing outages and
minimizing the need to change applications.
Jack-of-All-Trades
Databases are at the center of modern applications. If the DBMS fails, applications fail, and if
applications fail, business can come to a halt. And if business comes to a halt often enough, the entire
business can fail.
The IT infrastructure of today comprises many tools:
Programming languages and environments such as COBOL, Microsoft Visual Studio, C/C++, and Java
Database and process design tools such as ERwin and Rational Rose
Transaction processing systems such as CICS and Tuxedo
Message queueing software such as MQSeries and MSMQ
Networking software and protocols such as SNA,VTAM,TCP/IP, and Novell
Networking hardware such as bridges, routers, hubs, and cabling
Multiple operating systems such as Windows, OS/390 and MVS, UNIX, Linux, and perhaps others
Data storage hardware and software such as enterprise storage servers, Microsoft SMS, IBM DFHSM,
storage area networks (SANs), and NAS
Operating system security packages such as RACF,ACF2, and Kerberos
Other types of storage hardware such as tape machines, silos, and solid state (memory-based) storage
Non-DBMS data set and file storage techniques such as VSAM and B-tree
Database administration tools
Systems management tools and frameworks such as BMC PATROL and CA Unicenter
Operational control software such as batch scheduling software and job-entry subsystems
Software distribution solutions for implementing new versions of system software across the network
Internet and Web-enabled databases and applications
Client/server development techniques such as multitier, fat server/thin client, thin server/fat client
Object-oriented and component-based development technologies and techniques such as CORBA,
COM, OLE DB,ADO, and EJB
PDAs such as Palm Pilots and PocketPCs

Types of DBAs
There are DBAs who focus on logical design and DBAs who focus on physical design; DBAs who
specialize in building systems and DBAs who specialize in maintaining and tuning systems; specialty
DBAs and general-purpose DBAs.
Still other companies simply hire DBAs to perform all of the tasks required to design, create, document,
tune, and maintain the organizations data, databases, and database management systems. Lets look at
some of the more common types of DBA.

System DBA
A system DBA focuses on technical rather than business issues, primarily in the system administration
area. Typical tasks center on the physical installation and performance of the DBMS software and can
include the following:
Installing new DBMS versions and applying maintenance fixes supplied by the DBMS vendor
Setting and tuning system parameters
Tuning the operating system, network, and transaction processors to work with the DBMS
Ensuring appropriate storage for the DBMS
Enabling the DBMS to work with storage devices and storage management software
Interfacing with any other technologies required by database applications
Installing third-party DBA tools

Database Architect
Some organizations create a separate position, database architect, for design and implementation of new
databases.
A database architect is more likely than a general-purpose DBA to have data administration and
modeling expertise.
Typical tasks performed by the database architect include:
Creating a logical data model (if no DA or data modeler position exists)
Translating logical data models into physical database designs
Implementing efficient databases, including specifying physical characteristics, designing efficient
indexes, and mapping database objects to physical storage devices
Analyzing data access and modification requirements to ensure efficient SQL and optimal database
design
Creating backup and recovery strategies for new databases. Most organizations do not staff a separate
database architect position, instead requiring DBAs to work on both new and established database
projects.

Database Analyst
Sometimes a database analyst performs a role similar to that of the database architect. Sometimes the
data administrator is referred to as the database analyst or perhaps as the data analyst. And sometimes a
database analyst is just another term used by some companies instead of database administrator.

Data Modeler
A data modeler is usually responsible for a subset of the DAs responsibilities.
Data modeling tasks include the following:
Collecting data requirements for development projects
Analyzing the data requirements
Designing project-based conceptual and logical data models
Creating and updating a corporate data model
Ensuring that the DBAs have a sound understanding of the data models

Application DBA
In direct contrast to the system DBA is the application DBA. The application DBA focuses on database
design and the ongoing support and administration of databases for a specific application or applications.
The application DBA must also be capable of performing database change management, performance
tuning, and most of the other roles of the DBA. The difference is the focus of the application DBAit is
on a specific subset of applications rather than the overall DBMS implementation and database
environment.




The arguments in favor of application DBAs include the following:
An application DBA can better focus on an individual application, which can result in better service to
the developers of that application.
The application DBA is more often viewed as an integral component of the development team and
therefore is better informed about new development plans and changes.
Because the application DBA works consistently on a specific set of applications, he can acquire a
better overall understanding of how each application works, enabling him to better support the needs of
the application developers.
With a more comprehensive understanding of the application, an application DBA will have a better
understanding of how the application impacts the overall business. This knowledge will likely result in
the execution of DBA tasks to better support the organization.

In general, when staffing application DBAs, be sure to also staff a centralized DBA group. The
application DBAs should have primary responsibility for specific applications, but should also be
viewed as part of the centralized DBA group.

Data Warehouse Administrator
Organizations that implement data warehouses for performing in-depth data analysis often staff DBAs
specifically to monitor and support the data warehouse environment. Data warehouse administrators
must be capable DBAs, but with a thorough understanding of the differences between a databases that
supports OLTP and a data warehouse. Data warehouse administration requires experience with the
following:
Business intelligence, query, and reporting tools
Database design for read-only access
Data warehousing design issues such as star schema
Data warehousing technologies such as OLAP (including ROLAP,
MOLAP, and HOLAP)
Data transformation and conversion
Data quality issues
Data formats for loading and unloading of data
Middleware
How Many DBAs?
Determining how many DBAs is optimal is not a precise science. It depends
on many factors:
Number of databases.
There is a limit to the number of databases that an individual DBA can control.
Size of the databases. The larger the databases that need to be supported, the more difficult the job of
database administration. A larger database takes longer to create, maintain, and tune.
Number of users.
Number of applications.
Service-level agreements (SLAs).
Availability requirements.
Impact of downtime.
Performance requirements.
Type of Applications.
Volatility.
DBA staff experience.
Programming staff experience.
End user experience.
Variety of DBMSs.
DBA tools.


Multiplatform DBA Issues
Managing a multiplatform environment complicates the job of database administration.
A whole batch of different problems and issues arise that need to be addressed.
The first task is to define the scope of each DBAs job. Does a single DBA administer
all of the different DBMSs or does each DBA focus on supporting only one DBMS?
This is a particularly thorny issue. On the one hand, the functionality of a
DBMS is strikingly similar regardless of platform and vendor. A DBMS is designed
to store, retrieve,and protect data. Programmers,programs,and end users all interact
with the DBMS to access and modify data. Administration issues are similar
design, creation, optimization, and so onthough each DBMS implements these
items differently. So, the case can be made that a DBA should support multiple
DBMSs and databases, regardless of platform or vendor.
On the other hand, each DBMS offers different features, functionality, and
technology. Keeping all of the differences and nuances straight is a monumental
task.Wouldnt it be better to develop platform-expert DBAs? That way, your
Oracle DBAs can focus on learning all there is to know about Oracle, your DB2
DBAs can focus on DB2, and so on.

When your organization supports multiple DBMSs, the DBA group should develop guidelines for which
DBMS should be used in which situations. These guidelines should not be hard-and-fast rules, but
instead should provide guidance for the types of applications and databases best supported by each
DBMS.
Forcing applications to a given DBMS environment is not a good practice. The guidelines should be
used simply to assure best fit of application to DBMS.
These guidelines should take into account:
Features of each DBMS
Features and characteristics of the operating system
Networking capabilities of the DBMS and operating system combination
DBMS skills of the application developers
Programming language support
Any other organizational issues and requirements

Test and Production
At least two separate environments must be created and supported for a quality database
implementation: test and production. Completely separating the test and production environments
ensures the integrity and performance of operational work. New development and maintenance work can
be performed in the test environment while operational applications are run in the production
environment.

New Technology and the DBA
The DBA is at the center of the action whenever new ways of doing business and new technologies are
introduced to the organization. Data is the lifeblood
ch01_1-48.qxd 5/22/02 1:24 PM Page 38
of modern business, data is housed by the database, and the DBA is the expert
who understands database technologyand in particular, how databases can
be integrated with other new technologies.
Lets examine three specific newer technologies that rely on database
administrationat least somewhatto be effectively implemented: databasecoupled
application logic, Internet-enabled e-business development, and handheld
computing.


Procedural DBAs: Managing Database Logic
Until recently, the purpose of a database management system was, appropriately enough, to store,
manage, and access data. Although these core capabilities are still required of modern DBMS products,
additional procedural functionality is slowly becoming not just a nice feature to have, but a necessity.
Features such as triggers, user-defined functions, and stored procedures provide the ability to define
business rules to the DBMS instead of in separate application programs.

Stored Procedures
Stored procedures can be thought of as programs that live in a database. The procedural logic of a stored
procedure is maintained, administered, and executed through the database commands. The primary
reason for using stored procedures is to move application code from a client workstation to the database
server. Stored procedures typically consume less overhead in a client/server environment because one
client can invoke a stored procedure that causes multiple SQL statements to be run.

Triggers
Triggers are event-driven specialized procedures that are attached to database
tables. The trigger code is automatically executed by the RDBMS as data
changes in the database. Each trigger is attached to a single, specified table.
Triggers can be thought of as an advanced form of rule or constraint that uses
procedural logic. A trigger cannot be directly called or executed; it is automatically
executed (or fired) by the RDBMS as the result of a SQL INSERT,
UPDATE, or DELETE statement issued on its associated table. Once a trigger is
created, it is always executed when its firing event occurs.
User-Defined Functions
A user-defined function (UDF) provides a result based on a set of input values.
UDFs are programs that can be executed in place of standard, built-in SQL
scalar or column functions. A scalar function transforms data for each row of a
result set; a column function evaluates each value for a particular column in
each row of the results set and returns a single value. Once written, and defined
to the RDBMS, a UDF becomes available just like any other built-in database
function.
Table 1-1 summarizes the differences between stored procedures, triggers,
and UDFs.
Administering Stored Procedures, Triggers, and UDFs
Once developers begin to rely on stored procedures, triggers, and UDFs, DBAs
need to take steps to manage them properly. DBAs must grapple with the issues
of quality, maintainability, efficiency, and availability. How and when will
these procedural objects be tested? The impact of a failure is enterprisewide,
40 What Is a DBA?
Table 1-1 Procedural Database Objects
Object Type Definition Executed How
Stored Procedure Program logic executed By request Explicit
on the database server
Triggers Event-driven procedures Automatically Implicit
attached to database
tables
UDFs Program logic extending By request in SQL Explicit
SQL functionality
ch01_1-48.qxd 5/22/02 1:24 PM Page 40
increasing the visibility and criticality of these objects. Who is responsible if
they fail? The answer must bethe DBA.
The role of administering procedural database logic should fall upon someone
skilled in that discipline. A new type of DBA is required to accommodate
the administration of database procedural logic. This new role can be defined
as a procedural DBA.
The procedural DBA is responsible for those database management activities
that require procedural logic support. He ensures that stored procedures,
triggers, and user-defined functions are effectively planned, implemented,
shared, and reused. The procedural DBA also takes primary responsibility for
coding and testing all triggers. Stored procedures and user-defined functions,
although likely to be coded by application programmers, should be reviewed
for accuracy and performance by procedural DBAs. (See Figure 1-11.)
The procedural DBA leads the review and administration of all procedural database
objects: triggers, stored procedures, and UDFs. Although the procedural
DBA is unlikely to be as skilled at programming as an applications programmer
The procedural
DBA is responsible
for those database
management activities
that require
procedural logic
support.
New Technology and the DBA 41
Stored
Procedures
Triggers
External
Libraries
RDBMS
D
e
b
u
g
g
i
n
g
Change
Management
Performance
Monitoring
Admin
Process
User-
Defined
Functions
Communication
Figure 1-11 Procedural DBA duties
ch01_1-48.qxd 5/22/02 1:24 PM Page 41
or systems analyst, he must be able to write and review program code reasonably
well. The skill level required depends on what languages are supported by the
DBMS for creating procedural objects, the rate and level of adoption within the organization,
and whether an internal organization exists for creating common, reusable
programs.Table 1-2 provides a reasonable level of procedural DBA involvement
for each type of procedural object. Additionally, the procedural DBA should be on
call for any problems that occur with database procedural objects in production.
As shown in Figure 1-11, the procedural DBA requires communication
skills as much as he requires technological acumen. In addition to managing
and optimizing database procedural objects, the procedural DBA must inform
the development community of new triggers, stored procedures, and UDFs.
Furthermore, the DBA must promote reuse. If the programmers do not know
that these objects exist, they will never be used.
Other procedural administrative functions can be allocated to the procedural
DBA. Depending on the number of DBAs and the amount of application
development needed, the procedural DBA can be assigned to additional functions
such as the following:
Participating in application code design reviews
Reviewing and analyzing SQL access paths (from EXPLAIN or SHOW
PLAN)
Debugging SQL
Writing and analyzing complex SQL statements
Rewriting queries for optimal execution
42 What Is a DBA?
The procedural
DBA leads the
review and administration
of all procedural
database
objects: triggers,
stored procedures,
and UDFs.
Table 1-2 Procedural DBA Involvement by Object
Object Type Level of Procedural DBA Involvement
Stored Procedure Not likely to write stored procedures; must review all code
before migration to production; communicates availability
and promotes reuse.
Triggers Likely to write, test, and debug triggers; communicates deployment
of triggers to ensure application awareness.
UDFs Not likely to write user-defined functions; works closely with
the development team to ensure UDF functionality and performance;
reviews all code before migration to production;
communicates availability and promotes reuse.
ch01_1-48.qxd 5/22/02 1:24 PM Page 42
Offloading coding-related tasks to the procedural DBA can help the other
staff DBAs concentrate on the actual physical design and implementation of
databases, resulting in much better designed databases. Procedural DBAs
should have the same line of report as traditional DBAs to enable better sharing
of skills between the groups. Of course, there will need to be a greater synergy
between procedural DBAs and the application programmers. The procedural
DBA should typically come from the application programming ranks because
this is where the coding skill exists.
The Internet: From DBA to e-DBA
Companies of every size are using Internet technologies to speed up business
processes. Indeed, e-business has evolved as a new term to describe the transformation
of key business processes using Internet technologies. Modern organizations
use the Web to communicate with their partners and customers, to connect
with their back-end databases, and to conduct transactions (e-commerce).
E-business is the integration of traditional information technology with the
Internet. This integration creates a more nimble business, prepared for the trials
and tribulations of conducting business in the 21st century.
E-businesses must be able to adapt and react to constant change. When a
business is online, it never closes. People expect full functionality on Web sites
they visit regardless of the time. And the Web is worldwide. It may be two
oclock in the morning in New York City, but it is always prime time somewhere
in the world. An e-business must be available and prepared to engage with customers
24 hours a day, 365 days a year (366 during leap years). Failure to do so
risks losing business. When a Web site is down, the customer will go elsewhere
to do business because the competition is just a simple mouse-click away. Therefore,
those who manage an e-business must be adept,proactive, and ever vigilant.
The frantic pace of an e-business makes extreme demands on those that
keep it operational, and DBAs are much affected. The need to integrate the
Web with traditional IT services, such as the DBMS, places high expectations
on database administrators.
An e-DBA is a DBA who is capable of managing Web-based applications and
their Internet-related issues. With all of the knowledge and training of a traditional
DBA, the e-DBA adapts these skills to suit applications and databases that
are Internet enabled. When the Web is coupled with traditional applications and
databases, a complex infrastructure is the result. (See Figure 1-12.) The e-DBA
must be capable of navigating this complex, heterogeneous infrastructure and
providing expertise wherever databases interact within this infrastructure.
An e-DBA is a DBA
who is capable of
managing Webbased
applications
because he understands
the special
issues that arise
because of the
Internet.
E-businesses must
be able to adapt
and react to constant
change.
New Technology and the DBA 43
ch01_1-48.qxd 5/22/02 1:24 PM Page 43
Databases
Mainframes
Midrange
UNIX Servers
Various
Database Servers
CRM
Application
ERP
Application
Middleware
E-Commerce
Application
Internet
Applications
Web Server
Intranet
Internet
Firewall
NT Server
Load
Balancer
Extranet
Figure 1-12 The complex infrastructure enabling Web-to-database capabilities
44
ch01_1-48.qxd 5/22/02 1:24 PM Page 44
Many factors impact database administration when you couple the Internet
with database technology. Some of these issues include
24/7 data availability
New technologies such as Java and XML
Web connectivity
Integration of legacy data with Web-based applications
Database and application architecture
Web-based administration
Performance engineering for the Internet
Unpredictable workload
The PDA DBA
Personal digital assistant devices, better known as PDAs, are fast becoming a
necessity for modern executives and businessmen. A PDA is a handheld computing
device. Whether your PDA of choice is a Palm Pilot or a PocketPC, your PDA
may soon have a DBMS running on it.Why is that interesting? Does it change the
way you will use your PDA? What will that mean to your IT department?
PDAs offer many benefits. The devices are small and therefore easily transportable.
They enhance a mobile workers ability to be mobile. However, challenges
must be faced as organizations incorporate PDAs into their infrastructure.
Companies with remote workers such as a distributed sales force or delivery
tracking services will most likely be the first impacted. The data on the PDAs
must be managed professionally to ensure integrity and reliability. Because the
device is remote, sharing of data can be difficult. The data on the PDAs must be
reliably synchronized with existing enterprise systems and databases.
All major DBMS vendors provide small-footprint versions of their flagship
products to run on PDAs. For example, IBM markets DB2 Everyplace, Oracle
sells Oracle8i Lite, and Sybase offers Adaptive Server Anywhere. The general
idea is to store a small amount of critical data on the PDA in a database; the
local PDA database is later synchronized to long-term data stores on enterprise
database servers. Each PDA DBMS provides technology to synchronize data
back and forth from the PDA to the enterprise server platforms.
A database the size of those stored on PDAs should not require the in-depth
tuning and administration required of enterprise database implementations.
All major DBMS
vendors provide
small-footprint versions
of their flagship
products to
run on PDAs.
New Technology and the DBA 45
ch01_1-48.qxd 5/22/02 1:24 PM Page 45
However, DBAs will be called upon to help design appropriately implemented
databases for small-form-factor devices like PDAs. However, the biggest impact
on the DBA will be the necessity for managing data synchronization from hundreds
or thousands of PDAs. When should synchronization be scheduled? How
will it impact applications that use large production databases that are involved
in the synchronization? How can you ensure that a mobile user will synchronize
his data reliably and on schedule?
These are not trivial issues. The DBA staff must be ready to support the
organizations inevitable request for this technology by understanding data synchronization
technology and the need for remote database users at their organization.
Pervasive computing and the mobile workplace are here to stay. The
DBA staff must be ready to support these mobile workers with a valid, shared
data infrastructure.
As new technology is introduced to the organization, the DBA group is typically
the first to examine and use it. The preceding three technologies are
merely examples of new trends and technologies that require database administration
for efficient and effective implementation.
DBA Certification
Professional certification is a recent trend in IT and is available for many different
IT jobs. The availability and levels of certification for database administration
have been growing at an alarming rate. Certification programs are
available for most of the popular DBMS platforms including IBM DB2,Microsoft
SQL Server, and Oracle. The idea behind DBA certification is to ensure that an
individual is capable of performing database administration tasks and duties.
This is a noble goal, but the problem is that passing a test is not a viable indicator
of success with the complexities of database administration. Some things
you just have to learn by doing. Im not saying that certification is useless: Taking
the test and focusing on the questions you miss can help to point out areas of
weakness. But does anyone really believe that someone passing a formalized test
is necessarily as capable as someone with several years of experience as a DBA?
Organizations should hire DBAs based on experience that indicates a level of
capability. Of course,a DBA with both experience and certification is even better.
That said, I do recommend that professional DBAs take the time to study
and pass the certification exams. Not because certification will make you a better
DBA, but because it will make you more employable. Some companies hire
Certification will
make you more
employable.
46 What Is a DBA?
ch01_1-48.qxd 5/22/02 1:24 PM Page 46
only certified professionals. The trend toward using certification to guide hiring
practices will increase because of increasing IT complexity. If you think
you might change jobs at some point in your career (and who among us will
not?), then certification is a worthwhile pursuit.
Keep in mind that DBA certification tests sometimes ask arcane syntax
questions that are not good indicators of a DBAs skills. Getting the syntax
100% accurate is what manuals and design tools are for. Memorizing every detail
about SQL syntax and structure is a waste of time because it is complex and
changes all the time. It is better to know where to find the syntax, parameters,
and answers to your questions when you need themthat is, which manuals
and textbooks contain the needed information. DBAs should possess a broad,
overarching knowledge of DBMS concepts, IT fundamentals, and the working
of their organizations database systems. In other words, 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 accomplish it.
If you decide to pursue certification, take the time to prepare for the tests.
Books and self-learning software titles are available that can be quite useful.
These books and programs cover the most common test topics and provide
sample questions to help you prepare. In many ways, it is like preparing for a
college entrance exam like the SAT.
Finally, once you earn your certification, make sure you display it proudly
on your resume and your business card (if your company allows it).
Table 1-3 lists Web sites that contain information about professional certification
for the most popular DBMS products.
DBA Certification 47
Table 1-3 Sources of DBA Certification Information
DBMS Web site
Oracle http://www.oracle.com/education/certification/
Microsoft SQL http://www.microsoft.com/trainingandservices/default.asp?PageID=training
Server
IBM DB2 http://www.ibm.com/certify
Sybase Adaptive http://www.sybase.com/education/profcert/
Server
Informix http://www.informix.com/informix/training/courses/certific/welcome.htm
ch01_1-48.qxd 5/22/02 1:24 PM Page 47
The Rest of the Book
This first chapter has introduced you to the world of the DBA. I hope that you
have gained respect for the complexity of the position and the qualities required
of a good DBA. The remainder of the book will examine the details of
the tasks, roles, and responsibilities required of the DBA.
Review
1. What are the primary high-level job responsibilities of a DBA?
2. What is the single biggest problem faced by organizations using relational
databases?
3. What is the difference between a data administrator and a database
administrator?
4. What factors determine the number of DBAs needed to support an organizations
database environment properly?
5. How does new technology impact the job of the DBA?
6. What are the technologies that mandate the need for procedural DBAs?
7. What is the difference between a database architect and a system administrator?
8. Which staff member is most likely to be responsible for installing a new
DBMS release?
9. What are the three types of integrity that DBAs must understand?
10. Is a certified DBA necessarily a qualified DBA? Why or why not?
Bonus Question
Why must the DBA be a jack-of-all-trades?
48 What Is a DBA?
ch01_1-48.qxd 5/22/02 1:24 PM Page 48

You might also like