含有Oracle变量的Perl脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了含有Oracle变量的Perl脚本相关的知识,希望对你有一定的参考价值。
我们有大量的perl脚本,在许多服务器上运行。当我在不同的服务器上运行时,出现了如下的错误。
Can't load '/opt/vzw/perl5/lib/site_perl/5.18.1/sun4-solaris-thread-multi-
64/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: ld.so.1: perl: fatal: libclntsh.so.11
.1: open failed: No such file or directory at /opt/vzw/perl5/lib/5.18.1/sun4-solaris-thread-multi-
64/DynaLoader.pm line 190.
at (eval 16) line 3.
Compilation failed in require at (eval 16) line 3
当我手动设置oracle_home时,如下图所示,它就能正常运行。
export ORACLE_HOME=/db/app/oracle/product/11.2.0.4/dbhome_1
但是,看起来当perl脚本运行时,它的路径是这样的
/db/app/oracle/product/11.2.0.3/dbhome_1
在perl脚本中,我注意到有一行 "使用DBI"。我对perl不熟悉。所以只是想知道如何更改perl的设置,使其采用最新的11.2.0.4而不是11.2.0.3。
有成千上万的脚本,所以不方便在其中手动传递导出命令.我希望弄清楚当perl脚本执行时,oracle_home的变量设置在哪里。
答案
根本就没有这个东西。Perl 和 DBD::Oracle 并没有为这个变量提供任何默认值。不管设置的是什么,都是你的服务器上所提供的环境的一部分,SO不可能告诉你任何事情。
以上是关于含有Oracle变量的Perl脚本的主要内容,如果未能解决你的问题,请参考以下文章