Oracle DBA Document
Sign in

Oracle DBA Document

OVERVIEW

The exact job definition of an Oracle Database Administrator's (DBA's) responsibilities are hard to find in print. It would great if those responsibilities could be easily bundled into a nice package say like the role of an accountant. However, uniqueness within companies and the distributed enterprise has made that seemingly impossible. As one career description defines it: DBA - Administers and controls an organizations data resources. Use Data Dictionary software packages to ensure data integrity and security, recover corrupted data and eliminate data redundancy, and uses tuning tools to improve database performance. Can it be this easy to define the role of a DBA?

WHAT EXACTLY IS A DBA?

The position of Database Administrator seems to mean different things to many organizations. In smaller development organizations, the duties are much broader than in a major corporation. Whether a company is performing development or utilizing third party packages, will further define the role of the DBA position. Knowing what is expected of the role and how the position fits within the company business operations is critical.

For many companies, the DBA role may begin with one or two servers running small workgroup or departmental applications. Within a few months, the organization can suddenly find themselves supporting applications around the clock without the proper support or staffed resources. Lack of resources then escalates into customer dissatisfaction, over-work, and staff frustration that leads to employee retainment problems.

An important factor is to define the roles & responsibilities, is ensuring there will be an infrastructure in place to support existing and new business processes. For most organizations, confusion arises when the skills of the IT staff normally overlap without a clear delineation of responsibility. To be most productive, the skills of the staff should intersect with the responsibilities being clearly defined. It is important to define, establish, and communicate the roles and responsibilities.

Qualifications for the role of DBA are quite diverse. The DBA must possess technical knowledge in the sense of the interpretation of database design models. A DBA must also possess a knowledge of the security, data retention and disaster recovery requirements of the company. Knowledge of the database performance and administration requirements of company application systems is also a requirement. Business skills such as multitasking, analytical skills, active listening, oral and written communication are significant requirements as are technical skills in operating systems, networking and database management software. A DBA should also be familiar with software tools and languages for use by the organization to produce stored procedures. A DBA must also have an understanding of tools used to test, monitor, tune and administer the company databases.

In a mainframe environment, the typical duties of a DBA consisted of talking with a few analysts supporting a single operating system along with a couple programmers who supported the transaction processing applications. In a distributed open systems environment, the role of the DBA is expanded by various operating systems, applications, combined with a greater number and diversity of people. A typical DBA must deal each day with groups in many functional areas, including network management, systems management, training and application development. DBAs must be knowledgeable enough to determine where in the system the problem actually occurs. DBAs should assist with incorporating consistent adherence to standards procedures, and naming conventions. Not having standards and procedures leaves a project more susceptible to risks and adds additional complications when no one remaining on the team understands the code left behind by previous employees.

KEY DBA ENABLERS

Several factors are critical for the success of the DBA role:

Adaptability:

Configuring systems and software for the ability to change as business needs dictate while maintaining the production environment and servicing the user community

Availability:

DBAs must be prepared to respond rapidly to issues

Control:

DBAs must control the metadata, data definition process, and access

Tools:

Utilizing fully featured tools are critical to supporting fast moving projects.

Management of the Oracle database requires a variety of knowledge and analytical skill. Architecture of the database, performance tuning and high availability are just a few issues which face the Oracle DBA. This paper will outline critical DBA skills, typical responsibilities and roles. But first, we have to describe the type of job responsibilities outside the role of DBA, but within the IT team, that empower the DBA to be fully effective in their job role and career development.

System Administrator

The System Administrator is responsible for server maintenance and configuration. They install, upgrade and tune the operating system. Responsibility for implementing the backup/recovery plan falls into Systems Administration as does the development and implementation of a Disaster Recovery plan. The System Administrator works closely with the DBA and the Network Administrator.

Network Administrator

The Network Administrator is responsible for the network architecture, maintenance, performance and monitoring of the network. The Network Administrator works with WANS, routers, subnets, etc. The Network Administrator works closely with the DBA, System Administrator and Desktop Administrator.

Desktop Administrator

The Desktop Administrator is responsible for the PC network at the workgroup level, setting standards for LAN software and hardware, and testing and configuring the network software on the client and file servers. The Desktop Administrator maintains file servers, terminal servers, and troubleshoots PC and LAN issues. The Desktop Administrator works closely with the Systems Administrator, DBA and the Network Administrators.

Developer

The development staff is responsible for the design, and creation of the various programs making up the business application. Developers should be familiar with forms, PL/SQL, 3GL languages, and Client/Server development skills. Developers work closely with the Business Analysts, the Application Administrators, and the Application DBA.

Application Administrator

The Application Administrator is an individual with an in-depth knowledge of the use of the applications. The Application Administrator is responsible for the configuration of the application from the users viewpoint, enrolling end-users, and trouble shooting problems for the help desk. The Application Administrator role works closely with the Business Analysts, Developers, DBA'S, and Desktop Administrators.

Business Analysts

The business analyst is responsible for implementing the applications and facilitating any transition required from legacy systems. The Business Analyst has in-depth knowledge in the business functions of the corporation and other areas of the system. The Business Analyst works with the project managers, Developers, end users and the Application Administrators.

TYPES OF ORACLE DBAs

As scope, size, and complexity of systems expand, the DBA role can be broken into several areas of responsibility or specialties. For smaller organizations, this may not be necessary, but in larger organizations DBA's tend to be broken out into areas of specialty.

Database Operator

The database operator provides manual monitoring of the database console, tape mounting, and critical jobs. The database operator verifies backup or archives ran correctly, restarts the backup or archives if necessary, and monitors the available freespace in the backup and archive directories. The Database Operator can be supported by existing staff or filled utilizing a third party tool.

System DBA

The System DBA's role is critical for the initial database architecture, for new projects or application upgrade analysis, and capacity planning. A System DBA not only has experience with Oracle and advanced features such as replication, parallel server, and partitioning, but also a background in system and network architecture. Without a System DBA, many organizations later find themselves against a wall with I/O, performance, storage management, backup, and capacity problems.

Application DBA

The Application DBA provides database modeling support and development of the logical database. The Application DBA develops applications architecture, performs SQL tuning and supports the applications. The Application DBA works closely with Developers, the System DBA and Business Analysts.

DEMANDS OF A DBA

· According to a recent Computerworld survey, the average, information technology professional works over 50 hours per week.

· Over half of the surveyed IT workers said they "occasionally" miss getting home for dinner; with 28% saying "frequently."

· Almost half, work an average of six hours on Saturdays and Sundays and said they work while on vacation. 61 % of IT professionals interrupt their vacations to call and check on things at work with 25% of them bringing along a laptop computer, pager or cellular phone to stay in touch with the office.

WHAT TYPE OF DBA IS REQUIRED FOR AN ORGANIZATION?

DBA's skill types range from operators to Senior System or Applications DBA'S. What type of DBA, and how many are needed? If an experienced DBA is hired only to monitor Oracle and ensure backups and jobs are completing, they will probably become bored and leave. On the other hand, if you hire a single DBA not only to administer the databases, but the systems and applications for the 20+ servers, they will soon burnout and leave.

If all that an organization requires is an additional resource to monitor a database application via a monitoring tool, reacting when the tool tells them there is a problem, then employ a junior DBA or outsource the function. If the DBA is a quick study, you will be lucky if they stay a year in a hot job market.

A junior DBA is indicative of a resume that is full of Oracle projects but most involved third party applications that happened to have Oracle installed as their backend repository. Junior DBA's are too inexperienced to address recovery issues or database internals, but are competent with monitoring database health.

For larger companies, a more senior individual(s) may be needed to participate fully in the companies IT lifecycle. A senior DBA will have a broad range of skillsets to map to business operations and architectures. The Senior DBA may focus entirely on one subject matter such as performance tuning, while another team member is responsible for backups and recovery. In either scenario, the DBA role should follow these fundamental processes:

Identify the root cause of the problem, resolve database problems, and develop methods for preventing the problems

· Review databases with developers, users, and management monthly to detect system or operational problems

· Coordinate on a timely basis to resolve problems discovered or brought to the attention of the DBA

· Implement and maintain methods and procedures for monitoring and maintaining database systems

Maintain and improve technical skills, environment and application knowledge

· Identify training available in areas of needed improvement and attend training as directed

· Four hours monthly in reviewing available World Wide Web sources or trade publications

· Review existing applications by study of documentation and discussions with application developers

· Develop a knowledgebase of the database, environment and associated software

· Assist with support for all application development

· Review reports/logs/dumps and other data to recommend corrective actions to maintain database performance and efficiency

· Coordinate performance and tuning actions with database developers

Review and evaluate status of assigned projects and their impact upon the database systems

· Monitor project progress, discusses major problems with other analysts and management

· When discovered, resolve delays affecting project completion

· Provide weekly status reports to Management

· Conduct database walkthroughs with programmers, analysts, and users prior to finalization of major recommendations

· Review databases thoroughly before recommending new systems or system changes

Provide user support through meetings, presentations, and preparation of documentation

· Establish and maintain effective communication with user community

· Participate actively in meeting with staff and users, demonstrate ability to interpret user needs by preparing thorough summaries and recommendations

· Develop and update user documentation

Prepare and review database specifications, including testing and controls

· Review database recommendations thoroughly with users and management, resolve problems or differences before final recommendations are made

· Study new database design principles, and developing knowledge of database principles by applying them in projects

· Gather information from users and staff when required by project tasks, to be evaluated by supervisor through review of work, discussion with users, and review with other analysts

Prepare budgets, planning documents and maintain service contracts

· Prepare requested material on time. Prepare requested material for fiscal year by stated deadlines

Design, create, and maintain physical and logical databases

· Participates in logical model design or walkthroughs of the logical model design to gain an understanding of the logical model design. Present physical implementation concerns to the design teams and management

· Create physical databases using sound design principles including documentation of the creation and access procedures

· Create, tests, and monitors backup procedures for the physical or logical databases

· Maintain the physical database by monitoring and recommending changes as needed to management. Create quarterly reports on physical storage needs, memory requirements, and database upgrades projected for a two year time span


TRAITS AND RESPONSIBILITIES OF A DBA

Many organizations tend to concentrate on technical knowledge and overlook personality. Like most IT roles, the role of DBA is customer-service oriented. The DBA will have to interface with a variety of people: users, developers, administrators, vendors, and managers.

Consequently, these traits should be consider when filling the DBA role:

· Communication skills

· Confidence

· Curiosity

· Detail oriented

· Determination

Base Responsibilities

Architecture

· The DBA needs be familiar with sizing, file placement and specification of storage media. Expertise in RAID, failover, networking, disk shadowing, solid state disks, and their application to the Oracle database environment are important. The DBA needs to be familiar with installation and updates for the database server platform. For the UNIX operating system, DBAs should be familiar with the drawbacks and benefits associated with use of raw devices.

Availability & Maintenance

· One of the jobs of a DBA is monitoring and tuning of the database. Monitoring and tuning requires a detailed understanding of the Oracle data dictionary, TKprof, Explain Plan, cost based, rule based optimizers indexes, use of hints, and SQL statement tuning.

Backup and Recovery

· A DBA must understand all of the backup and recovery options. Use of the import and export utilities, cold and hot backups. Recovery scenarios are subject matter that a DBA must understand.

Business Processes & Requirements

· A DBA should possess a sound understanding of the business requirements and how they map to database methods and systems

Security

· An understanding of Oracle security is critical to the DBA role. Knowledge of roles, profiles, system, and object level privileges is essential for a DBA. In addition, understanding how the operating system security interacts with Oracle is equally important.


COMPREHENSIVE LIST OF DBA RESPONSIBILITES

The following outline is a comprehensive listing of the DBAs responsibilities. The intent is not to assign al se responsibilities as the role of the DBA, but for an organization to choose and staff the activities that fit their business requirements.

Database Architecture Duties

· Planning future storage requirements for the database

· Define database availability and Fault Management architecture

· Defining and creating environments for development and new release installation

· Creating physical database storage structures once developers have designed an application

· Constructing the database

· Determine, set sizing and physical locations of datafiles

· Evaluation of new hardware and software purchases

· Research, test, and recommend tools for Oracle development, modeling, database administration and backup and recovery

· Provide database design and implementation

· Provide technical direction and vision of Oracle technologies (what's coming next i.e. parallelism, replication, partitioning)

· Understand and employ the Optimal Flexible Architecture to ease administration, allow flexibility in managing 1/0, and to increase the ability to scale the system

· Work with application developers to determine and define proper partitioning

Backup and Recovery

· Determine and implement the backup/recovery plan for each database while in development and as the application moves through test and onto production

· Establish and maintain sound backup and recovery policies and procedures

· Knowledge and practice of Oracle backup and recovery scenarios

· Perform Oracle cold backups when the database is completely shutdown to ensure consistency of the data

· Perform Oracle hot backups while the database is up and operational

· Perform Oracle import/exports as a method of recovering data or individual objects

· Provide retention of data to satisfy ethical and legal responsibilities of the company

· Restoration of database services for disaster recovery

start_blog_img