СУБД Oracle и OC Oracle Linux 8

02/06/2025


Казалось бы на первый взгляд, банальная задача по установке базы данных Oracle 19с в операционной системе Oracle Linux 8 от одного и того же производителя ПО является тривиальным делом. Однако, к своему удивлению столкнулся с тем, что в этом есть определенные принципиальные сложности, которые не освещены в документации. Как оказалось, в ОС Oracle Linux 8 идет kernel 5.15.x. А данное ядро перестало поддерживать функционал ASMFD, который стандартно используется в базе данных Oracle для доступа к дисковой подсистеме. Подсистема ASM — Automatic Storage Management давно стала неотъемлимой составляющей СУБД Oracle, без которой просто невозможно теперь использовать саму базу данных. Oracle ASMFD или ASM Filter Driver — это самый современный способ, который использует база данных Oracle для доступа к дискам. И вот, как выяснилось, операционная система Oracle Linux 8, которая выпускается корпорацией Oracle не поддерживает из коробки ключевой продукт в виде СУБД Oracle от этой же компании.

Анализ

В первую очередь, обратим внимание на варианты ядра Linux, которые предлагаются в Oracle Linux 8. Как можно заметить есть две основные ветки — UEK и RHCK. UEK расшифровывается как Unbreakable Enterprise Kernel, а RHCK — Red Hat Compatible Kernel. UEK на текущий момент использует 5 версию ядра, а RHCK 4 версию ядра Linux. Кроме этого надо учитывать, что для процессорной архитектуры x86_64 доступны как UEK, так RHCK ядра, а вот для процесоорной архитектуры aarch64 есть варианты только на базе UEK. Так крайний на данный момент релиз Oracle Linux 8.10 использует UEK ядро — kernel-uek-5.15.0-206.153.7.

Давайте теперь посмотрим на подсистему Oracle — ASM, которая отвечает за работу с дисками. Oracle ASM может работать с дисками с помощью нескольких библиотек и модулей. Ранее широко применялась библиотека ASMLIB, на данный момент активно используется ASMFD. Также в качестве альтернативы возможен способ статической привязки дисков напрямую из операционной системы с помощью менеджера устройств udev. По умолчанию в современном дистрибутиве СУБД Oracle 19с используется ASMFD. Именно исключение модулей, необходимых для работы ASMFD, из ядра Linux 5.15.x приводит к тому, что база данных не может получить доступ к дисковой подсистеме сервера.

Как варианты решения данной проблемы мне видятся следующие возможные стратегии.

  1. Установка специальных патчей для Oracle 19с Grid Infrastructure, которые доступны на сайте https://support.oracle.com. К сожалению, данные патчи доступны только для тех, у кого есть активная подписка на техническую поддержку Oracle. У меня такой подписки не было. На просторах Интернета нашел статью с описанием того, как провести данный процесс.
  2. Использование статичных правил udev вместе с системой Oracle ASM для привязки дисков. Данный способ требует хорошего понимания работы ядра Linux.
  3. Задействование ядра Linux, версия которого ниже, чем 5.15.x. Это позволит обойти проблему с отключением модуля ASMFD в linux kernel. В качестве решения можно использовать Oracle Linux 7 версии, либо в 8 ветке переключиться на RHCK версию ядра. Однако, для процессорный архиектуры aarch64 надо помнить, что доступны только версии ядра на базе UEK.

Резюме

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *