Hello, you are not logged in.  Login or sign up
Community >> Blogs
Search Toad World Search

Do you have a topic that you'd like discussed?  We'd love to hear from you.  Send us your idea for a blog topic.

Are DBA’s Obsolete?
 
Location: Blogs Mike Ault's Blog    
 MikeA Wednesday, November 01, 2006 3:30 PM

With each new release of a database, be it Oracle or one of their competitors, we hear the cry that this release will make DBAs as we know them obsolete. We hear again and again how this automated feature set or that new GUI interface will automate the DBA job. So far, all of these claims of DBA obsolescence have been for naught, to mis-quote Samual Clements “The reports of the DBAs death are greatly exaggerated.”

When I started as an Oracle DBA in 1990 the tasks a DBA was expected to perform fit neatly within 13 master task areas:

  1. Installing and upgrading Oracle server and application tools.
  2. Allocating system storage and planning future storage requirements for the database
  3. Creating primary database storage structures once developers have designed an application
  4. Creating primary database objects (tables, views, indexes) once the application designers have designed an application
  5. Modifying the database structure as necessary, from information given by application developers.
  6. Enrolling users and maintaining system security
  7. Ensuring compliance with Oracle licensing agreements
  8. Controlling and monitoring user access to the database
  9. Monitoring and optimizing the performance of the database
  10. Planning for backup and recovery of database information.
  11. Maintaining archived data on appropriate storage devices.
  12. Backing up and restoring the database
  13. Contacting Oracle Corporation for technical support

Upon close examination of the latest Oracle release as of this writing I can find at least 30 tasks that a DBA must now be ready to perform (and I am sure there are many more I missed):

  1. Installing and upgrading Oracle server and application tools.
  2. Allocating system storage and planning future storage requirements for the database
  3. Creating primary database storage structures once developers have designed an application
  4. Creating primary database objects (tables, views, indexes) once the application designers have designed an application
  5. Modifying the database structure as necessary, from information given by application developers.
  6. Enrolling users and maintaining system security
  7. Ensuring compliance with Oracle licensing agreements
  8. Controlling and monitoring user access to the database
  9. Planning for backup and recovery of database information.
  10. Maintaining archived data on appropriate storage devices.
  11. Contacting Oracle Corporation for technical support
  12. Management of object related features
  13. Determination of LOB storage options
  14. Assistance with RAID configuration
  15. Determination of proper index strategy (normal, reverse, IOT, bitmapped)
  16. Education of Developers in Oracle features and their use
  17. Management of distributed environments
  18. Management of and parallel query
  19. Determine and manage partitions and sub-partitions
  20. Determine proper use of outlines
  21. Create, manage and maintain resource groups
  22. Create manage and maintain global temporary tables
  23. Create and manage materialized views, summaries and snapshots
  24. Monitoring and managing the automatic and dynamic sizing parameters
  25. Monitoring and managing the automated UNDO (it isn’t set and forget)
  26. Monitoring and tuning RAC environments, especially the cluster interconnect
  27. Manage and maintain fine grained auditing
  28. Manage and maintain row level security
  29. Manage and maintain fine grained access controls
  30. Configure, manage and maintain Oracle Streams

In Oracle10gR2 there are 1379 documented and undocumented initialization parameters, 185 of them are used to determine SQL paths for SQL statement optimization alone.

Just keeping developers apprised of new features and methods has become a full time job for many DBAs.

As good as the cost based optimizer is getting, it still needs a talented DBA around for when it chokes, in fact it can be argued that if the CBO does choke, you had better have a very skilled DBA on hand as it will require a high level of expertise to figure out why. With the large number of index, structure, partitioning and other features now available a DBA is critical from the design phase all the way to implementation.

While tools such as TOAD and SQL Navigator as well as the set of Spotlight tools and Performance Analyzer make doing the DBA job easier, they only work optimally if a skilled DBA is at the helm. To get full advantage out of any tool, the workman must be skilled, if you don’t believe me try handing expensive tools to inexperienced workmen and see what quality of output you receive.

In order to prevent ourselves from, as our friends from across the pond say “becoming redundant” we need to constantly study and upgrade our abilities. As long as Oracle adds new features, as long as new ways of designing systems, implementing systems and maintaining systems are required, DBAs will be required.

Are we doomed to become similar to DBAs on more automated systems that merely baby sit? I don’t think so. Oracle has a richer feature set, runs on more platforms, supports larger, more complex databases and will always be more of a challenge to manage than most other databases. From Oracle’s complexity comes its strength. If the complexity of management of Oracle is reduced beyond a certain horizon it will lose its flexibility as well.

I plan on working as a DBA or in support of DBAs until I retire, which I assure you if my Wife has anything to do with it, will be many years from now. I believe Oracle is a good choice of study for database students and can provide jobs for both DBAs and developers for years to come.

Copyright ©2006 Quest Software Inc.
Permalink |  Trackback

Comments (5)  
By KobieTau on Monday, November 06, 2006 3:37 PM
Hi,

DBA's are seen as obsolete untill they are needed. One can install MS SQL server or even Oracle "just by following the bouncing ball or having the vendor install it."

Even setting up export rutines for backups is easy.

How ever, as data is poured into the system and things slow down or do not run right there is a cry for a DBA. Vendors will help - for a price.

Mike you showed many of the tasks that non DBA's shy away from even when problems arise.

I do not see an end to DBA's nor the need for training because we are doing more with database.

Any thoughts???

Allen

By mikerault on Tuesday, November 07, 2006 12:30 PM
Allen,

I agree. Many times they are told they won't need a DBA only to come to the realization that they in fact do, maybe not 100% of the time, but they better have one available with just a phone call.

Mike

By Gilles on Wednesday, November 08, 2006 12:36 AM
Hi,
as far as the DB Products like Oracle intend to give always more features to their Products, the only obsolescence I can see is the name of the function... the "old" DBA becomes now a more generalistic "Oracle Specialist".
And these new "Specialists" do not just keep an eye on the disk space, the memory allocation and so (as it is right that these tasks are becoming easier), but now must know how to make all those new features (new ressource planning features, new object types, new 24*7 products, Security Wallets,...) interact between them without "eating" all the ressources or locking between them, if possible also knowing all of the Business Rules, also knowing how to make Oracle interact correctly with SQL DB, or php-MySQL environment, and..., and..., and...

What is you opinion about this point of view ?

Gilles

By Norm on Wednesday, November 08, 2006 3:05 AM
Mike,

you missed out, what I think is a very important part of the 'life and times of a dba', beating developers with a shovel!

Ok, what I really mean is 'communicating with developers and indeed designers' so that you can build a better system before it starts rather than having to sort out the mess after it goes live and starts perfroming like a dog.

I have found the need to hammer out the facts about Oracle databases to many developers, stuff like 'deleted index entries *will* be reused when inserts or updates are carried out' or 'this is why you *will* use bind variables' or explaining why a bitmap index is not a good idea for an OLTP application and so on.

If you can get the design and development of the application sorted out, then that's usually 80-90% of your performance problems sorted before you even have a problem. That's if you believe what seems to be the industry standard about performance - 80% application, 10% database and 10% infrastructure.

Cheers,
Norm [TeamT]


By mikerault on Wednesday, November 08, 2006 1:51 PM
Gilles,

Yep, new features was what I was trying to stress, usually when they automate one they give us three more to figure out.

Norm,

Amen! A cattle prod helps at times as well. If most projects would hire a good DBA first and give them the clout to deal with developers then many consultants might find themselves out of a job!

Mike

Search Blog Entries
 
Copyright 2008 by Quest Software  | Terms Of Use | Privacy Statement | Contact Us