首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux上安装Oracle Instantclient而不设置环境变量?

在Linux上安装Oracle Instantclient而不设置环境变量?
EN

Stack Overflow用户
提问于 2009-04-19 05:16:35
回答 6查看 36.3K关注 0票数 5

Oracle的指令指定了设置LD_LIBRARY_PATH。这使得我的应用程序依赖于随机用户的配置,并且设置起来非常麻烦。

如何避免设置任何环境变量?

OS/X的相关说明:installing Oracle Instantclient on Mac OS/X without setting environment variables?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-04-19 05:19:28

Oracle的即时客户端安装说明指定用户设置LD_LIBRARY_PATH。对于多个用户来说,这是非常麻烦的。

要使用即时客户端而不设置任何环境变量,请执行以下操作:

从oracle.com下载即时客户端发行版。对于进行非java软件开发,您将需要(假设Oracle 10.2):

代码语言:javascript
复制
instantclient-basic-linux-x86_64-10.2.0.4.0.zip
instantclient-sdk-linux-x86_64-10.2.0.4.0.zip
instantclient-sqlplus-linux-x86_64-10.2.0.4.0.zip

解压缩这三个文件。这将为您提供一个目录

代码语言:javascript
复制
instantclient_10_2/

将文件复制到/usr,这是动态加载器搜索的默认位置之一。

代码语言:javascript
复制
sudo cp instantclient_10_2/sdk/include/*.h /usr/include
sudo cp instantclient_10_2/sqlplus         /usr/bin
sudo cp instantclient_10_2/*.so*           /usr/lib

如果使用tnsnames.ora,请将其复制到/etc,这是oracle运行时搜索的默认全局位置。

代码语言:javascript
复制
sudo cp tnsnames.ora /etc

用来测试

代码语言:javascript
复制
/usr/bin/sqlplus scott/tiger@myoracle
票数 8
EN

Stack Overflow用户

发布于 2009-05-28 20:00:19

将库路径添加到/etc/ld.so.conf,然后运行/sbin/ldconfig。您不需要为安装在/usr/lib等标准位置的库设置LD_LIBRARY_PATH,因为这些位置已经在/etc/ld.so.conf中进行了配置。

票数 4
EN

Stack Overflow用户

发布于 2009-04-19 10:04:24

当然,您可以将sqlplus重命名为sqlplus.real,并创建一个包装器脚本:

代码语言:javascript
复制
#!/bin/sh

if [ "$LD_LIBRARY_PATH" = "" ]
then
        LD_LIBRARY_PATH=/what/ever
else
        LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/what/ever
fi

export LD_LIBRARY_PATH

exec sqlplus.real ${1+"$@"}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/764871

复制
相关文章

相似问题

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