Chapter 13. Backing Up Databases

Performing regular database backups is one of the hardest tasks that lies before today’s system administrator. The primary reason is that databases are infinitely larger and more complex than simple filesystem files. In order to properly back up a database, you first need to:

  • Understand the internal structure of your database

  • Understand the available utilities

  • Have an excellent working relationship between system administrators and database administrators

Once you’ve accomplished all of that, you’ll need to choose among your various options:

  • Buy an expensive commercial utility

  • Find or write your own utility

  • Perform cold backups without a utility

Almost anyone who reads this list will find at least one of these steps daunting. Many people work with databases that operate 24 hours, seven days a week. They can’t shut them down for hours at a time to back them up. Even if they could, if a database uses raw devices it can’t be backed up with a regular dump. Of course dd would work, but that would mean doing one thing for filesystems and a different thing for databases. A common theme throughout this book is that different is bad. Every special case is a chance for failure. It’s something else you have to code for, something else you have to watch—something else to break. The result is that database backups are not easy.

Part of the problem is the design process of the actual database engine itself. Historically, the need for bigger storage and faster queries ...

Get Unix Backup and Recovery now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.