Oracle的指令指定了设置LD_LIBRARY_PATH。这使得我的应用程序依赖于随机用户的配置,并且设置起来非常麻烦。
如何避免设置任何环境变量?
OS/X的相关说明:installing Oracle Instantclient on Mac OS/X without setting environment variables?
发布于 2009-04-19 05:19:28
Oracle的即时客户端安装说明指定用户设置LD_LIBRARY_PATH。对于多个用户来说,这是非常麻烦的。
要使用即时客户端而不设置任何环境变量,请执行以下操作:
从oracle.com下载即时客户端发行版。对于进行非java软件开发,您将需要(假设Oracle 10.2):
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解压缩这三个文件。这将为您提供一个目录
instantclient_10_2/将文件复制到/usr,这是动态加载器搜索的默认位置之一。
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运行时搜索的默认全局位置。
sudo cp tnsnames.ora /etc用来测试
/usr/bin/sqlplus scott/tiger@myoracle发布于 2009-05-28 20:00:19
将库路径添加到/etc/ld.so.conf,然后运行/sbin/ldconfig。您不需要为安装在/usr/lib等标准位置的库设置LD_LIBRARY_PATH,因为这些位置已经在/etc/ld.so.conf中进行了配置。
发布于 2009-04-19 10:04:24
当然,您可以将sqlplus重命名为sqlplus.real,并创建一个包装器脚本:
#!/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+"$@"}https://stackoverflow.com/questions/764871
复制相似问题