首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Centos 8上安装Oracle XE 18c

无法在Centos 8上安装Oracle XE 18c
EN

Database Administration用户
提问于 2019-11-24 08:55:40
回答 2查看 6.8K关注 0票数 0

我试图在Centos 8 64位上安装Oracle 18。

我已经能够安装先决条件组件,这本身就需要先决条件,但是Oracle安装本身失败了。

如能提供任何协助,将不胜感激。

我的系统如下。

代码语言:javascript
复制
[root@localhost ~]# uname -a

Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

我从头到尾都没出过什么事。

代码语言:javascript
复制
    [root@localhost ~]# yum -y localinstall compat-libcap1-1.10-7.el7.x86_64.rpm
代码语言:javascript
复制
    [root@localhost ~]# yum -y localinstall compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
代码语言:javascript
复制
    [root@localhost ~]# yum -y localinstall oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm

当我尝试安装Oracle时,它失败了。

代码语言:javascript
复制
[root@localhost ~]# yum -y localinstall oracle-database-xe-18c-1.0-1.x86_64.rpm
Last metadata expiration check: 0:02:01 ago on Sun 24 Nov 2019 18:06:23 AEDT.
Dependencies resolved.
=============================================================================================================================================================================
 Package                                             Arch                                Version                             Repository                                 Size
=============================================================================================================================================================================
Installing:
 oracle-database-xe-18c                              x86_64                              1.0-1                               @commandline                              2.4 G

Transaction Summary
=============================================================================================================================================================================
Install  1 Package

Total size: 2.4 G
Installed size: 5.2 G
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                     1/1
  Running scriptlet: oracle-database-xe-18c-1.0-1.x86_64                                                                                                                 1/1
  Installing       : oracle-database-xe-18c-1.0-1.x86_64                                                                                                                 1/1
  Running scriptlet: oracle-database-xe-18c-1.0-1.x86_64                                                                                                                 1/1
Exception java.lang.UnsatisfiedLinkError: /opt/oracle/product/18c/dbhomeXE/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /opt/oracle/product/18c/dbhomeXE/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:388)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:130)
        at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:201)
        at oracle.sysman.oii.oiix.OiixIniPair.instantiateEnvVars(OiixIniPair.java:299)
        at oracle.sysman.oii.oiix.OiixIniPair.updateValue(OiixIniPair.java:230)
        at oracle.sysman.oii.oiix.OiixIniPair.(OiixIniPair.java:148)
        at oracle.sysman.oii.oiix.OiixIniFile.readFile(OiixIniFile.java:809)
        at oracle.sysman.oii.oiix.OiixIniFile.readIniFile(OiixIniFile.java:978)
        at oracle.sysman.oii.oiix.OiixIniFile.getProfileString(OiixIniFile.java:385)
        at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:339)
        at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:297)
        at oracle.sysman.oii.oiix.OiixOraparam.usePrereqChecker(OiixOraparam.java:417)
        at oracle.sysman.oii.oiic.OiicSessionContext.setVariables(OiicSessionContext.java:1325)
        at oracle.sysman.oii.oiic.OiicBaseInventoryApp.execute(OiicBaseInventoryApp.java:766)
        at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:685)
        at oracle.sysman.oii.oiic.OiicDetachHome.main(OiicDetachHome.java:420)
'DetachHome' failed.
Exception in thread "main" java.lang.NullPointerException
        at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:701)
        at oracle.sysman.oii.oiic.OiicDetachHome.main(OiicDetachHome.java:420)
Exception java.lang.UnsatisfiedLinkError: /opt/oracle/product/18c/dbhomeXE/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /opt/oracle/product/18c/dbhomeXE/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:388)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:130)
        at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:201)
        at oracle.sysman.oii.oiix.OiixIniPair.instantiateEnvVars(OiixIniPair.java:299)
        at oracle.sysman.oii.oiix.OiixIniPair.updateValue(OiixIniPair.java:230)
        at oracle.sysman.oii.oiix.OiixIniPair.(OiixIniPair.java:148)
        at oracle.sysman.oii.oiix.OiixIniFile.readFile(OiixIniFile.java:809)
        at oracle.sysman.oii.oiix.OiixIniFile.readIniFile(OiixIniFile.java:978)
        at oracle.sysman.oii.oiix.OiixIniFile.getProfileString(OiixIniFile.java:385)
        at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:339)
        at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:297)
        at oracle.sysman.oii.oiix.OiixOraparam.usePrereqChecker(OiixOraparam.java:417)
        at oracle.sysman.oii.oiic.OiicSessionContext.setVariables(OiicSessionContext.java:1325)
        at oracle.sysman.oii.oiic.OiicBaseInventoryApp.execute(OiicBaseInventoryApp.java:766)
        at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:685)
        at oracle.sysman.oii.oiic.OiicAttachHome.main(OiicAttachHome.java:696)
'AttachHome' failed.
Exception in thread "main" java.lang.NullPointerException
        at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:701)
        at oracle.sysman.oii.oiic.OiicAttachHome.main(OiicAttachHome.java:696)
[SEVERE] An error occurred while registering the Oracle home. Verify logs in /var/log/oracle-database-xe-18c/results/oraInstall.log and /opt/oracle/oraInventory for more details and try again.
warning: %post(oracle-database-xe-18c-1.0-1.x86_64) scriptlet failed, exit status 1

Error in POSTIN scriptlet in rpm package oracle-database-xe-18c
  Verifying        : oracle-database-xe-18c-1.0-1.x86_64                                                                                                                 1/1

Installed:
  oracle-database-xe-18c-1.0-1.x86_64

Complete!
EN

回答 2

Database Administration用户

发布于 2019-11-26 00:18:29

答案并不明显。如果您遵循有关安装OracleXE18c的文档和各种帖子,如果只使用yum进行安装,则可能会缺少一些步骤。

首先,如果您使用yum运行先决条件文件的安装,您将得到一个响应,说明缺少两个依赖文件。

如果使用rpm -ivh运行相同的结果,则结果是不同的。见下文。

代码语言:javascript
复制
[root@localhost ~]# yum -y localinstall oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm 
代码语言:javascript
复制
Updating Subscription Management repositories.
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                                                                11 kB/s | 4.5 kB     00:00    
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                                                                  6.8 kB/s | 4.1 kB     00:00    
Error: 
 Problem: conflicting requests
  - nothing provides compat-libcap1 needed by oracle-database-preinstall-18c-1.0-1.el7.x86_64
  - nothing provides compat-libstdc++-33 needed by oracle-database-preinstall-18c-1.0-1.el7.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
[root@localhost ~]#
代码语言:javascript
复制
[root@localhost ~]# rpm -ivh oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm 
代码语言:javascript
复制
warning: oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
error: Failed dependencies:
    compat-libcap1 is needed by oracle-database-preinstall-18c-1.0-1.el7.x86_64
    compat-libstdc++-33 is needed by oracle-database-preinstall-18c-1.0-1.el7.x86_64
    ksh is needed by oracle-database-preinstall-18c-1.0-1.el7.x86_64
    libaio-devel is needed by oracle-database-preinstall-18c-1.0-1.el7.x86_64
    libstdc++-devel is needed by oracle-database-preinstall-18c-1.0-1.el7.x86_64
    sysstat is needed by oracle-database-preinstall-18c-1.0-1.el7.x86_64
    xorg-x11-utils is needed by oracle-database-preinstall-18c-1.0-1.el7.x86_64
[root@localhost ~]# 

我还意识到在那个阶段我还没有安装java。然而,仅仅安装这个也没有帮助。

我的解决方案是安装rpm -ivh突出显示的依赖项,然后安装java,然后安装libnsl,这是java抱怨的又一个rpm。

我的解决办法如下。

代码语言:javascript
复制
yum install -y gcc-c++ make
yum install -y ksh
yum install -y sysstat
yum install -y xorg-x11-utils
yum install -y libnsl
yum install java-11-openjdk-devel
rpm -ivh libaio-devel-0.3.110-12.el8.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
rpm -ivh compat-libcap1-1.10-7.el7.x86_64.rpm

然后安装Oracle文件。

代码语言:javascript
复制
rpm -ivh oracle-database-preinstall-18c-1.0-1.el7.x86_64
rpm -ivh oracle-database-xe-18c-1.0-1.x86_64.rpm

我不知道这是否是进行Oracle安装的最佳方式,但它现在已经在RHEL和Centos系统上对我起了作用。

票数 2
EN

Database Administration用户

发布于 2021-04-07 18:36:17

为了补充这个很好的答案,而且由于CentOS已经不复存在,我在Oracles YUM上找到了所需的软件包:

https://yum.oracle.com/repo/OracleLinux/OL7/0/base/x86_64/index.html

希望这能帮助任何人寻找可靠的回购工具来拉动包装。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/254015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档