The main question about the DBA job I hear all the time is: How can I became a successful DBA?
Most of the people that I talk to who have difficulties starting out in their DBA career really have an issue trying to absorb the mountainous volumes of information that a DBA needs to know this days. The evolution of the DBA role in the past few years was amazing, from a role that was basically responsible for administrate one or two small Oracle Databases and interact very closely with some System Administrators to become a super role (most of the time absorbing System and Network administrator responsibilities) some modern DBA responsibilities could be to manage:
- Several Oracle Databases and Data Warehouses
- High Availability environments like RAC and Standby Databases
- Other type of RDBMS (MySQL, SQL Server, DB2, etc)
- Support servers (Application and DB)
- Security and Network stability
- Storages and Clusters
- Mentor other DBAs
- Backup and Recovery Strategy
- Handle User problems (including functional side of applications)
- Review SQL and PL/SQL codes
- Control and execute promotions to production environments
As per example, here are some common duties for a DBA in today’s world:
- Monitor database instances on a daily basis to ensure availability.
- Resolve unavailability issues.
- Collect system statistics and performance data for trending and configuration analysis.
- Configure and tune DB instances for optimal performance under application specific guidelines.
- Analyze and administer DB security. Control and monitor user access. Audit DB usage when necessary.
- Monitor backup procedures and Provide recovery when needed.
- Develop and test backup and recovery procedures.
- Upgrade RDBMS software and apply patches when needed.
- Upgrade or migrate database instances as necessary.
- Support application developers with any and all dB related activities.
- Keep up with DB trends & technologies.
- Use new technologies when applicable.
- Install, test, and evaluate new Oracle related products.
- Perform storage and physical design.
- Balance design issues to achieve optimal performance.
- Create, configure and design new DB instances.
- Diagnose, troubleshoot and resolve any DB related problems.
- Work with Oracle Support if necessary to bring problems to a successful resolution.
- Ensure that Oracle networking software is configured and running properly.
- Work with System Administrators (UNIX & NT) to ensure Oracle related matters are handled properly, or in some cases, do yourself it.
- Train/Mentor new DBA’s
- Create, Manage and Monitor Standby Databases
- Understand your user Applications and needs.
- Configure and Manage Database and Application Servers
- Manage and configure Clusters , DWs and AS
- Configure and Manage different type of RDBMS (Remember, you are a Database Administrator and they are database)
- XML, Java, PHP, HTML, Linux, Unix, Windows Scripting
- Create any necessary scripts for effective and occasionally periodic dB maintenance activities.
- Capacity Planning /Hardware Planning
Like you can easily see, the DBA job is not easy, and each professional need to be capable to be multitasks and manages a lot of responsibilities and stress.
In this paper, we will see several examples on how to improve your DBA career and how to become a real success DBA.
First, Learn to change yourself
If you want to become a successful professional, first you need to educate yourself to be successful! Your future success depends only in your attitude today. You control your life, nobody else!
Becoming a successful DBA is a combination of:
- Your professional attitude, always think positive and always look for solutions instead to kill yourself in a cup of water.
- Learn how to research, before do something, investigate, search in the internet, read manuals. You need to show that you know how to do a properly research and look for solutions for your problems yourself.
- Innovate, don’t wait for others to do your job, or because the other DBAs don’t care about the business you will do the same. Learn to innovate, learn to become a leader and make everyone follow your example with results. Think Different!
- Learn to communicate properly; the best way to learn how to communicate effectively is learning to listen first. Listen, than analyze the context expressed and only than communicate an answer in a professional and honest way to your peers. Always treat everyone the same way you would like to be treated.
Albert Einstein said one time:
“If I had one hour to save the world, I would spend fifty-five minutes defining the problem and only five minutes finding the solution”
Learning to be Proactive
Why check the problems only when they are critical, or when is too late and the database is down, or the users are screaming?
Being proactive is the best approach to keep your DB healthy and to show your company, or your clients that you really care about them.
Many DBA’s expend most of their time being fire-fighters only, fixing problems and working on user’s requests all the time. They don’t do any proactive work; this mentality only will cause an overload of work to them, thousands of dollars of overtime, several hours without access to the data to the users, poor performance to the applications, and what is worse of all, several unhappy users thinking that you doesn’t have the knowledge needed to take care of their data.
Let’s mention a small example, you have the archive log area alert set to fire when it is 95% full, and this happens in the middle of the night, some DBA’s will take seriously the alert and solve the problem quickly, others will wait until the next day to take care of it because they are tired, or sleeping, or they are in a place without internet access at the moment the alert arrived. Will be a lot easier if they set a proactive alert to be fire when 75% or 85%, or even better, take a look in the general health status of the DB before leave their work shift, to try to detect and solve any possible problem before be a real problem and be awake in the middle of the night or during the weekend (Remember how important is your personal and family time). I’ll always recommend to DBA’s to run 2 checklists daily, one in the start of their shift and other before they leave their shift.
I know several DBA’s that complain all the time that they got so many calls when they are on call, but they don’t do anything to solve the root problem, they only expend their time to solve the symptoms.
Here in my blog you can find an Oracle checklist script that will help to make your life a little easier (This is not my complete script, but will be a good start for you). This script is a compilation of several normal checklists and you can setup them with your own requirement and thresholds and always remember to have a baseline to compare. This script will not only help you to detect future or current problems, but also will help you to detect possible tuning requirement.
You also have several tools available in the market that can help you to monitor and setup your DB alerts, and help you with the proactive monitoring like: Oracle Enterprise Manager, Insider (FourthElephant), Spotlight (Quest) or if you prefer, your own scripts. The idea is to use them always on a proactive way, never reactive.
Let’s change our mentality, let stop being a fire-fighter and start to be a real hero!
Backup And Recovery
It’s time to be “Proactive with Backup & Recovery”, always when I arrive on a new client I ask the DBA on charge the following questions:
- Do you have your recovery strategy documented step by step?
- Are you 100% sure that your tape backups are usable?
- Do you know exactly how long a recovery on your production environment will take if necessary?
And almost 90% of the time the answers will be:
- I not sure, but I think so!
- No idea, probably…!
You will be on shock to know how many times I’m call to support a DBA to try to recover a Database because the most current tape backup is unusable!
Backup & Recovery are a very important (crucial) part of a DBA role, as a DBA I’ll never be stressed enough to repeat over and over what in my opinion is the most important rule for a DBA:
“The most important rule with respect to data is to never put yourself into an unrecoverable situation, never!”
You know, because bad stuff happens….
…When you less expect, and due to this, I’ll always recommend a DBA to perform a proactive approach to his/her Database Backup and Recovery strategy.
The main idea is:
- Randomly choose a backup tape and recovery it on a test machine (It can be a virtual one).
- Take this opportunity to document all the recover process.
- Review the entire process ant try to improve it!
- Repeat this exercise every month and try to involve other DBAs in the process!
This easy process will allow you to:
- Test your Tape backups and see if they are being backup correctly.
- Check and improve your recovery knowledge and strategy.
- Document all your recovery process that could be used for any other DBA in the company in case you are not available in the recovery situation.
- Detect any error on your backup & recovery strategy.
- Know your recovery time. Next time your manager asks you” Do you know how long a recovery will take? You will know the exact answer.
- Have an opportunity to review your process and try to make it more efficient.
Like you can see, this is an easy proactive exercise that will allow you and your company to be prepared in case of a disaster and recovery situations occurs, and you know when this always happens….
Francisco Munoz Alvarez