Oracle Grid Infrastruktur 26ai mit Oracle 26ai und 19c Datenbanken unter Oracle Linux 10

Für eine Neuinstallation eines RAC Environments in dem sowohl Oracle 19c als auch Oracle 26ai Datenbanken laufen sollen, wurde Oracle Linux 10 als Betriebssystem ausgewählt. Die Vorbereitung dafür ist leider nicht ganz friktionsfrei.

Zuerst musst der Zertifizierungsstatus ermittelt werden. Dafür wurden einerseits die folgenden Installationsguides als auch die compatibility matrix von MOS (support.oracle.com) bemüht.

Aus diesen Quellen findet man die folgenden Informationen:

  • GI/DB 26ai ist ab 23.26.2 (mit Einschränkungen) auf Oracle Linux 10 zertifiziert.
    • DB 26ai: Oracle Linux 10 with the Unbreakable Enterprise Kernel 8 6.12.0-104.43.4.2.el10uek.x86_64 or later
  • DB 19c ist aber erst ab der Version 19.32 auf Oracle Linux 10 zertifiziert.
    • Ab 19.32 ist der Betrieb in einer GI 26ai 23.26.3 offiziell supported.
    • DB 19c: Oracle Linux 10 with the Unbreakable Enterprise Kernel 8 6.12.0-104.43.4.2.el10uek.x86_64 or later

Im zweiten Schritt muss man die benötigten RPMs identifizieren und installieren. Die schaut auf den ersten Blick recht einfach aus, da die Liste der RPMs für GI 26ai, DB 26ai und DB 19c praktisch ident sind.
Die wenigen Unterschiede kann man leicht herausfinden und zu einer längeren Liste zusammenführen. Das Ergebnis ergibt folgende Liste:

bc binutils elfutils-libelf fontconfig glibc glibc-devel glibc-headers ksh libaio libgcc libibverbs libstdc++ libvirt-libs libxcb libX11 libXau libXi libXrender libXtst libxcrypt-compat make policycoreutils policycoreutils-python-utils smartmontools sysstat xz-devel ipmiutil net-tools nfs-utils libnsl libnsl2 libnsl2-devel zip wget ntpdate traceroute bind-utils

Diese Liste gehört dann noch um folgendes ergänzt:

Ab Oracle 19.28 braucht man für OJVM zusätzlich noch GCC:

gcc

Sonstige hilfreiche Utilities:

zip wget ntpdate traceroute bind-utils

Produktabhängige Packages:

unixODBC

Und selbstverständlich noch das Oracle Pre-Install RPM für Oracle 26ai:

oracle-ai-database-preinstall-26ai

Versucht man jetzt alle RPMs gemeinsam zu installieren, landet man bei folgendem Befehl:

dnf -y install oracle-ai-database-preinstall-26ai bc binutils elfutils-libelf fontconfig glibc glibc-devel glibc-headers ksh libaio libgcc libibverbs libstdc++ libvirt-libs libxcb libX11 libXau libXi libXrender libXtst libxcrypt-compat make policycoreutils policycoreutils-python-utils smartmontools sysstat xz-devel ipmiutil net-tools nfs-utils libnsl libnsl2 libnsl2-devel zip wget ntpdate traceroute bind-utils gcc unixODBC

und bekommt glatt eine Fehlermeldung, dass die folgenden PRMs nicht gefunden werden können:

libnsl2 libnsl2-devel ipmiutil

Nach etwas Suche findet man den Grund darin, dass libnsl2 und libnsl2-devel zu NIS gehören, welches in OL10 als veraltet deklariert ist und im EPEL Repo versteckt. Die ipmiutil sind deprecated und durch ipmitool ersetzt worden.

Somit kommt man mit folgenden Befehlen weiter:

dnf install -y oracle-epel-release-el10

dnf -y install oracle-ai-database-preinstall-26ai bc binutils elfutils-libelf fontconfig glibc glibc-devel glibc-headers ksh libaio libgcc libibverbs libstdc++ libvirt-libs libxcb libX11 libXau libXi libXrender libXtst libxcrypt-compat make policycoreutils policycoreutils-python-utils smartmontools sysstat xz-devel ipmitool net-tools nfs-utils libnsl libnsl2 libnsl2-devel zip wget ntpdate traceroute bind-utils gcc unixODBC

Damit sollten jetzt alle für die Installation notwendigen RPMs vorhanden sein.

Warum Oracle in den Installation Guides nicht erwähnt, dass man das EPEL Repository benötigt und nicht gleich die ipmitool statt den ipmiutil verlangt, ist wieder eines der Geheimnisse, die einem niemand erklären kann.