Oracle 10g—Real Application Clusters
Начиная с версии Oracle 9i, Oracle также предлагает другую технологию для высокодоступных вычислений – Real Application Clusters (RAC). Технология RAC доступна в редакциях Oracle 10g Standard Edition и Oracle 10g Enterprise Edition, но в Oracle 10g Standard Edition она ограничена максимум 4-мя процессорами. Улучшенная функциональность управления RAC, такая как пакет управления (management pack), пакет мониторинга (monitoring pack) и секционирование тоступны только в редакции Enterprise Edition. Обновление с стандартной редакции Oracle 10g Standard Edition до корпоративной Oracle 10g Enterprise Edition довольно дорого: стандартная редакция стоит $15,000 на процессор, а корпоративная стоит $40,000 на процессор.
Технология RAC состоит из множества связных компьютеров называемых узлами. Программное обеспечение Oracle RAC соединенным узлам функционировать как единый вычислительный центр. Подобно Windows Clustering Services, Oracle поддерживает RAC на ограниченном наборе аппаратных платформ. Oracle поддерживает конфигурации RAC до 64 узлов. Максимальное количесто взаимодействующих экземпляров зависит от возможностей операционной системы. На рисунке 7 изображен принцип действия Oracle RAC.
В случае отказа узла есть небольшой период времени в течение которого клиентские соединения приостанавливаются пока в системе перестраиваются блокировки и пересинхронизируются RAC-узлы. Технология RAC использует архитектуру совместных дисков, поэтому для обеспечения защиты от дисковых сбоев необходимо использовать средство Data Guard, которое доступно только в корпоративной редакции.
Системы Oracle RAC обеспечивают два метода восстановления соединений для высокодоступного клиентского доступа:
-
Восстановление подключений (Connection failover). Если при начальном соединении происходит сбой, приложение пожет повторить попытку подключения к другому активному узлу используя то же самое имя виртуального сервера.
-
Прозрачное восстановление приложений (Transparent Application Failover или TAF). Если же разрыв соединения происходит после того как подключение было установлено, это соединение может быть восстановлено на другом активном узле, потому что TAF хранит состояние текущей транзакции, хотя это требует боьше системных ресурсов чем восстановление подключения. В процессе использования TAF код приложения должен быть изменен таким образом чтобы использовать средство Oracle Call Interface (OCI) и должно включать код обработки потерянного состояния сессии. Вдобавок, нужно откатить транзакции содержащие обновления; информация о состоянии сессии не сможет быть восстановлена.
Весьма похожее на Windows Clustering, отказоустойчивость RAC требует чтобы жизнеспособность узлов кластера отслеживались с помощью мониторинга или механизма “сердечного пульса” (heartbeat). Этот узел мониторит способности позволяющие RAC кластеру быстро синхронизитровать ресурсы в течение процесса восстановления.
Технология RAC компании Oracle обеспечивает быстрое восстановление на стороне сервера. Это достигается из-за конкурентной active-active архитектуры кластера Real Application Clusters. Другими словами, множество экземпляров Oracle конкурентно активны на множестве узлов и эти экземпляры синхронизируют доступ к одной и той же базе данных. Все узлы также конкурентно владеют и имеют доступ ко всему дисковому массиву. Когда один узел выходит из строя, все остальные узлы кластера все равно продолжают работать с дисковым массивом. Не нужно передавать права на владение дисками и код сервера баз данных уже загружен в оперативную память. Процесс синхронизации узла RAC после сбоя начинается с отключения сбойного узла от группы и продолжается установкой контроля над ресурсами, которыми владел сбойный узел. После сбоя, любые внутренние запросы запускаются сначала.
оригинал статьи