So this post is about DBA’s like me. I am a systems DBA and not a developer. In fact I know very little about the language of SQL and I need to learn a lot more about it and hopefully I can integrate using more SQL into my job. Anyway, I ask the question of what is the primary responsibilty of a DBA? Is it Preformance, making sure Connectivity is available, Tuning SQL, Helping Developers, or making sure we can recover (Making sure that our data is safe.)?
I am still pretty new but I strongly believe that it is making sure that the data is safe and the we can recover. This seems like an after thought, like something that is so simple that we do not even need to talk about it. I disagree. I have done a ton of reading and watched more than a few webcasts about how to be a good DBA and one thing that comes up over and over is data recoverability. That, in my view, is the most basic function of the Primary DBA. When the Developer, who would never really do this, trys to get around the checks and balances that you should have in place and develops some code in production that delets 10,000 rows from a table and commits the transaction, who do they call? They call us, the Production DBA and in a panic they beg you to save them.
Are you sure that you can save them? How are you sure? Have you tested your backups to make sure that they are recoverable? Do you have the correct backup strategy in place for this database to make recovery faster and easier on all?
Backing up is easy but having the ability to restore is what matters most. If you have taken a backup that is corrupt then what good was the backup? Because of this I am building a server whos only purpose will be restoring databases. That is what it will do all day and all night. I am going to automate it to go through each instance I have and each database that I have and restore them all and notify me of any issues. I have to know that I can restore that data. Another good thing about this is it will give me an idea of how long of an outage I will require if a full restore is required. That is good to know. That way users, and the application teams will know exaclty what to expect and will be able to determine if they should throw money at it to get a bigger better server, or some better backup recovery tool in order to make the recovery faster. All good things.