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 Node | Oracle RAC (multi-node) |
|---|---|---|
| Количество активных экземпляров | 1 | 2 и более |
| Требования к ресурсам | Ниже (один экземпляр) | Выше (несколько экземпляров) |
| Лицензирование | Входит в 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 →