What Does a DBA Do?

If you are currently a DBA, the title of this entry probably made you scoff. But not everyone knows what a DBA is, does, or why they are needed. Wouldn’t it be in your best interest as a DBA if your job were better understood and appreciated?

Every organization that manages data using a database management system (DBMS) requires a database administration group to oversee and assure the proper usage and deployment of the company’s data and databases. With the growing mountain of data and the need to organize that data effectively to deliver value to the business, most modern organizations use a DBMS for their most critical data. So, the need for database administrators (DBAs) is greater today than ever before. However, the discipline of database administration is not well understood or universally practiced in a coherent and easily replicated manner.

Implementing a DBA function in your organization requires careful thought and planning. A successful DBA must acquire a large number of skills — both technological and interpersonal. Let’s examine the skills required of an effective DBA.

General database management. The DBA is the central source of database knowledge in the organization. As such he must understand the basic rules of relational database technology and be able to accurately communicate them to others.

Data modeling and database design. The DBA must be skilled at collecting and analyzing user requirements to derive conceptual and logical data models. This is more difficult than it sounds. A conceptual data model outlines data requirements at a very high level; a logical data model provides in-depth details of data types, lengths, relationships, and cardinality. The DBA uses normalization techniques to deliver sound data models that accurately depict the data requirements of the business. (Of course, if your organization is large enough a completely separate group of data administrators may exist to handle logical database design and data modeling.)

Metadata management and repository usage. The DBA must understand the technical data requirements of the organization. But this is not a complete description of his duties. Metadata, or data about data, also must be maintained. The DBA must collect, store, manage, and provide the ability to query the organization’s metadata. Without metadata, the data stored in databases lacks true meaning. (Once again, if your company has a data administration group then this task will be handled by that group. Of course, that does not mean the DBA can ignore meta data management.)

Database schema creation and management. A DBA must be able to translate a data model or logical database design into an actual physical database implementation and to manage that database once it has been implemented. The physical database may not conform to the logical model 100 percent due to physical DBMS features, implementation factors, or performance requirements. The DBA must understand all of the physical nuances of each DBMS used by his organization in order to create efficient physical databases.

Capacity planning. Because data consumption and usage continues to grow, the DBA must be prepared to support more data, more users, and more connections. The ability to predict growth based on application and data usage patterns and to implement the necessary database changes to accommodate that growth is a core capability of the DBA.

Programming and development. Although the DBA typically is not coding new application programs, s/he does need to know how to write effective programs. Additionally, the DBA is a key participant in production turnover, program optimization (BIND/REBIND) and management, and other infrastructure management to enable application programs to operate effectively and efficiently.

SQL code reviews and walk-throughs. Although application programmers usually write SQL, DBAs are likely to be blamed for poor performance. Therefore, DBAs must possess in-depth SQL knowledge so they can understand and review SQL and host language programs in order to recommend changes for optimization.

Performance management and tuning. Dealing with performance problems is usually the biggest post-implementation nightmare faced by DBAs. As such, the DBA must be able to proactively monitor the database environment and to make changes to data structures, SQL, application logic and the DBMS subsystem itself in order to optimize performance.

Ensuring availability. Applications and data are more and more required to be up and available 24 hours a day, seven days a week. Globalization and e-business are driving many organizations to implement no-downtime, around-the-clock systems. To manage in such an environment, the DBA must ensure data availability using non-disruptive administration tactics.

Data movement. Data, once stored in a database, is not static. The data may need to move from one database to another, from the DBMS into an external data set, or from the transaction processing system into the data warehouse. The DBA is responsible for efficiently and accurately moving data from place to place as dictated by organizational needs.

Backup and recovery. The DBA must implement an appropriate database backup and recovery strategy for each database file based on data volatility and application availability requirements. Without a backup and recovery strategy, system and user errors could render a database inoperable and useless. Furthermore, the backup strategy must be developed with recovery time objectives in mind, so that data is not unavailable for long periods when problems inevitably occur. This is probably one of the, if not the absolute, most important database administration task.

Ensuring data integrity. DBAs must be able to design databases so that only accurate and appropriate data is entered and maintained. To do so, the DBA can deploy multiple types of database integrity including entity integrity, referential integrity, check constraints, and database triggers. Furthermore, the DBA must ensure the structural integrity of the database. Data integrity is right up there with backup and recovery in importance level.

Procedural skills. Modern databases are comprised of more than just data – they also contain program code. The DBA must possess procedural skills to help design, debug, implement, and maintain stored procedures, triggers, and user-defined functions that are stored in the DBMS and used by application systems.

Extensible data type administration. The functionality of a modern DBMS can be extended using user-defined data types. The DBA must understand how these extended data types are implemented by the DBMS vendor and be able to implement and administer any extended data types implemented in their databases.

Data security. The DBA is charged with the responsibility to ensure that only authorized users have access to data. This requires the implementation of a rigorous security infrastructure for production and test databases. Data security comprises both DBMS security (revoke/grant) and security on external resources (file structures, userids, and so on).

Database auditing. Being able to report on who did what to which data when, along with how they acted upon that data, is a requirement for many governmental and industry standards and compliance specifications. DBAs need to be involved in terms of setting up and enabling the DBMS for database auditing capabilities.

General systems management and networking skills. After a database is implemented it will be accessed throughout the organization and interact with other technologies. Therefore, the DBA has to be able to function as a jack of all trades in order to integrate database administration requirements and tasks with general systems management requirements and tasks (like job scheduling, network management, transaction processing, and so on).

Business knowledge. DBAs must understand the requirements of the application users and be able to administer their databases to avoid interruption of business. Without a firm understanding of the value provided to the business by their databases and data the DBA is not likely to be able to implement strategies that optimize the business’s use of that data.

Data archiving. When data is no longer needed for business purposes, but must be maintained for legal purposes, the data needs to be removed from the operational database, but stored in such a way that is remains accessible for e-discovery and legal requirements. This is database archiving.

Enterprise resource planning (ERP). Enterprise Resource Planning (ERP) software packages place additional burdens on the DBA. Most ERP applications (SAP, Peoplesoft, etc.) use databases differently than homegrown applications, requiring DBAs to know how the ERP applications impact the business and how the databases used by those packages differ from traditional relational databases.

Web-specific technology expertise. For e-businesses, DBAs are required to have knowledge of Internet and Web technologies to enable databases to participate in Web-based applications. Examples of this type of technology include HTTP, FTP, XML, CGI, Java, TCP/IP, Web servers, firewalls and SSL. Other DBMS-specific technologies include IBM’s Net.Data for DB2 and Oracle Portal (formerly WebDB).

Storage management techniques. The data stored in every database resides on disk somewhere (unless it is stored on one of the new Main Memory DBMS products). The DBA must understand the storage hardware and software available for use, and how it interacts with the DBMS being used. As such, DBAs must be able to allocate, monitor, and manage the storage used by databases.

The bottom line is that the DBA must be a well-rounded staff member capable of understanding multiple facets of the business and technology. The DBMS is at the center of today’s IT organization — so as the one tasked with keeping the DBMS performing as desired, the DBA will be involved in most IT initiatives.

Did I forget anything?

Feel free to log in and add your comments on this topic!

Advertisements

About craig@craigsmullins.com

I'm a strategist, researcher, and consultant with nearly three decades of experience in all facets of database systems development.
This entry was posted in change management, DBA, SQL, standards. Bookmark the permalink.

30 Responses to What Does a DBA Do?

  1. Pingback: Tweets that mention What Does a DBA Do? | Data and Technology Today -- Topsy.com

  2. Pingback: What Does a DBA Do? | Data and Technology Today — ERPSCOUT

  3. krids says:

    Best task list for DBA what I have seen in all the time! Thank you, Mr. Mullins.

  4. i200908 says:

    Wow, very nice. thank you!

  5. HARI says:

    THANK YOU VERY MUCH…..
    IT’S VERY VERY NICE

  6. Pramod says:

    its very helpful….thanks a lot !!!

  7. Li says:

    Hi.

    I would like to know if deelopment of data integration packages and web services is part of the roles and responsibilities of a DBA. Or is it rather a programmer/developer’s role?

    hope you can help me with this. Thanks

    • Hello Li… I’m afraid this is probably one of those areas that is not totally black & white. Some shops will have DBAs responsible for these things, whereas others will assign them to developers or architects. I would say that data integration activities probably tend more toward being a DBA responsibility, whereas web services are more programmer/developer responsibilities.

  8. JRP says:

    I am in career transition. I previously managed an application with some very light DBA duties. I linked Excel to the SQL server and manipulated SQL syntax to provide custom tools and reports in the form of pivot tables. I was involved in BI with a development team for sales reports and tools. I like database work and seem to have an aptitude for it. I think to get into the DBA field (perhaps with an emphasis on BI), I need a Microsoft SQL or Oracle SQL certification. What are your thoughts? What are the pros / cons of MS vs. Oracle? As part of my severance package, I can get free training through Skillsoft in either Microsoft SQL 2008 or Oracle SQL. Thanks for any thoughts / guidance.

    • Well, I do not think you can go wrong with either. Both Microsoft SQL Server and Oracle are deployed at numerous organizations and there will be job availability for those skilled in either for the foreseeable future. One thing that might lead me to favor Oracle over MS though is that salary studies I have seen in the past few years show that Oracle technicians earn more than SQL Server technicians. But the amount was not so significant as to make me say you’d be crazy to do SQL Server instead of Oracle…

    • justdaveinfo says:

      Get certified in both, I did and it give you more vision as to strengths and weaknesses of each product and cool sql tips from one product can sometimes be translated into tips for the other product!

  9. Pingback: Data and Technology Today « Database Adminstrators

  10. Piper says:

    Fantastic article. Much thanks again. Much obliged.

  11. Pingback: Gregory Smith

  12. justdaveinfo says:

    Also run dbcc (consistency checks) on the database!

    • Yes, I probably should have included a section on structural integrity. Not all DBMS products have a dbcc-like utility. When they exist, it is a wise idea for DBAs to figure out a maintenance plan to regularly run the utility looking for issues. Generally speaking, structural integrity issues should be rare – the DBMS software, if designed and coded properly, should preclude most structural errors from happening.

  13. Keren says:

    It’s the )$%*!_)# GUI that is at fault — well not completely, but it does cotnuibrte an awful lot. The GUI is fine for the end user who is entering customer order information, looking up insurance coverage, adding a new employee, and so forth. It is murder on developers and systems (DBAs, etc) people.When you use a GUI too much, especially when you start out with one, you do not learn how the thing works. OEM works. So what. I can tell you the sizes of tablespaces, their percent used, number of objects they contain, number of data files, size of largest contigous extent all with just a couple of keystorkes and in less time than it would take an OEM user to drill down to it in the GUI. When you work from the command line you are forced (no, make that tend) to learn more about the system and how it works. I have been on interviews where a common question is something like ‘Do you know how to use Enterprise Manager’. To which I respond, ‘yes I know how to use it, but I seldom ever do. I prefer the command line as I can do more with it and do it faster. I reserve OEM for things it does better or I cannot otherwise do, like testing out execution plan changes if I add an index without actually creating the index.’ That response ALWAYS gets a most positive response.Similarly, for developers. Yes GUI tools can generate sql for you, but if you do not know how to write sql, how do you know it is the best way to get the results? I miss programmers who actually understand the langusge in which they are working. The folks who could twiddle bits and edit whole arrays of records in a blink, while the rest of us (newbies at the time) could only stand there slack-jawed in wonder and hope (and strive) to be as good.GUIs have their place, even for administrators and developers, but being dependent on them kills innovation, problem solving skills, and understanding. Ban the GUI — OEM, TOAD, BMC, whatever — for a month. Work only from the command line and build yourself a library of scripts to answer you most common questions. You will be amazed at what you will learn.Note: All typographical errors, misspellings, and grammatical errors in the forgoing were intentionally placed there solely for the entertainment of those people who like to look for such things in written material.

  14. Pingback: What Does Technology Analyst Do | Technology Documents

  15. Pingback: Hospitality Management What Do They Do | My Health

  16. Pingback: Does New Technology Help Us | Technology Documents

  17. Pingback: Modern Technology Today | Technology Documents

  18. Pingback: What Was Technology Like Before The Flood | Technology Documents

  19. Pingback: How Does Modern Technology Help Us Today | Technology Documents

  20. kowunmyxngd says:

    …a nice and useful piece of info. I’m glad that you shared this useful information with us. Please keep us informed like this.

  21. Maritza Morell says:

    Hello, I check your blog regularly. Your writing style is awesome, keep up the good work!

  22. freelancing websites says:

    Great post. I was checking constantly this blog and I’m impressed! Extremely useful info…

  23. sudeep pareek says:

    toooo good sir i realy like your lecture about DBA……….

  24. Shi Pau says:

    This is so crystal-clear. Such a nice article.
    Sir, I want some certification in SQL I’m serious to have one now. I’ve general idea on SQL, but I want to start from basic. I found MS SQL, SQL Server, My SQL.. its so confusing for me. Which one is suitable? Please advise and if you know some good online classes please tell me and I’ll be more than happy.

    • Glad you enjoyed the article. As to your questions, first things first. SQL is the query language for accessing data in “relational” DBMSes like Oracle Database, Microsoft SQL Server, DB2, and MySQL. So there are many different DBMS platforms that you can choose to learn. No matter which “relational” offering you choose, you will need to learn SQL. There is an ANSI standard SQL that most of the DBMS vendors try to follow, but they all have language dialects that differ from the standard.

      As far as training goes, there are many options out there. Here is one that I found with a quick Google search: http://www.quickstart.com/courses/sql-server-2012-training

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s