SLES 15 SP4 und Oracle 19c RUs

Seit längerer Zeit wird der Support für SuSE SLES 15 Linux seitens Oracle immer mehr eingeschränkt und obwohl SLES 15 offiziell unterstützt wird, dürfte bei Oracle niemand auf SuSE Linux Rücksicht nehmen.

Versucht man auf dem aktuellen SLES 15 SP4 eine Oracle 19c zu installieren und gleichzeitig einen aktuellen RU (Release Upgrade) – beispielsweise 19.17 – einzuspielen, bekommt man folgende Fehler vom Installer:

305994-INFO:  [Nov 28, 2022 12:58:46 PM] Package: libstdc++33-3.3.3-62.1: This is a prerequisite condition to test whether the package "libstdc++33-3.3.3-62.1" is available on the system.
    306175-INFO:  [Nov 28, 2022 12:58:46 PM] Severity:CRITICAL
    306227:INFO:  [Nov 28, 2022 12:58:46 PM] OverallStatus:VERIFICATION_FAILED
    306295-INFO:  [Nov 28, 2022 12:58:46 PM] *********************************************
    306375-INFO:  [Nov 28, 2022 12:58:46 PM] Package: libjpeg62-32bit-62.1.0: This is a prerequisite condition to test whether the package "libjpeg62-32bit-62.1.0" is available on the system.
    306556-INFO:  [Nov 28, 2022 12:58:46 PM] Severity:IGNORABLE
    306609:INFO:  [Nov 28, 2022 12:58:46 PM] OverallStatus:VERIFICATION_FAILED
    306677-INFO:  [Nov 28, 2022 12:58:46 PM] *********************************************
    306757-INFO:  [Nov 28, 2022 12:58:46 PM] Package: libjpeg62-turbo-1.3.1: This is a prerequisite condition to test whether the package "libjpeg62-turbo-1.3.1" is available on the system.
    306936-INFO:  [Nov 28, 2022 12:58:46 PM] Severity:IGNORABLE
    306989:INFO:  [Nov 28, 2022 12:58:46 PM] OverallStatus:VERIFICATION_FAILED
    307057-INFO:  [Nov 28, 2022 12:58:46 PM] *********************************************
    307137-INFO:  [Nov 28, 2022 12:58:46 PM] Package: libpcre16-0-8.41: This is a prerequisite condition to test whether the package "libpcre16-0-8.41" is available on the system.
    307306-INFO:  [Nov 28, 2022 12:58:46 PM] Severity:IGNORABLE
    307359:INFO:  [Nov 28, 2022 12:58:46 PM] OverallStatus:VERIFICATION_FAILED
    307427-INFO:  [Nov 28, 2022 12:58:46 PM] *********************************************
    307507-INFO:  [Nov 28, 2022 12:58:46 PM] Package: JDK-1.8.0.5.151: This is a prerequisite condition to test whether the package "JDK-1.8.0.5.151" is available on the system.
    307674-INFO:  [Nov 28, 2022 12:58:46 PM] Severity:IGNORABLE
    307727:INFO:  [Nov 28, 2022 12:58:46 PM] OverallStatus:VERIFICATION_FAILED
    307795-INFO:  [Nov 28, 2022 12:58:46 PM] *********************************************
    307875-INFO:  [Nov 28, 2022 12:58:46 PM] Package: libgfortran3-4.8.3: This is a prerequisite condition to test whether the package "libgfortran3-4.8.3" is available on the system.
    308048-INFO:  [Nov 28, 2022 12:58:46 PM] Severity:IGNORABLE
    308101:INFO:  [Nov 28, 2022 12:58:46 PM] OverallStatus:VERIFICATION_FAILED
    308169-INFO:  [Nov 28, 2022 12:58:46 PM] -----------------End of failed Tasks List----------------
    308261-WARNING:  [Nov 28, 2022 12:58:46 PM] [WARNING] [INS-13013] Target environment does not meet some mandatory requirements. 

Hinweis: Wie man mittels silent Installation eine Oracle 19c inkl. aktuellem RU installiert, wird in folgendem Artikel beschrieben: Oracle SW Installation mit Patches ohne GUI

Der Installer verlangt nach weiteren OS Packages:

  • libstdc++33-3.3.3-62.1
  • libjpeg62-32bit-62.1.0
  • libjpeg62-turbo-1.3.1
  • libpcre16-0-8.41
  • JDK-1.8.0.5.151
  • libgfortran3-4.8.3

Das Problem ist: diese sind im SLES 15 SP4 einfach nicht mehr verfügbar.

Diese Art der Probleme gibt es mit SuSE Linux leider schon länger:

  • Seit SLES 12 SP3 gibt es den BUG 29742223, der aber nur bis inkl. RU 19.5 verfügbar ist, der den CRITICAL Fehler zu libstdc++33 behebt.
  • Bei SLES 15 SP2 wurden ähnlich viele Packages als fehlend gemeldet, die einfach nicht mehr vorhanden sind. Dazu gibt es den nicht öffentlichen BUG 30593888. Leider ist der entsprechende Patch nur bis 19.10 verfügbar.

Schauen wir uns einmal an, das Beispielsweise im Patch für den BUG 30593888 enthalten ist. Der Patch tauscht nur die xml-Daten aus, die dem Installer mitteilen, welche Packages am Betriebssystem benötigt werden. Statt der 65 Packages in der 19.3 Liste in der <CERTIFIED_SYSTEMS>/<OPERATING_SYSTEM RELEASE=“SUSE15″> Section, sind es nach dem Patch für Bug 30593888 nur mehr 55 in den 5 Dateien (ohne der ASM und OCFS2 Packages).

Folgende Files werden vom Patch modifiziert:

$ORACLE_HOME
└── cv
    └── cvdata
        ├── 19
        │   ├── crsinst_prereq.xml
        │   ├── dbcfg_prereq.xml
        │   ├── dbinst_prereq.xml
        │   └── sihainst_prereq.xml
        └── cvu_prereq.xml

Will man nun 19.17 installieren, dann kann man den Patch für BUG 30593888 (19.9) einspielen, worauf im Install.log nur noch folgende Warnings übrig bleiben:

272861-INFO:  [Nov 28, 2022 4:46:59 PM] Package: libpcre16-0-8.41: This is a prerequisite condition to test whether the package "libpcre16-0-8.41" is available on the system.
273029-INFO:  [Nov 28, 2022 4:46:59 PM] Severity:IGNORABLE
273081:INFO:  [Nov 28, 2022 4:46:59 PM] OverallStatus:VERIFICATION_FAILED
273148-INFO:  [Nov 28, 2022 4:46:59 PM] *********************************************
273227-INFO:  [Nov 28, 2022 4:46:59 PM] Package: JDK-1.8.0.5.151: This is a prerequisite condition to test whether the package "JDK-1.8.0.5.151" is available on the system.
273393-INFO:  [Nov 28, 2022 4:46:59 PM] Severity:IGNORABLE
273445:INFO:  [Nov 28, 2022 4:46:59 PM] OverallStatus:VERIFICATION_FAILED
273512-INFO:  [Nov 28, 2022 4:46:59 PM] *********************************************
273591-INFO:  [Nov 28, 2022 4:46:59 PM] Package: libgfortran3-4.8.3: This is a prerequisite condition to test whether the package "libgfortran3-4.8.3" is available on the system.
273763-INFO:  [Nov 28, 2022 4:46:59 PM] Severity:IGNORABLE
273815:INFO:  [Nov 28, 2022 4:46:59 PM] OverallStatus:VERIFICATION_FAILED

Wenigsten kein CRITICAL Fehler mehr dabei, man könnte den runInstaller jetzt mittels „-ignoreSysPrereqs“ dazu überregen, dass dieser die Installation durchführt. Schauen wir zuvor einfach einmal nach, ob die Packages bei SLES überhaupt noch vorkommen.

Beim Check für libpcre16-0-8.41 finden wir folgendes Ergebnis:

# zypper search -s libpcre16
Loading repository data...
Reading installed packages...
 
S  | Name        | Type    | Version             | Arch   | Repository
---+-------------+---------+---------------------+--------+--------------------------------------------------------------
i+ | libpcre16-0 | package | 8.45-150000.20.13.1 | x86_64 | sles15sp4-test-SLE-Module-Basesystem15-SP4-Updates for x86_64

Anscheinend möchte Oracle unbedingt Version 8.41. Die vorhandene Version 8.45 ist – warum auch immer – nicht OK. Trotzdem sollten Sie diese unbedingt installieren!

Beim Check für libgfortran3-4.8.3 finden wir folgendes:

zypper search -s libgfortran
Loading repository data...
Reading installed packages...
 
S  | Name                 | Type    | Version                      | Arch   | Repository
---+----------------------+---------+------------------------------+--------+----------------------------------------------------------------
i+ | libgfortran4         | package | 7.5.0+r278197-4.30.1         | x86_64 | sles15sp4-test-SLE-Module-Basesystem15-SP4-Pool for x86_64
i+ | libgfortran4-32bit   | package | 7.5.0+r278197-4.30.1         | x86_64 | sles15sp4-test-SLE-Module-Basesystem15-SP4-Pool for x86_64
i+ | libgfortran5         | package | 11.3.0+git1637-150000.1.11.2 | x86_64 | sles15sp4-test-SLE-Module-Basesystem15-SP4-Updates for x86_64

Hier gibt es nur noch libgfortran4 und libgfortran5. Spannend ist, dass Oracle im Installation Guide (siehe weiter unten) explizit libgfortran4 angibt. Warum der Installer dann auf libgfortran3 prüft ist natürlich eine spannende Frage. Im Zweifel als einfach libgfortran4 installieren!

Last but not least, der Check für JDK-1.8.0.5.151:

# zypper search -s JDK
Loading repository data...
Reading installed packages...
 
S  | Name                        | Type    | Version                 | Arch   | Repository
---+-----------------------------+---------+-------------------------+--------+--------------------------------------------------------------------------
i+ | java-1_8_0-openjdk          | package | 1.8.0.345-150000.3.70.1 | x86_64 | sles15sp4-test-SLE-Module-Legacy15-SP4-Updates for x86_64
v  | java-1_8_0-openjdk          | package | 1.8.0.332-150000.3.67.1 | x86_64 | sles15sp4-test-SLE-Module-Legacy15-SP4-Updates for x86_64
v  | java-1_8_0-openjdk          | package | 1.8.0.322-3.64.2        | x86_64 | sles15sp4-test-SLE-Module-Legacy15-SP4-Pool for x86_64
...

Wie man sieht, gibt es für SLES 15 SP4 einfach keine uralten Versionen vom JDK. Die älteste verfügbare ist 1.8.0.322. Warum Oracle hier auf die Steinzeitversion JDK-1.8.0.5.151 besteht ist ebenfalls verwunderlich. Also einfach die aktuelle JDK 1.8 installieren und dann ist man auf der sicheren Seite – zumindest für die Installation mittels „runInstaller -ignoreSysPrereqs“.

Aktuell findet man im Installation Guide für Linux folgenden benötigte Packages für SLES 15 (die Liste wurde seitens Oracle schon mehrfach gekürzt! Mit Oracle 19c (19.3) war diese noch um einiges länger!):

bc
binutils
glibc
glibc-devel
insserv-compat
libaio-devel
libaio1
libX11-6
libXau6
libXext-devel
libXext6
libXi-devel
libXi6
libXrender-devel
libXrender1
libXtst6
libcap-ng-utils
libcap-ng0
libcap-progs
libcap1
libcap2
libelf1
libgcc_s1
libjpeg8
libpcap1
libpcre1
libpcre16-0
libpng16-16
libstdc++6
libtiff5
libgfortran4
mksh
make
pixz
rdma-core
rdma-core-devel
smartmontools
sysstat
xorg-x11-libs
xz

Wie man sieht, werden hier keinerlei Versionsnummer angegeben. Auch wird explizit libgfortran4 erwähnt (mit Oracle 19.3 war es allerdings noch libgfortran3). Leider hat Oracle es nicht geschafft einen vollständigen, fehlerfreien Bugfix für SLES heraus zu bringen. Selbst mit dem Patch für BUG 30593888 wurden leider nicht alle Fehler / Ungereimtheiten beseitig.

Zusammenfassung und Workarounds

Damit man Oracle 19c auf SLES 15 SP4 (silent) installieren kann, sind mehrere Schritte nötig:

  • Sicherstellen, dass JDK 1.8, libgfortran4 und libpcre16 in den aktuellen Versionen vorhanden sind.
  • Nach dem Entpacken von 19.3 muss man den Patch für Bug 30593888 einspielen.
  • Den (silent) runInstaller trotzdem mit „-ignoreSysPrereqs“ aufrufen
    Für silent (ohne GUI) Installation, hier nochmals der Link auf den Artikel: Oracle SW Installation mit Patches ohne GUI

Sein wir gespannt, welche Workarounds wir für SLES 15 SP5 benötigen werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

This site uses Akismet to reduce spam. Learn how your comment data is processed.