База знаний
Технологии

Обзор технологий повышения отказоустойчивости баз данных Oracle

СУБД Oracle предоставляет несколько способов обеспечения отказоустойчивости, отличных по степени защиты, стоимости и величине утилизации ресурсов оборудования. Наиболее надежным и что неудивительно дорогим является Real Application Cluster (RAC). При данной технологии несколько экземпляров Oracle расположенных на разных серверах обеспечивают одновременный доступ к одной базе данных (БД). RAC предлагает надежный механизм обеспечения отказоустойчивости. Пользователь может быть уведомлен об отказе оборудования, и возможно, произойдет откат каких-либо транзакций, но в целом, работоспособность сервисов будет обеспечена за счет работающего экземпляра.

Для информационных систем (ИС) с меньшими требованиями по надежности может применяться более доступная по стоимости внедрения технология STANDBY DATABASE – которая предполагает использование второго (резервный) экземпляра Oracle постоянно загружающего архивные журналы транзакций промышленной БД. Хотя данная технология требует либо вмешательства администратора БД (АБД) для активизации резервного сервера, либо тонкой настройки правил переключения, данная технология как и RAC обеспечивает хорошие показатели отказоустойчивости. Кроме того резервная БД может быть открыта в режиме чтения (readonly), например, для создания отчетов.

Использование технологий резервирования СУБД Oracle повышает отказоустойчивость в работе биллинговой системы "Билл-Мастер", что позволяет непрерывно предоставлять услуги абонентам, в том числе и при возникновении сбоев в серверном оборудовании и скачкообразном увеличении нагрузок на систему.

Real Application Cluster (RAC)

Технология Oracle Real Application Clusters (RAC) позволяет строить отказоустойчивые и масштабируемые информационные системы, объединяя серверы в кластеры.

Кластер Oracle RAC – это несколько объединенных сетью серверов и соединенный с ними по волоконно-оптическому интерфейсу дисковый массив. На дисковом массиве находится база данных, общая для всех серверов, обрабатывающих информацию из этой базы данных.

В архитектуре Oracle RAC экземпляры СУБД Oracle одновременно выполняются на серверах кластера, и управление общей базой данных производится экземплярами совместно. По существу, с точки зрения приложения, – это единая база данных. Использование OracleRAC для резервирования БД АСР "Билл-Мастер" позволит наиболее аффективно использовать аппаратные ресурсы выделенные для работы приложений биллингновой системы, в качестве которых могут выступать как отдельные сервера так и серверные кластеры.

Данная технология позволяет использовать преимущество серверного кластера и задействовать несколько экземпляров Oracle одновременно работающих с одной БД. При этом доступность данных абсолютно прозрачна для уровня приложений, т.к. приложения работают в едином пространстве экземпляра БД. Oracle RAC дает возможность радикально снизить эксплуатационные затраты и обеспечить новый уровень гибкости, делая корпоративные системы более динамичными и адаптивными. Динамическое обеспечение приложений процессорным ресурсом, оперативной памятью и устройствами хранения позволяет гарантировать необходимые уровни сервиса при одновременном снижении затрат за счет лучшего использования ресурсов.

Использование Oracle RAC повышает гибкость использования аппаратных ресурсов выделенных под биллинговую систему и исключает во многих случаях необходимость копирования данных между серверами для получения "баз вчерашнего дня" и "моментальных копий БД" для подготовки отчетов. Генерацией отчетов может заниматься один из серверов кластера. Необходимость в копировании данных на "сервер генерации отчетов" отпадает.

Технология Oracle RAC обеспечивает:

  • Горизонтальную масштабируемость. При возрастании требований к ресурсам, производится постепенное наращивание серверного оборудования, за счет возможности добавления в кластер новых узлов. Тем самым происходит объединение вычислительных мощностей серверного оборудования и исчезает необходимость замены уже существующего оборудования, что приводит к существенной оптимизации затрат и процесс наращивания ресурсов становится значительно более простым и быстрым.
  • Отказоустойчивость. Работоспособность ИС сохраняется в случае сбоя аппаратных узлов кластера или отдельных экземпляров Oracle. Аварийное переключение работающего сервиса может быть произведено на любой из рабочих узлов кластера, что позволяет поддерживать работу БД даже при отказе всех узлов за исключением одного. Разнесенный в пространстве кластер (геокластер) позволяет добиться катастрофоустойчивости ИС.
  • Высокую готовность. Существует возможность динамически вводить в действие узлы или выводить их из работы, например, для технического обслуживания, в то время как остальная часть кластера будет продолжать поддерживать работу БД.
  • Балансировку нагрузки. Задание и применение бизнес-политик к сервисам позволяет разрешать такие проблемы, как выделение узлов на периоды пиковых вычислительных нагрузок, за счет менее нагруженных экземпляров Oracle.
STANDBY DATABASE

STANDBY DATABASE –  это метод горячего резервирования базы данных (поддержка дубликата на удаленном сервере) для обеспечения непрерывного доступа к данным в случае сбоя первичной базы данных. Standby обычно используют там, где требуется высокая доступность данных и является одним из путей обеспечения быстрого доступа к данным, если в работе первичной базы данных происходит сбой, а восстановление длится дольше, чем это допустимо.

Технология STANDBY DATABASE состоит из двух БД с отдельными экземплярами, расположенными на разных серверах. Резервная БД служит для динамического резервного копирования промышленной БД, готовая стать промышленной при необходимости. Промышленная БД работает в режиме архивирования оперативных журналов транзакций (ARCHIVELOG), которые периодически применяются к резервной БД. Для этого резервная БД находится в состоянии восстановления. Резервная БД создается специальной копией управляющего файла сформированного на промышленной базе данных и на основе согласованной копии файлов данных промышленной базы путем применения обновления архивных журнальных файлов генерируемых основной базой данных. Поэтому необходимо, чтобы промышленная база данных работала в режиме Archivelog. Резервная БД так же работает в режиме ARCHIVELOG, и находится в состоянии восстановления, т.е. смонтирована (mount), но не открыта (not open), что позволяет максимально быстро применять архивные журнальные файлы, полученные от промышленной БД. Таким образом, мы имеем как бы "клон", промышленной БД.

Особо необходимо отметить, что операционные системы на резервной и основной базе данных должны быть одинаковыми. Это связано с тем, что в разных ОС структуры файлов базы данных имеют отличия.

Использование STANDBY DATABASE повышает надежность работы АСР "Билл-Мастер" и позволяет постоянно иметь актуальную копию промышленной БД. Активация резервной копии с актуальными на момент сбоя данными исключает возникновение простой в работе оператора связи и как следствие финансовых потерь. Использование резервирования БД повышает качество и надежность оказываемых оператором услуг.

Технология STANDBY DATABASE обеспечивает:

  • Отказоустойчивость. В случае сбоя обеспечивается переключение на резервный сервер, с минимальным временем простоя. В отличие от технологии RAC, в случае сбоя, требуется переподключение всех активных сессий на резервный сервер.
  • Частичную балансировку нагрузки. Возможно, использовать резервного сервера в режиме "только чтение", для создания отчетов и создания резервных копий БД. В версии Oracle 11g появилась возможность оставлять резервный экземпляр Oracle в открытом на "чтение" состоянии и во время применения архивных журналов транзакций.