Розбираємося з утилітами для бекапа баз даних

Сервери баз даних - одні з ключових в будь-якій організації. Саме вони зберігають інформацію і надають видачу за запитом, і вкрай важливо зберегти БД в будь-якій ситуації. Базова поставка зазвичай включає потрібні утиліти, але адміну, не стикалися до цього з БД, доведеться деякий час розбиратися з особливостями роботи, щоб забезпечити автоматизацію.

Види бекапов баз даних

Для початку розберемося з тим, які взагалі бувають бекапи. Сервер баз даних не є звичайним десктопних додатком, і, щоб забезпечити виконання всіх властивостей ACID (Atomic, Consistency, Isolated, Durable), використовується ряд технологій, а тому створення і відновлення БД з архіву має свої особливості. Існують три різних підходи до створення резервної копії даних, кожен з яких має свої плюси і мінуси.

При логічному, або SQL, бекапе (pg_dump, mysqldump, SQLCMD) створюється миттєвий знімок вмісту бази з урахуванням транзакционной цілісності і зберігається у вигляді файлу з SQL-командами (можна вибрати всю базу або окремі таблиці), за допомогою якого можна відтворити базу даних на іншому сервері. На це потрібен час (особливо для великих баз) для збереження і відновлення, тому дуже часто цю операцію виконувати не можна і її виробляють під час мінімального навантаження (наприклад, вночі). При відновленні адміністратор повинен буде виконати кілька команд, щоб підготувати все необхідне (створити порожню базу даних, облікові записи та інше).

Логічний бекап використовується в тих випадках, коли необхідно одноразово зробити повну копію бази або в повсякденному експлуатації для створення копії не буде потрібно багато часу або місця. Коли ж вивантаження баз займає багато часу, слід звернути увагу на фізичне архівування.

Підтримувані СУБД: PostgreSQL

Barman (backup and recovery manager) - внутрішня розробка компанії 2ndQuadrant, що надає послуги на базі PostgreSQL. Призначений для фізичного бекапа PostgreSQL (логічний не підтримує), архівування WAL і швидкого відновлення після збоїв. Підтримуються віддалений бекап і відновлення кількох серверів, функції point-in-time-recovery (PITR), управління WAL. Для копіювання і подачі команд на віддалений вузол використовується SSH, синхронізація і бекап за допомогою rsync дозволяє скоротити трафік. Також Barman інтегрується зі стандартними утилітами bzip2, gzip, tar і подібними. В принципі, можна використовувати будь-яку програму стиснення та архівування, інтеграція не займе багато часу. Реалізовано різні сервісні і діагностичні функції, що дозволяють контролювати стан сервісів і регулювати смугу пропускання. Підтримуються Pre / Post-скрипти.

Розбираємося з утилітами для бекапа баз даних
Конфігураційний файл Barman

У репозиторії не завжди остання версія, для її установки доведеться звернутися до вихідних текстів. Залежностей трохи, і розібратися в процесі нескладно.

Sypex Dumper

Підтримувані СУБД: MySQL

Ще один плюс, на відміну від інших інструментів, при експорті виробляють перекодування в UTF-8, - в Dumper експорт виробляється в рідній кодуванні. Результуючий файл займає менше місця, а сам процес відбувається швидше. В одному дампі можуть бути об'єкти з різними кодуваннями. Причому легко імпорт / експорт зробити в кілька етапів, зупиняючи процес під час навантаження. При поновленні процедура почнеться з місця зупинки. При відновленні підтримується чотири варіанти:

  • CREATE + INSERT - стандартний режим відновлення;
  • TRUNCATE + INSERT - менше часу на створення таблиць;
  • REPLACE - відновлюємо в робочій базі старі дані, що не затираючи нові;
  • INSERT IGNORE - додаємо в базу віддалені або нові дані, не чіпаючи існуючі.

Управління проводиться за допомогою веб-браузера, інтерфейс з використання AJAX локалізована з коробки і створює враження роботи з настільним додатком. Також можливо запускати завдання з консолі і за розкладом (через cron).

SQL Backup And FTP

Ліцензія: комерційна, є версія Free

Підтримувані СУБД: MS SQL Server

Розбираємося з утилітами для бекапа баз даних
SQL Backup And FTP дозволяє одним клацанням зробити бекап MS SQL

Але є одне але". Сама програма не призначена для відновлення архівів. Для цього пропонується окрема безкоштовна утиліта One-Click SQL Restore, розуміюча і формат, створений командою BACKUP DATABASE. Адміну необхідно лише вказати архів і сервер, на який відновити дані, і натиснути одну кнопку. Але в більш складних сценаріях доведеться використовувати RESTORE.

Розбираємося з утилітами для бекапа баз даних
Утиліта One-Click SQL Restore призначена для відновлення баз MS SQL

Особливості бекапа MS SQL Server

Створення резервної копії та відновлення СУБД має свої відмінності, які потрібно враховувати, особливо їх багато при перенесенні архіву на інший сервер. Для прикладу розберемо деякі нюанси MS SQL Server. Для архівування за допомогою Transact-SQL слід використовувати команду BACKUP DATABASE (є і різницева DIFFERENTIAL) і журнал транзакцій BACKUP LOG.

Якщо резервна копія розгортається на іншому сервері, потрібно переконатися, що присутні ті ж самі логічні диски. Як варіант - можна вручну прописати правильні шляхи для файлів бази даних, використовуючи опцію WITH MOVE команди RESTORE DATABASE.

Проста ситуація - бекап і перенесення баз на інші версії SQL Server. Ця послуга підтримується, але в разі SQL Server буде працювати, якщо версія сервера, на якій розгортається копія, така ж або новіше, ніж та, на якій вона створювалася. Причому є обмеження: новішими не більш ніж на дві версії. Після відновлення БД буде знаходитися в режимі сумісності з тією версією, з якою здійснювався перехід, тобто нові функції будуть недоступні. Це легко поправити, змінивши COMPATIBILITY_LEVEL. Можна це зробити за допомогою GUI або SQL.

Ліцензія: комерційна, є версія Free

Підтримувані СУБД: Oracle 9-11, XE, MySQL, MariaDB, PostgreSQL і MS SQL Server

Розбираємося з утилітами для бекапа баз даних
Налаштування завдання в Iperius

Можливість закачування по FTP дозволяє легко оновлювати інформацію на декількох веб-сайтах. Відкриті файли резервуються за допомогою технології VSS (тіньового копіювання томів), що дозволяє виробляти гарячий бекап не тільки файлів СУБД, але і інших додатків. Для Oracle також задіюється засіб організації резервного копіювання і відновлення даних RMAN (Recovery Manager). Щоб не перевантажувати канал, є можливість налаштування смуги пропускання. Управління резервуванням і відновленням проводиться за допомогою локальної та веб-консолі. Всі функції на увазі, тому для налаштування завдання буде потрібно лише розуміння процесу, в документацію заглядати навіть не доведеться. Просто слідуємо підказкам майстра. Також можна відзначити менеджер облікових записів, що дуже зручно при великій кількості систем.

Handy Backup

Підтримувані СУБД: Oracle, MySQL, IBM DB2 (7-9.5) і MS SQL Server

Одна з найпотужніших систем керування базами даних - IBM DB2, що має унікальні функції по масштабування і підтримуюча безліч платформ. Поставляється в декількох редакціях, які побудовані на одній базі і відрізняються функціонально. Архітектура баз даних DB2 дозволяє управляти практично всіма типами даних: документами, XML, медіафайламі і так далі. Особливо популярна безкоштовна DB2 Express-C. Бекап дуже простий:

Але потрібно пам'ятати, що в разі знімків ми не можемо відновлювати (db2 recover db) окремі таблиці. Є і можливості з автоматичного бекапа, і багато іншого. Продукти добре задокументовані, хоча в російськомовному інтернеті керівництва зустрічаються рідко. Також далеко не у всіх спеціальних рішеннях можна знайти підтримку DB2.

Наприклад, Handy Backup дозволяє виконувати бекап декількох типів серверів баз даних і зберігати файли практично на будь-який носій (жорсткий диск, CD / DVD, хмарне та мережеве сховище, FTP / S, WebDAV і інші). Можливий бекап баз даних через ODBC (тільки таблиці). Це одне з небагатьох рішень, які підтримують DB2, і до того ж має логотип «Ready for IBM DB2 Data Server Software». Вся процедура виконується за допомогою звичайного майстра, в якому необхідно лише вибрати потрібний пункт і сформувати завдання. Сам процес налаштування настільки простий, що розібратися зможе і новачок. Можна створити кілька завдань, які будуть запускатися за розкладом. Результат фіксується в журналі і відправляється по email. Під час роботи завдання зупинка сервісу не потрібна. Архів автоматично стискається і шифрується, що гарантує його безпеку.

Розбираємося з утилітами для бекапа баз даних
Робота майстра створення нового завдання в Handy Backup

Покажи цю статтю друзям: