运行 sqlplus 时加载共享库时出错

Aar*_*esh 2 oracle ubuntu sqlplus

我正在尝试在我的 ubuntu 机器上安装和运行 sqlplus。我收到上述错误

error while loading shared libraries: libclntsh.so.12.1: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

当我跑

sudo sqlplus64 <user>/<pass>@//<ip>:<port>/db
Run Code Online (Sandbox Code Playgroud)

尽管遵循 oracle 安装客户端文档中提到的步骤https://help.ubuntu.com/community/Oracle%20Instant%20Client

我已正确设置 ORACLE_HOME 和 LD_LIBRARY_PATH 我的 strace sqlplus /nolog 输出显示以下错误

write(2, "SP2-0667: Message file sp1<lang>"..., 47SP2-0667: Message file sp1<lang>.msb not found
) = 47
write(2, "SP2-0750: You may need to set OR"..., 76SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
) = 76
Run Code Online (Sandbox Code Playgroud)

如果需要,我还可以附上完整的 strace。有人可以帮我解决这个问题吗?

Zer*_*odf 5

这是我在我的机器上安装 Oracle 即时客户端时使用的过程的简化版本:

1 - 获得外星人 sudo apt-get install alien

2 - 下载Oracle Instant Client(下载 basic、devel 和 sqlplus)

3 - 使用 Alien 安装.rpm软件包

sudo alien -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

sudo alien -i oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm

sudo alien -i oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm

4 - 导航到 sqlplus 的安装目录 $ cd /usr/lib/oracle/12.X/client64/bin/

5 - 运行 sqlplus$ ./sqlplus并查看是否有关于libaio1

6 - 您可能需要安装libaio1( $ sudo apt-get install libaio1)

7 - 如果您仍然遇到模块错误,请尝试运行ldd $ ldd sqlplus。安装你需要的东西。

8 - 设置以下环境变量

export ORACLE_HOME=/usr/lib/oracle/12.1/client64/

export PATH=$PATH:/usr/lib/oracle/12.1/client64/bin/

export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib/

您可以为/etc/bash.bashrc. 一个设置环境变量的讨论,对一个或多个用户对于不同类型的炮弹超出这个问题的境界。

祝你好运!