56
Еще раз об уверенности в завтрашнем дне FIREBIRD DATAGUARD

Firebird Dataguard (Russian)

Embed Size (px)

DESCRIPTION

FBDataGuard - причины создания этого инструмента, сценарии использования и краткий список функций.

Citation preview

Page 1: Firebird Dataguard (Russian)

Еще раз об уверенности в завтрашнем дне

FIREBIRD

DATAGUARD

Page 2: Firebird Dataguard (Russian)

О чем пойдёт речь

Почему IBSurgeon создал FBDataGuard?

Что делает FBDataGuard (примеры сценариев)

Основные функции FBDataGuard

Контакты и как попробовать FBDataGuard

Page 3: Firebird Dataguard (Russian)

Почему IBSurgeon

создал FBDataGuard?

Page 4: Firebird Dataguard (Russian)

Неважно, какого цвета Ваш сервер

Сомневаетесь?

Вы не знаете, что же в действительности происходит с Вашими данными – это факт.

В любом случае – это «черный ящик».

Page 5: Firebird Dataguard (Russian)

Давайте об этом поговорим?

Page 6: Firebird Dataguard (Russian)

Итак, утро Вашего админа может начинаться так:

Page 7: Firebird Dataguard (Russian)

Или так:

Page 8: Firebird Dataguard (Russian)

Но в любом случае администратору

надо кое-что проверить.

Page 9: Firebird Dataguard (Russian)

База вообще работает?

Бэкап прошел?

А проверочный

рестор?

Статистика индексов

пересчитана?

Ошибки в firebird.log

есть?

Индексы не поломались?

Хватает ли места для

базы?

Хватает ли места для бэкапа?

Не застряли транзакции?

Page 10: Firebird Dataguard (Russian)

Без сомнения, Ваш администратор именно так и делает…

Page 11: Firebird Dataguard (Russian)

…особенно если у Вас много серверов, …

Page 12: Firebird Dataguard (Russian)

…расположенных в удаленных офисах.

Page 13: Firebird Dataguard (Russian)

Вы, наверное, не поверите…

но в некоторых компаниях всё

действительно так и есть.

Page 14: Firebird Dataguard (Russian)

Но этого недостаточно

Во-вторых, все ошибаются. Во-первых, админы спят.

И в-третьих, базовых проверок недостаточно.

Page 15: Firebird Dataguard (Russian)

Самые умные,

да?

Откуда мы все это знаем?

Page 16: Firebird Dataguard (Russian)

8 лет мы чиним поломанные базы данных

…и хорошо знаем, ЧТО и КАК ломается.

Page 17: Firebird Dataguard (Russian)

Вот почему мы создали Firebird DataGuard

Наблюдение за базой

Предупреждения и советы

Автоматизация обслуживания баз данных

Гарантия восстановления в сложных случаях

РАНЬШЕ БОРОЛИСЬ С ПОСЛЕДСТВИЯМИ,

ПОРА ВЗЯТЬСЯ ЗА ПРИЧИНЫ.

Page 18: Firebird Dataguard (Russian)

Что делает FBDataGuard

(примеры)

Page 19: Firebird Dataguard (Russian)

Это база данных Firebird

Это рабочий сервер

Это бэкапы

Здесь хранится еще одна

копия бэкапов

Типичная рабочая среда Firebird

Page 20: Firebird Dataguard (Russian)

Рассмотрим сервер в деталях

Рабочие параметры

Версия сервера

Логи

Сколько RAM?

Временные файлы?

Сервер доступен?

# Mb

Записи в логах? 6 уровней проблем

Рекомендуемая версия?

Баги, проблемы

Размер логов?

Page 21: Firebird Dataguard (Russian)

Сервер Firebird

7 параметров, которые могут сообщать о проблемах с базой данных и сервером

1. Доступность сервера 2. Размер RAM сервера 3. Количество временных

файлов 4. Размер временных

файлов 5. Записи в логе 6. Размер логов 7. Версия сервера

Page 22: Firebird Dataguard (Russian)

Пример разрешения проблемы с сервером

FBDataGuard

определил, что размер файлов сортировки = N

Размер свободного места на диске с TEMP-

файлами = M

Места может не хватить! M – N<X

Page 23: Firebird Dataguard (Russian)

Ретроспективный анализ

Все логи хранятся на сервере и позволяют анализировать события, происшедшие в прошлом

Инструментарий для удобного просмотра логов

Page 24: Firebird Dataguard (Russian)

Обычно базу данных изображают так:

База данных

как будто это что-то совсем простое.

Рассмотрим базу данных Firebird

Page 25: Firebird Dataguard (Russian)

Профессионалы видят «много деревьев», а не «лес».

Page 26: Firebird Dataguard (Russian)

Файловая организация БД

Файл база данных

Том N

Том 1

- Основной файл БД

- Файлы delta (nbackup) и incremental backups

- Файлы томов БД

- Внешние таблицы

0-level

delta

Page 27: Firebird Dataguard (Russian)

Блобы

Индексы

Внутренняя организация БД

Задачи: Проверить физическую

целостность данных, индексов и метаданных

Проверить логическую целостность

Проверить активность метаданных (статус триггеров, check, хранимых процедур)

Данные таблиц

Метаданные

Page 28: Firebird Dataguard (Russian)

FBDataGuard бдит за базой данных:

Наблюдает за файлами, томами, дельта-файлами и инкрементальными backups

Верифицирует метаданные, данные и индексы

Следит за ограничениями

ВЫДАЕТ ПРЕДУПРЕЖДЕНИЯ и РЕКОМЕНДАЦИИ

Page 29: Firebird Dataguard (Russian)

Пример разрешения проблемы с базой данных Firebird

FBDataGuard

определил, что после restore

индекс не активирован

non-activated индексы могут указывать на

повреждения БД, SQL запросы могут

«тормозить» Предотвращена потеря

производительности!

Page 30: Firebird Dataguard (Russian)

Катастрофические поломки

Серверы (как любые сложные устройства) – ЛОМАЮТСЯ.

Page 31: Firebird Dataguard (Russian)

Что может сломаться в железе?

Жесткий диск (HDD)

Flash-накопители

Память (RAM)

Контроллеры SCSCI/SATA и другие подобные устройства

Наиболее опасны для базы данных следующие поломки:

Page 32: Firebird Dataguard (Russian)

Типичные проявления поломок «железа»:

Жесткий диск: Потерянные и смешанные страницы (wrong page type)

Ошибки в цепочках записей (Cannot find record fragment)

Память: Ошибки на уровне записей (Wrong record length)

Flash-накопители и Контроллеры Сдвиги страниц (база не открывается в isql)

Ошибки страниц и ошибки в записей

Page 33: Firebird Dataguard (Russian)

Как FBDataGuard защищает от поломок железа?

Во-первых, верификация данных и индексов (выборка данных, пересчет статистики индексов)

Позволяет предупредить о появлении ошибки

Во-вторых – ЗАЩИТНЫЙ РЕПОЗИТОРИЙ МЕТАДАННЫХ

Позволяет спасти данные даже в случае очень тяжелых повреждений

Page 34: Firebird Dataguard (Russian)

Защитный репозиторий метаданных

Блобы

Индексы

Данные таблиц

Метаданные

FBDataGuard сохраняет копию актуальных метаданных в отдельном от БД репозитории

Копия в репозитории

Page 35: Firebird Dataguard (Russian)

В случае поломки железа:

Блобы

Данные таблиц

Метаданные в репозитории

FBDataGuard Extractor

извлекает все доступные

данные из БД и вставляет в новую БД

Новая БД

Page 36: Firebird Dataguard (Russian)

Последний рубеж защиты

FBDataGuard спасет оставшиеся данные в случае потери метаданных

Данные из поврежденного delta-файла

В случае поломки жесткого диска, контроллера или flash-накопителя

Вытащит данные даже из «обрывка» БД

Но лучше не доводить ситуацию до крайности, не так ли?

Page 37: Firebird Dataguard (Russian)

Резервное копирование

Мало кто осознает насколько верен простой факт:

Резервное копирование – наиболее надежный способ защиты данных

Page 38: Firebird Dataguard (Russian)

Формально у Firebird два способа резервного копирования…

Gbak

последовательное чтение данных с сохранением в линейном формате

Nbackup

Сохранение «слепка» базы данных с перенесением изменений через delta-файл

Page 39: Firebird Dataguard (Russian)

…но на самом деле есть только один.

Резервное копирование – не вызов gbak –b и nbackup, это ПЛАН ДЕЙСТВИЙ

Он может включать в себя вызовы gbak, nbackup, а также другие технические и организационные процедуры

Page 40: Firebird Dataguard (Russian)

Правильный gbak

Правильный набор опций при бэкапе ускоряет резервное копирование в несколько раз

Бэкапы должны проверяться на корректность путем тестового восстановления

Существование файлов бэкапов должно контролироваться (резервное копирование в /dev/null – не шутка, а горькая правда жизни)

Должна сохраняться история бэкапов с револьверной заменой резервных копий

Page 41: Firebird Dataguard (Russian)

Правильный nbackup

Контроль за delta-файлом Размер delta-файла

Время жизни delta-файла

Контроль целостности копии базы данных Последовательный gbak с проверкой

Слежение за окружением копии (второй компьютер?)

Page 42: Firebird Dataguard (Russian)

План резервного копирования (простой вариант)

База данных Firebird

Копия nbackup Gbak -b

Тестовый рестор

И на каждом этапе – контроль результатов выполнения.

Page 43: Firebird Dataguard (Russian)

Пример разрешения аварийной ситуации с бэкапами

FBDataGuard

обнаружил, что свободное место на

диске для бэкапов = N

FBDataGuard

вычислил (или взял последнее значение)

размера бэкапа M Места может не хватить! M>=N

Предотвращена поломка backup

и потеря данных!

Page 44: Firebird Dataguard (Russian)

Firebird DataGuard

Наблюдение за 26 важными параметрами базы данных и сервера

Предупреждения о потенциальных и реальных проблемах по email

Правильная автоматизация обслуживания баз данных Возможность встраиваться в существующие

приложения Windows, Linux, MacOS, Firebird 1.5-2.1 FBDataGuard включает сервисы ремонта и

оптимизации базы данных (в зависимости от лицензии)

Page 45: Firebird Dataguard (Russian)

Основные функции FBDataGuard

Page 46: Firebird Dataguard (Russian)

3 группы функций FBDataGuard

Мониторинг Обслуживание

Защита

Page 47: Firebird Dataguard (Russian)

Мониторинг-1

Ошибки сервера и базы данных Доступность сервера и базы данных

Анализ firebird.log (изменения) Периодический опрос метаданных

Транзакции Отслеживание разницы между 4 маркерами Лимит транзакций (2млрд. транзакций до бэкап-рестора)

Пользователи Минимальное/максимальное количество пользователей

Page 48: Firebird Dataguard (Russian)

Мониторинг-2

Файлы базы данных Однофайловые и многофайловые Расположение – предупреждения о путях и пересечении с

местом хранения бэкапов Размеры и отслеживаемые пределы роста (задаются

пользователем)

Файлы delta (nbackup)

Время жизни и размер delta-файлов

Файлы бэкапов Наличие, размер и прогноз роста

Page 49: Firebird Dataguard (Russian)

Мониторинг-3

Временные файлы Firebird

Общий размер и количество

Количество форматов на таблицу Не более 255 (лимит реализации) В production-базе данных нежелательно

Наличие неактивных и неактивированных индексов в базе данных Неактивные – явно отключены Неактивированные – не включились в результате сбоя рестора

Page 50: Firebird Dataguard (Russian)

Мониторинг-4

Автоматизированный сбор статистики gstat

Задается cron-выражением

Версия сервера Firebird, размер папки сервера Размер логов сервера Размер логов FBDataGuard

Логи изменений всех параметров хранятся для анализа Автоудаление логов – по умолчанию хранятся 60 дней

Автообноовление – предупреждение о выходе новых версий

Page 51: Firebird Dataguard (Russian)

Обслуживание-1

Бэкапы Револьверные (сдвигающиеся по времени) бэкапы Настраиваемая глубина хранения бэкапов Тестовый рестор с анализом результатов Прогноз роста (при недостатке места бэкап не

происходит, статус БД ->критический) Контроль времени операции бэкапа (по умолчанию

Max time =120 min) Опциональное сжатие небольших бэкапов (до 4Гб)

Page 52: Firebird Dataguard (Russian)

Обслуживание-2

Индексы Пересчет статистики индексов Всех (не рекомендуется для баз более 1Гб) Выбранных (список индексов) Всех, кроме исключенных

Проверка статусов индексов Проверка «здоровья» - алерт в случае обнаружения поврежденных индексов

По умолчанию джоб отключен

Page 53: Firebird Dataguard (Russian)

Обслуживание-3

Валидация БД с помощью стандартных средств (Gfix)

Перевод базы в shutdown – работа в выделенном режиме

Анализ результатов (в т.ч. вывода в firebird.log)

Валидация метаданных Проверка ключевых системных таблиц

Лог Firebird Перенос частей лога в отдельные файлы по достижению

установленного размера

Page 54: Firebird Dataguard (Russian)

Обслуживание-4

Для серьёзных конфигураций баз данных необходимы: Регламент обслуживания План аварийного восстановления

FBDataGuard помогает решить много технических проблем, значительно расширяя возможности администратора Алерты и рекомендации

FBDataGuard сообщает о найденных или ожидающихся проблемах, выдает рекомендации

Устанавливает статус базе данных и серверу в целом

Page 55: Firebird Dataguard (Russian)

Защита

Защитный репозиторий метаданных Сохранение копии «сырых» метаданных, необходимых для

расшифровки Дополнительная проверка метаданных

Расшифровка критически поврежденных файлов БД (в т.ч. при сбоях HDD и другого железа)

Экспорта данных из поврежденных delta-файлов Восстановление удаленных данных (в том числе DROP

TABLE) (только версия Enterprise)

Page 56: Firebird Dataguard (Russian)

Попробуйте FBDataGuard прямо сейчас:

Онлайн-форум по FBDataGuard

http://groups.google.ru/group/ibsurgeon2?hl=ru

Скачать FBDataGuard http://groups.google.ru/group/ibsurgeon2/browse_thread/thread/56962586ffd33aa4?hl=ru

Мы будем рады ответить на все Ваши вопросы. [email protected], +7 495 953 13 34