Wenn man die Oracle Datenbank 23c Developer Free Edition (Oracle 23.3) installiert hat, funktioniert – zumindest unter Oracle Linux 8 – kein dnf update
mehr. Probiert man es, bekommt man folgende Meldung:
[root@oel8 ~]# dnf update
Failed to set locale, defaulting to C.UTF-8
Oracle Linux 8 BaseOS Latest (x86_64)
Oracle Linux 8 BaseOS Latest (x86_64)
Oracle Linux 8 Application Stream (x86_64)
Oracle Linux 8 Application Stream (x86_64)
Oracle Linux 8 Development Packages (x86_64)
Oracle Linux 8 Development Packages (x86_64)
Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64)
Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64)
Last metadata expiration check: 0:00:14 ago on Sun Jun 16 16:01:39 2024.
Error:
Problem: package oracle-database-free-23c-1.0-1.x86_64 requires oracle-database-preinstall-23c, but none of the providers can be installed
- package oracle-database-preinstall-23ai-1.0-2.el8.x86_64 obsoletes oracle-database-preinstall-23c provided by oracle-database-preinstall-23c-1.0-1.el8.x86_64
- package oracle-database-preinstall-23ai-1.0-2.el8.x86_64 obsoletes oracle-database-preinstall-23c provided by oracle-database-preinstall-23c-1.0-0.5.el8.x86_64
- cannot install the best update candidate for package oracle-database-preinstall-23c-1.0-1.el8.x86_64
- problem with installed package oracle-database-free-23c-1.0-1.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
Die Ursache ist folgende: Seit die Version Oracle Datenbank 23ai Free (also 23.4) verfügbar ist, wurde das PreInstall Package oracle-database-preinstall-23c
durch oracle-database-preinstall-23ai
ersetzt. Wenn dnf
das RPM ersetzen möchte, schlägt dies fehl, weil ja oracle-database-free-23c
installiert ist und dieses zwingend oracle-database-preinstall-23c
benötigt.
Damit dnf update
wieder funktioniert, muss man oracle-database-free-23c
deinstallieren – doch fangen wir am Anfang an. Zuerst prüfen wir, welche Oracle Datenbank RPMs auf dem Rechner installiert sind:
[root@oel8 ~]# rpm -aq | grep oracle-database
oracle-database-free-23c-1.0-1.x86_64
oracle-database-preinstall-23c-1.0-1.el8.x86_64
Im nächsten Schritt kontrollieren wir, welche Oracle Datenbank RPMs grundsätzlich zur Verfügung stehen:
[root@oel8 ~]# dnf search oracle-database
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:09:45 ago on Sun Jun 16 16:01:39 2024.
======== Name Matched: oracle-database =====================================
oracle-database-free-23c.x86_64 : Oracle 23c Free Database
oracle-database-preinstall-19c.src : Oracle Database Preinstallation RPM
oracle-database-preinstall-19c.x86_64 : Oracle Database Preinstallation RPM
oracle-database-preinstall-21c.src : Oracle Database Preinstallation RPM
oracle-database-preinstall-21c.x86_64 : Oracle Database Preinstallation RPM
oracle-database-preinstall-23ai.src : Oracle Database Preinstallation RPM
oracle-database-preinstall-23ai.x86_64 : Oracle Database Preinstallation RPM
oracle-database-preinstall-23c.x86_64 : Oracle Database Preinstallation RPM
oracle-database-preinstall-23c.src : Oracle Database Preinstallation RPM
Wie man sieht, gibt es das oracle-database-preinstall-23ai
sowie das oracle-database-free-23c
RPM. Was fehlt ist das oracle-database-free-23ai
RPM. Dieses kann man nur über die Oracle Homepage herunter laden.
Sofern man keine Daten in der aktuellen FREE Datenbank hat, kann man diese mit folgenden Schritten löschen:
[root@oel8 ~]# /etc/init.d/oracle-free-23c delete
[root@oel8 ~]# rpm -ev oracle-database-free-23c-1.0-1.x86_64
[root@oel8 ~]# rpm -ev oracle-database-preinstall-23c-1.0-1.el8.x86_64
Jetzt ist das dnf update
wieder möglich:
[root@oel8 ~]# dnf update -y
Im nächsten Schritt benötigt man das korrekte PreInstall RPM und zur Sicherheit installieren wir gleich wget mit, das wir für den Download von Oracle Datenbank 23ai Free benötigten.
[root@oel8 ~]# dnf install -y oracle-database-preinstall-23ai wget
Jetzt kann man die Oracle Datenbank 23ai herunterladen und installieren:
[root@oel8 ~]# wget https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23ai-1.0-1.el8.x86_64.rpm
[root@oel8 ~]# dnf install -y oracle-database-free-23ai-1.0-1.el8.x86_64.rpm
[root@oel8 ~]# rm oracle-database-free-23ai-1.0-1.el8.x86_64.rpm
Seitens Oracle ist für die Free Edition aktuell keinerlei Patching oder Upgrade vorgesehen.