There are dozens of lists out there defining the “Top X Ways to Be an Awesome DBA.” A lot of the lists are a mix of soft skills and technical skills, which is helpful, especially for new DBAs. Veteran DBAs will attest that sometimes your people skills will solve a problem no amount of technical knowledge can.
Many of these lists also emphasize the importance of understanding the business needs behind the organization’s servers. This is excellent advice; a DBA who doesn’t know the purpose of the databases they manage can’t fully grasp the databases’ impact on the organization, which can decrease the DBA’s efficacy in their role. Without a doubt, soft skills and business knowledge are important for DBAs. But maintaining high-performing databases is a DBA’s main responsibility. With that in mind, we’ve compiled a list that focuses on the database performance monitoring habits of successful DBAs.
Secure Your Databases
Database security is a huge priority for today’s consumers. Data breaches are getting bigger and nastier, so if you can’t reassure customers that you take their data security seriously, they won’t be your customers for long.
The obvious first step to securing your databases is to put them behind a firewall and set up encryption. However, one of the best but sometimes overlooked ways to keep your databases secure is to closely monitor who has access to the database and control what they can do while they’re in there. Restrict access to only the most essential users, limit sysadmins, minimize permissions, and regularly remove orphaned users. You should also require everyone with database access to create strong passwords and set up authentication.
It’s also a good habit to read what notable security experts have to say. Security threats are evolving and becoming more sophisticated, so staying on top of new tools and technology is crucial to securing your databases.
Make Performance Tuning Proactive, Not Reactive
Waiting until you have a performance issue to ramp up your performance monitoring is ineffective, to put it mildly. Successful DBAs anticipate potential performance problems and proactively prepare the system to mitigate or eliminate them.
When a DBA takes over a new database, one of the first things they should do is get to know the workload. Seek out answers to some key questions, such as:
- When is the workload at its busiest?
- What is the failover plan?
- When was the last time it was backed up?
- Does it have sufficient CPU, memory, and storage to meet its SLAs?
Successful DBAs track performance metrics to identify problems before they occur. But before you jump into gathering new metrics, you need to measure the performance baseline. It’s impossible to know whether performance is degrading or improving if you don’t know where it started.
Once you have your baseline measurements, some of the most important areas to monitor over time are:
- Query performance
- Response time
- Availability and continuity
Schedule regular health checks to pinpoint performance issues and weak spots within the system. Health checks will help you identify problems with security, disaster recovery, memory, I/O, and configuration before they cause user-facing performance problems or downtime.
Create a Recovery Plan Anyone Can Follow
Even the most well-thought-out, comprehensive disaster recovery plan is useless if no one can implement it. That’s why it is crucial to document the plan in a way that even non-DBAs can follow. Here are some tips for creating a fool-proof recovery plan:
Memorize the key steps. Knowing the first things you need to do after a disaster will kickstart the recovery process and minimize impact to the database.
Know the recovery point objectives and recovery time objectives. These objectives define the age of the files that must be recovered from backup in case of failure and how long you have to recover and restore processes after a failure, respectively. Having this information readily available will minimize database downtime.
Make documentation easily accessible. Store the recovery plan documentation where it can be easily found by those who may need to use it. If they can’t find the plan, they can’t implement it.
Write the plan in plain language anyone can understand. There may not be a DBA handy when disaster recovery begins. Be sure to write the plan in non-technical language so recovery can begin immediately.
Regularly test and verify the recovery plan. Don’t wait until you need to implement your recovery plan to find out whether or not it works. Periodically test recovery and backup to save yourself a nasty surprise.
Store the backup off-site/in the cloud. Keep a copy of the recovery plan and the system backup far away from company headquarters. Storing a copy off-premises or in the cloud will protect it from being destroyed in the event of a fire, hurricane, or other natural disaster.
Automate All the Things
Unfortunately, DBAs have the same 24 hours in a day as the rest of us to get everything done, which makes automation the successful DBA’s best friend.
In addition to helping DBAs avoid introducing human error, automating some of the more repetitive DBA tasks, such as patching, database provisioning, diagnostics, and log management, frees up their time to work on high-value tasks that can’t easily be automated.
DBAs can avoid many performance issues simply by keeping maintenance top of mind and on a regular schedule. Using checklists to track maintenance helps ensure tasks such as backups, alarm management, and defragmentation are done regularly. Staying on top of these tasks will keep your databases healthy and high-performing and will minimize opportunities for some common performance killers to take hold.