Открыть сервис

Oracle RAC One Node

Oracle RAC One Node — это опциональная конфигурация системы управления базами данных Oracle Database, которая позволяет запускать экземпляр базы данных в кластерной среде Oracle Real Application Clusters (RAC) на одном узле кластера с возможностью автоматического или ручного переключения (failover) на другой узел при необходимости. В отличие от стандартной конфигурации Oracle RAC, где база данных одновременно работает на нескольких узлах, RAC One Node использует один активный экземпляр, что снижает требования к ресурсам и упрощает управление, сохраняя при этом преимущества кластеризации, такие как высокая доступность (High Availability, HA) и возможность онлайн-миграции.

История и развитие

Oracle RAC One Node была впервые представлена в версии Oracle Database 11g Release 2 (11.2.0.1) в 2009 году как часть лицензионной опции Oracle Real Application Clusters. Основной целью разработки было предоставление решения для сред, где полная многопользовательская кластеризация (multi-node RAC) избыточна, но требуется высокая доступность и возможность планового обслуживания без простоев. В более поздних версиях (12c, 18c, 19c, 21c) функциональность была расширена, включая улучшенную интеграцию с Oracle Clusterware и Oracle Automatic Storage Management (ASM). Начиная с Oracle Database 12c, RAC One Node стала частью стандартной лицензии Oracle Database Enterprise Edition (EE) без дополнительной платы, в отличие от полной версии RAC, которая требует отдельной лицензии. В России и СНГ технология используется в корпоративных средах, где требуется баланс между стоимостью и отказоустойчивостью.

Архитектура и принцип работы

Кластерная инфраструктура

RAC One Node базируется на той же кластерной инфраструктуре, что и полный Oracle RAC, включая:

  • Oracle Clusterwareпрограммное обеспечение для управления кластером, отвечающее за координацию узлов, обнаружение сбоев и переключение экземпляров.
  • Oracle ASM — система управления хранилищем данных, обеспечивающая общий доступ к данным для всех узлов кластера.
  • Общее хранилище (shared storage) — например, SAN или NAS, где размещаются файлы базы данных, управляющие файлы и журналы повторного выполнения (redo logs).

Одноузловой экземпляр

В отличие от стандартного RAC, где база данных запускается на нескольких узлах одновременно (multi-instance), в RAC One Node используется только один активный экземпляр. Остальные узлы кластера находятся в резерве и могут быть активированы при сбое или плановом переключении. Это снижает нагрузку на процессор и память, так как не требуется синхронизация между несколькими экземплярами через механизм Global Cache Service (GCS) и Global Enqueue Service (GES). Однако, в отличие от одиночного экземпляра (single instance), RAC One Node сохраняет возможность быстрого переключения на другой узел без потери данных.

Механизмы обеспечения высокой доступности

  • Online Database Relocation — возможность перемещения активного экземпляра базы данных с одного узла кластера на другой без остановки работы базы данных. Процесс выполняется с помощью команды srvctl relocate database или через Oracle Enterprise Manager. Во время перемещения создаётся новый экземпляр на целевом узле, а старый экземпляр завершается после завершения всех активных транзакций.
  • Automatic Failover — при сбое узла или экземпляра Oracle Clusterware автоматически запускает новый экземпляр на другом доступном узле кластера. Время восстановления (Recovery Time Objective, RTO) обычно составляет от нескольких секунд до нескольких минут, в зависимости от размера базы данных и объёма журналов.
  • Rolling Maintenance — возможность проведения планового обслуживания (например, обновления ОС или патчей Oracle) без остановки базы данных, путём последовательного переключения экземпляра на разные узлы.

Классификация и лицензирование

Отличия от стандартного Oracle RAC

ХарактеристикаOracle RAC One NodeOracle RAC (multi-node)
Количество активных экземпляров12 и более
Требования к ресурсамНиже (один экземпляр)Выше (несколько экземпляров)
ЛицензированиеВходит в Enterprise EditionТребуется отдельная лицензия RAC
Максимальное количество узловДо 4 (по лицензии)До 100 (в зависимости от версии)
Использование GCS/GESМинимальное (только для переключения)Полное (для синхронизации кэша)

Лицензионные ограничения

Oracle RAC One Node лицензируется как часть Oracle Database Enterprise Edition. Согласно политике Oracle, на один сервер (узел) может быть установлено не более 4 активных экземпляров RAC One Node. Это ограничение не распространяется на резервные узлы. Для использования полного RAC (multi-node) требуется приобретение дополнительной лицензии Oracle Real Application Clusters. В России лицензирование осуществляется через официальных партнёров Oracle, таких как «Oracle СНГ» (представительство компании Oracle в РФ), при этом с 2022 года из-за санкционных ограничений доступ к новым лицензиям может быть затруднён, и многие организации переходят на альтернативные решения, включая PostgreSQL или СУБД на основе открытого кода.

Применение и сценарии использования

Среды с умеренными требованиями к производительности

RAC One Node часто применяется в средах, где требуется высокая доступность, но нет необходимости в масштабировании производительности за счёт параллельной работы нескольких экземпляров. Типичные примеры:

  • Корпоративные ERP-системы (например, SAP, 1С) — где база данных работает на одном сервере, но требуется защита от сбоев.
  • CRM-системы (Salesforce, Microsoft Dynamics) — для обеспечения непрерывности бизнес-процессов.
  • Системы управления документами (Documentum, Alfresco) — где простой недопустим.

Плановое обслуживание и миграция

RAC One Node позволяет выполнять обновление ОС, патчи базы данных или замену оборудования без остановки работы. Например, при обновлении Oracle Database с 19c до 21c администратор может переключить экземпляр на другой узел, обновить ПО на первом узле, а затем вернуть экземпляр обратно. Это снижает время простоя до минимума.

Тестирование и разработка

В средах разработки и тестирования RAC One Node используется для имитации кластерной среды без затрат на полноценный RAC. Это позволяет разработчикам проверять поведение приложений в условиях отказоустойчивости.

Примеры конфигураций

Двухузловой кластер

Наиболее распространённая конфигурация — два узла (сервера) с общим хранилищем. Активный экземпляр работает на одном узле, второй узел находится в резерве. При сбое первого узла экземпляр автоматически запускается на втором. Пример команды для создания базы данных RAC One Node: ``sql srvctl add database -db mydb -oraclehome /u01/app/oracle/product/19.0.0/dbhome_1 -dbtype RACONENODE -server node1,node2 ``

Четырёхузловой кластер

В редких случаях, когда требуется больше резервных узлов или географическая распределённость (например, в дата-центрах в Москве и Санкт-Петербурге), можно использовать до 4 узлов. Однако активный экземпляр остаётся один, что ограничивает производительность.

Критика и ограничения

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

Поскольку в RAC One Node используется только один активный экземпляр, пропускная способность (throughput) ограничена возможностями одного сервера. В отличие от полного RAC, где нагрузка распределяется между узлами, RAC One Node не подходит для высоконагруженных систем с большим количеством параллельных транзакций (например, OLTP с тысячами пользователей).

Сложность управления

Хотя RAC One Node проще в управлении, чем полный RAC, он всё равно требует знаний кластерных технологий (Oracle Clusterware, ASM) и навыков администрирования. Ошибки в конфигурации могут привести к сбоям при переключении.

Зависимость от общего хранилища

Как и любой кластер, RAC One Node критически зависит от общего хранилища данных. Сбой в SAN или NAS может привести к недоступности базы данных, даже если узлы кластера исправны. Это требует дополнительных мер резервирования (например, репликации данных).

Лицензионные ограничения

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

Интересные факты

  • RAC One Node часто называют «RAC Lite» из-за его упрощённой архитектуры.
  • В Oracle Database 12c была добавлена поддержка Pluggable Databases (PDB) в конфигурации RAC One Node, что позволяет изолировать рабочие нагрузки.
  • Технология поддерживается в Oracle Cloud Infrastructure (OCI) как часть сервиса Oracle Database Cloud Service, где можно развернуть RAC One Node в облаке с автоматическим переключением между зонами доступности.
  • В России RAC One Node используется в банковском секторе (например, в Сбербанке и ВТБ) для обеспечения непрерывности операционных систем, хотя с 2022 года многие организации переходят на отечественные СУБД, такие как «Postgres Professional» (разработчик СУБД Postgres Pro) или «СУБД Ред База Данных» (Red Database).

Источники

  • Oracle Database Administrator’s Guide, 19c — Oracle Corporation, 2023.
  • Oracle Real Application Clusters (RAC) Documentation, 11g Release 2 — Oracle Corporation, 2009.
  • «Oracle Database 12c: The Complete Reference» — Bob Bryla, Kevin Loney, McGraw-Hill Education, 2014.
  • «Oracle RAC One Node: A Technical Overview» — Oracle White Paper, 2010.
  • «Лицензирование Oracle Database в России: практические аспекты» — журнал «Системный администратор», №3, 2021.
  • «СУБД Oracle: отказоустойчивость и масштабирование» — Д. К. Морозов, издательство «БХВ-Петербург», 2018.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →