linux - 在 oracle linux (libnsl.so.1) 上安装 oracle xe 数据库的问题
问题描述
所以我设置了一个 oracle linux 8 64 位虚拟机,因为尝试使用其他虚拟机总是会丢失库,我认为使用 Oracle 自己提供的 linux-os 将有一个简单的数据库安装所需的库。我一直遇到一些无法打开共享对象文件的“libnsl.so.1”库的问题。
我基本上只是设置了这个 VM 并手动下载了两个库进行预安装,在我安装了这些库后运行良好。
基本上它看起来像这样:
[root@localhost ~]# yum localinstall /home/derfred3/Downloads/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
Last metadata expiration check: 1:12:24 ago on Sun 13 Dec 2020 12:13:16 PM CET.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
oracle-database-preinstall-18c
x86_64 1.0-1.el7 @commandline 18 k
Installing dependencies:
glibc-devel x86_64 2.28-127.0.1.el8 ol8_baseos_latest 1.0 M
ksh x86_64 20120801-254.0.1.el8 ol8_appstream 927 k
libaio-devel x86_64 0.3.112-1.el8 ol8_baseos_latest 19 k
libstdc++-devel x86_64 8.3.1-5.1.0.1.el8 ol8_appstream 2.1 M
libxcrypt-devel x86_64 4.1.1-4.el8 ol8_baseos_latest 25 k
lm_sensors-libs x86_64 3.4.0-21.20180522git70f7e08.el8 ol8_baseos_latest 59 k
make x86_64 1:4.2.1-10.el8 ol8_baseos_latest 498 k
sysstat x86_64 11.7.3-5.el8 ol8_appstream 425 k
Transaction Summary
================================================================================
Install 9 Packages
Total size: 5.0 M
Total download size: 5.0 M
Installed size: 19 M
Is this ok [y/N]: y
Downloading Packages:
(1/8): libaio-devel-0.3.112-1.el8.x86_64.rpm 139 kB/s | 19 kB 00:00
(2/8): libxcrypt-devel-4.1.1-4.el8.x86_64.rpm 159 kB/s | 25 kB 00:00
(3/8): lm_sensors-libs-3.4.0-21.20180522git70f7 362 kB/s | 59 kB 00:00
(4/8): make-4.2.1-10.el8.x86_64.rpm 2.8 MB/s | 498 kB 00:00
(5/8): ksh-20120801-254.0.1.el8.x86_64.rpm 2.9 MB/s | 927 kB 00:00
(6/8): glibc-devel-2.28-127.0.1.el8.x86_64.rpm 3.0 MB/s | 1.0 MB 00:00
(7/8): sysstat-11.7.3-5.el8.x86_64.rpm 2.8 MB/s | 425 kB 00:00
(8/8): libstdc++-devel-8.3.1-5.1.0.1.el8.x86_64 3.0 MB/s | 2.1 MB 00:00
--------------------------------------------------------------------------------
Total 5.0 MB/s | 5.0 MB 00:01
warning: /var/cache/dnf/ol8_baseos_latest-e4c6155830ad002c/packages/libaio-devel-0.3.112-1.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY
Oracle Linux 8 BaseOS Latest (x86_64) 3.0 MB/s | 3.1 kB 00:00
Importing GPG key 0xAD986DA3:
Userid : "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>"
Fingerprint: 76FD 3DB1 3AB6 7410 B89D B10E 8256 2EA9 AD98 6DA3
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : glibc-devel-2.28-127.0.1.el8.x86_64 1/9
Running scriptlet: glibc-devel-2.28-127.0.1.el8.x86_64 1/9
Installing : libxcrypt-devel-4.1.1-4.el8.x86_64 2/9
Installing : libstdc++-devel-8.3.1-5.1.0.1.el8.x86_64 3/9
Installing : ksh-20120801-254.0.1.el8.x86_64 4/9
Running scriptlet: ksh-20120801-254.0.1.el8.x86_64 4/9
Installing : make-1:4.2.1-10.el8.x86_64 5/9
Running scriptlet: make-1:4.2.1-10.el8.x86_64 5/9
Installing : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_ 6/9
Running scriptlet: lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_ 6/9
Installing : sysstat-11.7.3-5.el8.x86_64 7/9
Running scriptlet: sysstat-11.7.3-5.el8.x86_64 7/9
Installing : libaio-devel-0.3.112-1.el8.x86_64 8/9
Running scriptlet: oracle-database-preinstall-18c-1.0-1.el7.x86_64 9/9
Installing : oracle-database-preinstall-18c-1.0-1.el7.x86_64 9/9
Running scriptlet: oracle-database-preinstall-18c-1.0-1.el7.x86_64 9/9
Verifying : libaio-devel-0.3.112-1.el8.x86_64 1/9
Verifying : libxcrypt-devel-4.1.1-4.el8.x86_64 2/9
Verifying : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_ 3/9
Verifying : make-1:4.2.1-10.el8.x86_64 4/9
Verifying : glibc-devel-2.28-127.0.1.el8.x86_64 5/9
Verifying : ksh-20120801-254.0.1.el8.x86_64 6/9
Verifying : libstdc++-devel-8.3.1-5.1.0.1.el8.x86_64 7/9
Verifying : sysstat-11.7.3-5.el8.x86_64 8/9
Verifying : oracle-database-preinstall-18c-1.0-1.el7.x86_64 9/9
Installed:
glibc-devel-2.28-127.0.1.el8.x86_64
ksh-20120801-254.0.1.el8.x86_64
libaio-devel-0.3.112-1.el8.x86_64
libstdc++-devel-8.3.1-5.1.0.1.el8.x86_64
libxcrypt-devel-4.1.1-4.el8.x86_64
lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64
make-1:4.2.1-10.el8.x86_64
oracle-database-preinstall-18c-1.0-1.el7.x86_64
sysstat-11.7.3-5.el8.x86_64
Complete!
[root@localhost ~]# yum localinstall /home/derfred3/Downloads/oracle-database-
oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
oracle-database-xe-18c-1.0-1.x86_64.rpm
[root@localhost ~]# yum localinstall /home/derfred3/Downloads/oracle-database-
oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
oracle-database-xe-18c-1.0-1.x86_64.rpm
[root@localhost ~]# yum localinstall /home/derfred3/Downloads/oracle-database-xe-18c-1.0-1.x86_64.rpm
Last metadata expiration check: 1:12:59 ago on Sun 13 Dec 2020 12:13:16 PM CET.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
oracle-database-xe-18c x86_64 1.0-1 @commandline 2.3 G
Transaction Summary
================================================================================
Install 1 Package
Total size: 2.3 G
Installed size: 5.2 G
Is this ok [y/N]: y
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.<clinit>(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.<init>(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.<clinit>(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.<init>(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!
[root@localhost ~]#
谁能帮我这个?基本上看任何在线指南,却从来没有看到他们提到可能会出现的问题,这是非常令人沮丧的。在网上搜索这些问题似乎只会将我引导到那些“安装 oracle 18c xe 的简单指南”站点。
我可能会补充一点,我不是 linux 专家,而是一个新手,所以请在回答时考虑这一点。非常感激!
解决方案
我建议一种不同的方法:为什么要重新发明轮子?下载已配置并准备好使用的预构建虚拟机之一。在这里找到它们。
推荐阅读
- javascript - 如何知道文件是否下载完成?
- listview - 如何通过鼠标拖动在 JavaFX ListView 中选择多行
- r - 根据多个数据帧中单词的频率创建建议单词列表
- sql - SQL 如何创建一个每天运行一次的作业并根据缺少的内容更新表?
- flutter - 选择小部件时 TextFormField 标签样式发生变化
- javascript - (节点:9263)UnhandledPromiseRejectionWarning:ValidationError:想法验证失败:imageUrl:需要路径`imageUrl`
- reactjs - 从 prop 数组映射的复选框的“已检查”状态与 array.find 结果与第二个数组不匹配
- java - bean 类 [java.util.ArrayList] 的无效属性“xyz”:bean 属性“xyz”不可读或具有无效的 getter 方法
- javascript - 将方法的参数声明为接口类型,并将不相关的对象传递给它
- sql - 如何使用 regexp_substr 提取包名