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.