Vous êtes sur la page 1sur 5

It is a hard to imagine a world without databases; databases are behind just about every business I can think of.

From banks, to schools, to hospitals, to telephone companies they all depend on databases. And all of these databases require Database Administrators (DBA) to manage them and protect them. DBAs design and create the databases, backup and restore the databases and document what is in them. DBAs play a vital role in all Information Technology teams. Here is my take on what it takes to be a good DBA. I have heard it said many time that nobody knows exactly what a Database Administrator REALLY does, but every company is very sure they need at least one of them. In my many years as an Oracle Database Consultant and course instructor, I have often been asked to write the definitive description of the DBA position and what it takes to be a good DBA. The stability of the database environment is usually a good measure of the success of a database administrator (DBA). All DBAs go into the job hoping to be successful in maintaining the perfect database environment. They often believe this means reacting to every user request. While in this noble mind-set, it is easy for the DBA to slip into reactive mode, running from one escalated issue to another. The problem is computers cannot talk, but users can and often they are very loud if you know what I mean. DBAs often believe maintaining a stable environment means they must react to all user requests. They find themselves trying to please the user requests by day and sacrificing personal time (doesnt this sound familiar?) , resolving growing problems in the system after hours. They become so busy reacting to problems; eventually the problems are in control. This allows small problems festering in the database to become large problems before being identified. The DBA eventually winds up slumped over the keyboard consoling the system instead of being home with the spouse and their kids. If we have learned anything from the old saying an ounce of prevention is worth a pound of cure, we know large problems are more costly to resolve than small problems. Creating a solid database environment does not occur automatically and it does not occur by reacting to the problems after they have surfaced in the eyes of the users. It requires sound organisation and execution of proven procedures, which monitor key points of the system to assure stability on a daily basis. The DBA must be proactive. They must allocate time in their day to review key areas of the system and resolve problem before a crisis evolves. Having a comprehensive understanding of both the operational and business requirement of the organisation makes the DBA even sounder in making sound decisions in managing the database.

This paper will present a comprehensive set of tasks that the DBA may perform within a company. This paper assumes that the Database Administrator is 1. Overseeing more than one database 2. There are more than one application within the system 3. There are at least a development and a production database available which is usually the case with a typical Oracle based environment. Some larger Oracle installations you would also see a test database in place. There are two different perspectives that can be used when examining a Database Administrators tasks: a systems point of view or an applications point of view. The systems database administrator places emphasis on the general operation and performance of the database while the applications database administrator works closely with application developers and is much more deeply involved with the applications composition. Two or more database administrator in a fairly large Oracle installation can have totally different job functions though they are all called DBAs. In Malaysia, we typically see one DBA handling all the many various functions and objectives of a DBA, thus being a Jack of all trade and master of none.

Scope This paper has been written with emphasis on the systems database administrators tasks which I am most familiar with. Every attempt has been made to present as thorough a list of tasks as possible. There are tasks that may be unique to a companys environment that may not appear here. There may also be tasks that are presented here that may be viewed as inappropriate for a DBA to perform in some organisations. The tasks are not presented in any order of priority or in complete detail. Overview The top priorities of a Database Administrator are :1. To ensure optimal performance of the databases 2. Monitor the resources available for the various database systems to assure reliability accessibility recoverability

The general health and well-being of the databases are of prime concern. The normal scope of a Database Administrators functions can include (but is not limited to) the following set of tasks. Software Installations and Upgrades Stay abreast of the most current releases of Oracle software and compatibility issues with the appropriate operating systems as well as Oracle software compatibility. Determine if a new release is stable enough for consideration to be placed on the development system. Create an environment area for new release installation. Verify (on a high-level basis) the proper functioning of the new software release. Plan and co-ordinate the testing (on a database by database basis) of the new release for each application area. Once the software has been tested on an application by application basis on development, plan, co-ordinate, and execute the implementation of the upgrade on the development system for all applications. Once the software has been verified for all applications, plan, coordinate, and execute the implementation of the upgrade on the production system. Log Technical Action Reports (TARs) with Oracle Malaysia Support Centre as necessary against a new or upgrade version of the RDBMS and arrange for, apply, and verify patches as necessary. Monitor and advice management on licensing issue. Database Actions Determine the space (disk storage) requirements for a proposed database - working with the developers and System Administrator. Allocate the space for and build the database per the Optimal Flexible Architecture standards within the available hardware configuration. Determine and implement the backup and recovery plan for each database while in development and as the application move to production and co-ordinate that plan against database availability requirements. Monitor and co-ordinate update of the database recoverability plan with the sites disaster recovery plan. On an ongoing, database-by-database basis, monitor the database performance while the application is in development to identify potential performance problems before getting to a production status.

Once an application goes production, provide an ongoing tuning process for that database - adjust shared pool size, db block buffers, log buffers, etc. as needed. Monitor table and tablespace growth and fragmentation on a periodic basis to assure that space allocation does not become a critical issue. Maintain an ongoing configuration map for each database on both development and production including any links to other databases. System Issues On a daily basis, verify that nightly (or periodic) backups have run successfully; examine all appropriate logs (alert logs, start-up logs, shutdown logs, tuning information, etc.); verify that all databases that should be up and running are available. Perform housecleaning tasks as required - purging old files from the Oracle Software areas (dump directories), assure that archive logs have enough disk space (if applicable), etc. Perform on-going database performance tuning and work with the system administrator on operating system specific performance issues related to the Oracle databases; i.e. system patches which may be required or system parameters which may need adjustment. Monitor the space used by each database and space availability on a system-wide basis and generate future capacity plans for managements use. Co-ordinate upgrades of system software products to resolve any Oracle and operating system issues and conflicts. Research, test, and recommend for purchase tools related to Oracle database administration or propose tools for development in house. Education Issues Disseminate Oracle information to the developers and users when appropriate. Train backup DBAs, Operation Centre Staff, and other appropriate staff. Attend training classes and user group conferences to assure staying on top of latest information and newest products interacting with Oracle. Subscribe to and read trade journals like Oracle Magazine and Oracle Technical Journal. Developers Issues Know enough about the Oracle tools normal functional behaviour to be able to determine if a problem is tools based or application based.

Be able to log Technical Action Reports (TARs); apply patches; and coordinate with developers to verify that a patch has corrected a problem with-out causing other problems. Assist developers with database design issues and problem resolution including knowledge on how to run and understand the output from both TKProf and the Explain Plan utilities. Security Issues Set and maintain User and DBA passwords for all databases and document same. Create user and developer accounts and distribute appropriate privileges as needed to approved people by authority of approved people and document same. When appropriate, use Oracles audit facilities to monitor table and user activities. Database Standards Define and maintain database standards for the organisation to assure consistency in database creation, schema definitions, and tablespace, table, constraint, trigger, package, procedure, and index naming conventions. Create naming conventions for SQL*Net files (LIS-TENER. ORA, TNSNAMES.ORA, etc.) for ease of installation, configuration, and maintainability. Where appropriate, write and distribute procedures ( step by step narratives and actual code) for tasks that must be performed frequently. Define standards for database documentation. Create a Database Administrators Handbook of documentation on all customised code and procedures and keep the documentation as current as possible.

Vous aimerez peut-être aussi