Job description and Role of Oracle DBA


 Job description and Role of Oracle DBA

I found this Article long back hope sharing with you this is amazing work for the people who wants to know the job description and role of Oracle DBA


How many of you began your IT career with a job where you (or you were a pmi of as mall team that) "designed" tables to hold data and wrote SQL statements to manipulate (Insert, Update or Delete) or query the data? Without reference to potential future needs for "enhancements"? Without considering how data integrity would be enforced? Without a strategy to backup and recover the data? Did you say "The DBA will handle schema changes? The DBA will enforce integrity. The DBA will guarantee that all the data can be restored (from backups he creates) at any time."?

Introduction

This paper is an attempt to define what the DBA does. And what he does not do. It will make for much better clarity when his Manager reviews the DBAs actions and value to the organisation. Development teams and Users (I hope!) will better appreciate and understand his position.

Responsibilities

You would have read the many listings of "Responsibilities" (particularly in job ads?) which include

1. Install    Oracle RDBMS Software   (and, sometimes,   any other     "packaged" software)
2. Create the Database, Maintain Database Accounts, Maintain Table spaces and Free Space
3. Implement Auditing, Generate Audit Reports, possibly even Review Audit Reports and Monitor the Database Instance for “Performance" and "Availability"
4. "Tune" the Database (and this phrase has so many different connotations!)
5. Create Backups and Maintain Backup Catalogs (how many definitions include "Test Restoration and Recoverability Scenarios?")
6. Work with Developers, Work with Analysts, Work with Managers --- to define and configure database objects, extract information, implement changes
7. Install Patches, Upgrade Databases, Migrate Databases, Clone Databases
                                                                                                .... And the list goes on....

Similarly,  the  ''Tasks  of  a  Database  Administrator " in  the  Oracle  documentation

( http://download.oracle.com /docs/cd/E1188201/server.112/e17120/dba002.htm#i10062.Qi ) is old-school.  That list is far from complete.

The DBA's role in an organisation may evolve, grow and mature over time. The DBA's role may vary with the type of application and project he supports - particularly when working with packaged applications or with Consultant/Vendor implementations. If the DBA is in an outsource team he may be providing only Operational support and no Design and/or Performance Tuning support.



How else can we define the DBA's role?
DB "A" for AVAILABILITY.   If there are flaws in the Infrastructure which impinge on database availability, it is his job to highlight them (and we expect him to be skilled enough to identify them first!). However, it is incumbent on him to first implement or recommend implementation of infrastructure, protocols  and  SLAs  that  define Availability. Availability is about Data Accessibility, System  (database/application) Uptime and System (database/application) Performance, in that order.

DB "A" for ADMINISTRATION. 

Administration is not about using the Oracle Enterprise Manager GUI. It is about knowing how Oracle works and how the database facilitates meeting user requirements via the application. Just as your Office Administrator knows which forms are to be used for Sick Leave applications and how to file and follow up on Taxi Claims, should the Database Administrator know the elements that make up the Database Infrastructure and how to make use of them or query them? If there is a need to determine why reports run slow, he must be familiar with the sequence of operations that cause report requests to be submitted, extracts from the database to be executed and reports to be generated in the required layout. He must be able to use his knowledge of the data flows and logic to identify and resolve issues and/or recommend and implement improvements.


Skills

How does the DBA get skilled? The "OCP" 'degree' seems to be very popular - and employers are looking for Certified DBAs. I would advocate that *formal training* be complemented by apprenticeship. (And, yes, very unfortunately, many OCPs aren't even formally trained?) Just as a Chartered Accountant or a Doctor, has to gain "hands-on" experience as a junior to a mentor/senior/trainer before he receives his qualification should an OCP be required to have "on-the-job learning" before he receives his Certificate. Why?

Because

OC "P" for PROFESSIONAL.     The word  "Professional"  is badly  abused  in the context of the "OCP" "Certificate". A  Professional is a member of a vocation which mandates specialized education and training and requires him/her to follow strict  ethical  and moral codes. Ethics are very important.  More so when you  are managing and/or have access to data that you do not personally  own.  DBA  Managers  *must* review  DBA  backgrounds and  behaviors.
Honesty and Ethics go with Professionalism. When I read of the opinion many employers and consultants have about "Certified DBAs" I cringe. Many of us are not Professionals. Database Professionals owe a higher duty to protect the employers I clients’ interests (the "D" in Data!) then, say, PreSales Consultants and, even, Project Managers. If a project is using or implementing methods (such as discarding controls over data access OR eliminating backups), the DBA must step up and not stand down. The Clients/Users Data is paramount and cannot be compromised.

Another aspect of Professionalism is (to pick an element from other fields): Continuous [Self] Improvement. Lawyers must ensure that they know  current  Case  Law. Professional DBAs must ensure that they know available options, best I good practices. A DBA cannot force an upgrade to I l g but he would be lacking in his responsibilities if he is not prepared for 11g and does not help his organization prepare for 1 1g. There are numerous ways to "keep in touch" with current technology --- the standard documentation, available online, User Groups (such as AIOUG), SIGs (Special Interest Groups), Technology Days and Seminars, forums  Email  Discussion  lists Newsgroups and Oracle Technology Network and Oracle Magazine. There are numerous blog and feed aggregators as well that collect information. And there are numerous "free" sites where you can learn (Oracle Learning Library is a very  good  collection  of tutorials). And, most important of all: MyOracleSupport. If your organization doesn't give you access to Oracle Support, complain and complain and complain again. Once you do get access, make sure that you "surf ' the Knowledge Base frequently.
Oracle University and other institutes do provide standard training. However, the best learning is experience. If you don't have the experience, you can learn from the experiences of others. See the Resources list in the  Appendix  for  sites I discussion groups I online learning options -most of which are free.

A Professional  doesn't just  "take" but  also "shares".  Share your knowledge  with  others at any of these forums/sites/lists and you will see that you learn more yourself as you interact with others.

And, finally, Attitude is part of Professionalism. Attitude does not merely mean Confidence.     Attitude *also* means being Careful and Complete when reviewing, modifying or fixing an issue.


Work

With Developers/Consultants/Implementers: You, as the DBA must make  yourself familiar with the schema and how data is inputted/loaded and retrieved/extracted from the database he administers. This requires InterPersonal Skills besides  Technical Knowledge. A "Superior than Thou" ("I am right, you are wrong") attitude is very harmful and limits the DBA's ability to perform later when he needs co-operation from the same people that he has irritated.

With your Manager: You must keep your manager aware of what you are working on. A DBA's actions may not be visible, particularly in the context of operations of a production database. Yet, you must identify at least one notable action I change I discussion I recommendation that you have initiated or participated in and document it each day. Your Manager is not interested in a daily list but may need to ask for a "DBA Actions" list on occasion --- particularly as each employee's position in the organization has to be justified.  Your documentation would be invaluable in proving his worth.

With the Database: Each database configuration, control and process must be documented. Whether there is a centralized Change Management System or not, you must be able to identify and retrieve details of each change that has been implemented. This requires documentation. Email trails are haphazard documentation.  Copy the contextual information (and names of stakeholders) from emails into a document if you do not have a Change Management System that captures all the details.
In fact, Change Management is underutilized.  Not adequate detail is captured   in   the system as  DBAs  and  Managers  are  in  a  hurry  to  get  a  Change  Sign-Off  Yet,  this  very hurry  can  bite  them  later.  I  have  seen  a  number  of  occasions  when   the   DBA   and Developer  could  not  identify  all  the  changes  that   had   been   implemented   or,   worse, pointed to the wrong set of changes when a  Review  - particularly  in  the  context  of  an Incident  - is  required.  Do NOT include your own biases   when   documenting   and presenting   Changes for a Review.    State the facts in the documentation

Database Reviews and Tuning

A DBA must grasp the importance of the different datatypes, DDL definitions, SQL syntax options, database binaries and configuration files and control processes.  Needless to say, different Backup and Recovery must be practiced frequently.

You must develop the skills to understand Execution Plans, know how Bind Variables are to be handled when  attempting Explain Plan, know many of the key database instance parameters that relate to performance and backu p and recovery, know how to identify important messages in alert.log and trace files. As I've pointed out earlier, the DBA can learn from the experiences of others.

Alerts for thresholds (for space and performance) are a valid expectation of the DBA. A DBA who does not look out for warnings and alerts and/or ignores them is failing in his responsibilities.

Over time, the DBA is expected to understand the "behaviour" of each database  he manages (which database generates higher redo, how do redo rates, user session counts, IIO rates fluctuate during the day/night/weekends/monthends, which reports are critical to business, which are the most important business hours etc). The ability to identify trends from statistics and from charts (where charts are possible!) is an important advantage a DBA can possess...


Backup and Recovery

Although I have touched on "Availability'', Backup and Recovery deserves special mention again. A DBA that cannot restore and recover the database is failing in his
Most basic duties. If your organization doesn't help you setup adequate resources to provide for protection for the data, make it an issue and raise it with senior management. At the end of the day, if the database needs restoration and recovery, it is the DBA who as to execute the task. Practice Backup and Recovery scenarios. Oracle documentation provides a list of scenarios. The Resources listed in the Appendix have many other write-ups and exercises and experiences on Backup and Recovery.

If you are managing a RAC database, a Standby database configuration, a database
with Streams I Golden Gate for data replication or a database using Storage based replication, make sure that you understand how these work. Ask for training and documentation if implementation has been done by Consultants or Vendors.

Communication

The DBA has to, over time, communicate with Developers, Infrastructure, Managers, Users, Consultants and Vendors. The DBA needs to express himself (or his viewpoint) frequently: in writing when defining issues/requirements/resolutions and orally when negotiating with Managers, Users and Vendors.

Manager' s Expectations

 What should the DBA's manager expect of him?

1.     The 3 basic rules are: Attitude, Attitude and Attitude. A *positive* attitude towards his responsibilities. Does the DBA want to learn? Does he learn? Is he interested in his role, expanding his role?  Will he share his knowledge with other  junior DBAs? (this is important!)

 2.      What contributions has the DBA made to the project? In areas of sizing, logical and/or physical design, infrastructure specifications, scripting for administration, proactive monitoring, scripting alerts, automated and manual fixes, performance tuning, problem diagnosis and communicating issues/designs/diagnosis.

3.      How frequently or infrequently are calls referred to the DBA? Calls by users and developers. Is the DBA able to identify the cause of the issue? Far too often, a call is sent to the DBA when it should be owned by someone else. Is the DBA able to define ownership of a call by isolating the cause?

4.     Is he cautious? An adventurous DBA might not be good for the organization.  A DBA who attempts multiple changes just because he "saw a recommendation on the Internet" and who relies more on Google than on the official documentation may be less than safe.

5. Does he spend time ("invest") in "getting a feel" of the databases that he manages? Can he tell you when the database is ''busiest" (high transaction rates, high 1/0 rates, high CPU usage), when peaks and troughs occur in database activity, how long do the daily I weekly backups take to run, how large the database is and how much it has grown in the last month,  3 months,6 months, year ? 

What does a DBA *not* do?

What are the actions that a DBA should not do?

1. Blame without Factual Evidence. A DBA may speculate that the hardware is underperforming but he needs to gather factual evidence (IO rates, wait times, CPU usage statistics) before actually putting the blame on hardware.

2.      [Blindly] Use advice from Google. A DBA does not use a web document that he found doing a Google search until and unless he has either a) tested and validated it b) discussed it  with senior  DBAs I colleagues c) checked with well-known authorities d) checked with official Oracle Support.

3.      Implement a change without Testing I Validation. A DBA does not implement a change (whether from a vendor, a developer or as an "instruction" from a Manager) without reviewing the change, validating it and knowing the potential impact.

4.      Not reviewing alert.log or OEM alerts and trace files for messages.   These files I
      Messages should be checked periodically.

Common mistakes of DBAs and their Managers

Some common mistakes or shortcomings are:

1. Not capturing the correct Metrics. Metrics about execution  times  for  key jobs, database size, transaction volumes,  user  counts,  backup  durations,  restore  + recovery durations. You need such metrics to be able to report on the "health" of the database I server and for capacity planning.

2. Not planning for training and test environments. Formal product training would be advised at least every 2 versions (e.g. 9i to 11g) if not at every version.

3. Not planning for test environments. The DBA I team must have access to one or more test environments where they can install I backup I restore I clone I destroy I reconfigure. The manager should not expect his DBA to start testing restoration scenarios when the production server is really down, nor should he expect his DBA to attempt a restore + recovery method without having tested it! (And let me say this: Formal training at Oracle University is not adequate in the real­ world).

Appendix :  Resources for DBAs

Oracle Product Documentation:
Documentation:    http://www.oracle.com/technetwork /indexes/documentatio n/index.html

User Groups:
All India Oracle User Group:   http://www.aioug /org Independent Oracle Users Group:  http://www.ioug.org
International  Oracle Users Group Community:  http://www.iouc.org India Oracle Applications Users Group:  http://india.oaug.org
Oracle Applications Users Group:  http://www.oaug.org Quest International  Users Group:  http://www.questdirect.org

Special Interest Groups (SlGs): RACSIG:   http://www.oracleracsig.org BIWASIG:    http://www.oraclebiwa.org
Exadata SIG: http://www.oracleexadata.org

Events:
Oracle Events:  http://events.oracle.com

Forums:
Oracle Forums:  http://forums.oracle.com

Email Discussion Lists:
Oracle-L http ://www.freelists.org/oracle-l

NewsGroups:
GoogleGroups:  http://groups.google.com /group/comp.databases.oracle.server /topics

General Information:
Oracle Technology Network: http://otn.oracle.com OraFAQ:   http://www.orafag.org
OracleBase: http://www.oracle-ba se.com

Tutorials:
Oracle Learning Library:
http://apex.oracle.com /pls/apex/f?p=44785:1 :3520783489611662  ::::: (access it from http://otn.oracle.com )


Official Product Support:

MyOracleSupport:    https://support.oracle.com


Comments

Popular posts from this blog

ORACLE BACKUP AND RECOVERY