获取错误install_driver(Oracle)失败:无法加载’/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so’

我在尝试连接数据库时遇到错误

install_driver(Oracle) failed: Can't load '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-
multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.11.1: cannot open shared object file: 

No such file or directory at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-
multi/DynaLoader.pm line 230.
 at (eval 3) line 3

Compilation failed in require at (eval 3) line 3.

可能未在预期的位置安装所需的共享库或dll

最佳答案
请重建DBD :: Oracle PERL模块,确保在计算机上设置了所有ORACLE环境,包括ORACLE_HOME和LD_LIBRARY_PATH.
$ORACLE_HOME文件夹包含以下三个重要文件夹:

ls -la $ORACLE_HOME
bin
lib
network
...

它被定义为(请根据需要选择/适应):

ORACLE_HOME=/usr/lib/oracle/11.2/client64 (RHEL5,oracle-instantclient11.2-basic-11.2 rpm packages)
ORACLE_HOME=/usr/lib64/oracle/10.2.0.4/client64 (RHEL5,oracle-instantclient-basic-10.2.0.4 rpm packages)
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1 (Oracle 11g server installation)

而且几乎总是:

LD_LIBRARY_PATH=$ORACLE_HOME/lib

(这是“libclntsh.so.11.1”文件所在的文件夹!!这个LD_LIBRARY_PATH路径将帮助PERL DB :: Oracle模块找到它!)

以下是在具有Oracle 11g服务器的服务器上进行用户环境设置的示例:

cat /etc/profile.d/oracle-profile.sh
ORACLE_OWNER=oracle
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/home/oracle/app/oracle
PATH=$PATH:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_OWNER ORACLE_HOME ORACLE_BASE PATH LD_LIBRARY_PATH

我希望它有所帮助.

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...