Еще раз об уверенности в завтрашнем дне ЧЕРНЫЙ ЯЩИК ИЛИ ЗАЧЕМ НУЖЕН FBDATAGUARD
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Администратор системы должен проверять множество вещей, чтобы быть уверенным в ее работоспособности
База вообще работает ? Бэкап прошел ? А проверочный рестор ? Статистика индексов пересчитана ? Ошибки в firebird.log есть ? Индексы не поломались ? Хватает ли места для базы ? Хватает ли места для бэкапа ? Не застряли транзакции ?
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Вот почему мы создали Firebird DataGuard Наблюдение за базой Предупреждения и советы Автоматизация обслуживания баз данных Гарантия восстановления в сложных случаях РАНЬШЕ БОРОЛИСЬ С ПОСЛЕДСТВИЯМИ, ПОРА ВЗЯТЬСЯ ЗА ПРИЧИНЫ.
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Технические детали FBDataGuard
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Это база данных Firebird Это рабочий сервер Это бэкапы Здесь хранится еще одна копия бэкапов Типичная рабочая среда Firebird
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Рассмотрим сервер в деталях Рабочие параметры Версия сервера Логи Сколько RAM? Временные файлы ? Сервер доступен ? # Mb Записи в логах ? 6 уровней проблем Рекомендуемая версия ? Баги, проблемы Размер логов ?
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Сервер Firebird 7 параметров, которые могут сообщать о проблемах с базой данных и сервером 1. Доступность сервера 2. Размер RAM сервера 3. Количество временных файлов 4. Размер временных файлов 5. Записи в логе 6. Размер логов 7. Версия сервера
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Пример разрешения проблемы с сервером FBDataGuard определил, что размер файлов сортировки = N Размер свободного места на диске с TEMP- файлами = M Места может не хватить ! M – N
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Ретроспективный анализ Все логи хранятся на сервере и позволяют анализировать события, происшедшие в прошлом Инструментарий для удобного просмотра логов
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Обычно базу данных изображают так : База данных как будто это что-то совсем простое. Рассмотрим базу данных Firebird
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Профессионалы видят « много деревьев », а не « лес ».
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Файловая организация БД Файл база данных Том N Том 1 - Основной файл БД - Файлы delta (nbackup) и incremental backups - Файлы томов БД - Внешние таблицы 0-level delta
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Блобы Индексы Внутренняя организация БД Задачи : Проверить физическую целостность данных, индексов и метаданных Проверить логическую целостность Проверить активность метаданных ( статус триггеров, check, хранимых процедур ) Данные таблиц Метаданные
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru FBDataGuard бдит за базой данных : Наблюдает за файлами, томами, дельта - файлами и инкрементальными backups Верифицирует метаданные, данные и индексы Следит за ограничениями ВЫДАЕТ ПРЕДУПРЕЖДЕНИЯ и РЕКОМЕНДАЦИИ
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Пример разрешения проблемы с базой данных Firebird FBDataGuard определил, что после restore индекс не активирован non-activated индексы могут указывать на повреждения БД, SQL запросы могут « тормозить » Предотвращена потеря производитель ности !
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Катастрофические поломки Серверы (как любые сложные устройства) – ИНОГДА ЛОМАЮТСЯ.
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Что может сломаться в железе ? Жесткий диск (HDD) Flash- накопители Память (RAM) Контроллеры SCSCI/SATA и другие подобные устройства Наиболее опасны для базы данных следующие поломки :
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Типичные проявления поломок « железа »: Жесткий диск : Потерянные и смешанные страницы (wrong page type) Ошибки в цепочках записей (Cannot find record fragment) Память : Ошибки на уровне записей (Wrong record length) Flash-накопители и Контроллеры Сдвиги страниц ( база не открывается в isql ) Ошибки страниц и ошибки в записей
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Как FBDataGuard защищает от поломок железа ? Во - первых, верификация данных и индексов ( выборка данных, пересчет статистики индексов ) Позволяет предупредить о появлении ошибки Во - вторых – ЗАЩИТНЫЙ РЕПОЗИТОРИЙ МЕТАДАННЫХ Позволяет спасти данные даже в случае очень тяжелых повреждений
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Защитный репозиторий метаданных Блобы Индексы Данные таблиц Метаданные FBDataGuard сохраняет копию актуальных метаданных в отдельном от БД репозитории Копия в репозитории
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru В случае поломки железа : Блобы Данные таблиц Метаданные в репозитории FBDataGuard Extractor извлекает все доступные данные из БД и вставляет в новую БД Новая БД
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru В случае поломки железа : Blobs Tables Metadata repository FBDataGuard Extractor can extract all good data and insert them into the new database New database
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Последний рубеж защиты FBDataGuard спасет оставшиеся данные в случае потери метаданных Данные из поврежденного delta- файла В случае поломки жесткого диска, контроллера или flash- накопителя Вытащит данные даже из « обрывка » БД Но лучше не доводить ситуацию до крайности, не так ли?
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Резервное копирование Мало кто осознает насколько верен простой факт : Резервное копирование – наиболее надежный способ защиты данных
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Формально у Firebird два способа резервного копирования … Gbak последовательное чтение данных с сохранением в линейном формате Nbackup Сохранение « слепка » базы данных с перенесением изменений через delta- файл
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru … но на самом деле есть только один. Резервное копирование – не вызов gbak –b и nbackup, это ПЛАН ДЕЙСТВИЙ Он может включать в себя вызовы gbak, nbackup, а также другие технические и организационные процедуры
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Правильный gbak Правильный набор опций при бэкапе ускоряет резервное копирование в несколько раз Бэкапы должны проверяться на корректность путем тестового восстановления Существование файлов бэкапов должно контролироваться ( резервное копирование в /dev/null – не шутка, а горькая правда жизни ) Должна сохраняться история бэкапов с револьверной заменой резервных копий
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Правильный nbackup Контроль за delta- файлом Размер delta- файла Время жизни delta- файла Контроль целостности копии базы данных Последовательный gbak с проверкой Слежение за окружением копии ( второй компьютер ?)
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru План резервного копирования ( простой вариант ) База данных Firebird Копия nbackup Gbak -b Тестовый рестор И на каждом этапе – контроль результатов выполнения.
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Пример разрешения аварийной ситуации с бэкапами FBDataGuard обнаружил, что свободное место на диске для бэкапов = N FBDataGuard вычислил ( или взял последнее значение ) размера бэкапа M Места может не хватить ! M>=N Предотвращена поломка backup и потеря данных !
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Firebird DataGuard Наблюдение за 26 важными параметрами базы данных и сервера Предупреждения о потенциальных и реальных проблемах по Правильная автоматизация обслуживания баз данных Возможность встраиваться в существующие приложения Windows, Linux, MacOS, Firebird FBDataGuard включает сервисы ремонта и оптимизации базы данных ( в зависимости от лицензии )
Первая украинская конференция по СУБД Firebird © IBSurgeon, iBase.ru Вопросы ?