Fedora Linux 安装 Oracle XE 18.4 后无法启动

Fedora Linux cannot boot after installing Oracle XE 18.4

我使用 RPM 在 Fedora Linux 29 上安装了 Oracle Express Edition 18.4。

安装进行得相当顺利,除了我必须从源代码构建 compat-libcap1 RPM,因为它没有随 Fedora 29 一起提供。

使用 /etc/init.d/oracle-xe-18c configure 进行的设置没有问题,我可以很好地启动、停止和使用 Oracle。

我将 $ORACLE_HOME/lib 添加到 /etc/ld.so.conf.d/oracle-xe-x86_64.conf 和 运行 ldconfig 以便 Oracle 位于所有可执行文件的库路径上。

但是在下次重新启动时,机器没有再次启动。可能是什么问题?

经过较长的调试会话后,发现问题出在将库目录添加到默认库路径中。

Oracle 提供了操作系统也提供的共享库 libexpat.so.1,但与其二进制不兼容。

现在启动过程中需要的一些可执行文件(特别是/usr/bin/dbus-daemon)需要共享库,但它们无法启动:

symbol lookup error: /usr/bin/dbus-daemon: undefined symbol: XML_SetHashSalt

一旦我弄明白了,解决方案就很简单:从默认共享库路径中删除 $ORACLE_HOME/lib(然后是 运行 ldconfig)。