9

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

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

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/intel_macsoft.html

linux 相关说明:在不设置环境变量的情况下在 Linux 上安装 Oracle Instantclient?

4

3 回答 3

22

Oracle 的 Instantclient 安装说明指定用户设置 DYLD_LIBRARY_PATH。这对于多个用户来说管理起来非常麻烦。

要在不设置任何环境变量的情况下使用 Instantclient:

从 oracle.com 下载 Instantclient 发行版。对于进行非 Java 软件开发,您将需要(假设 Oracle 10.2):

instantclient-basic-macosx-10.2.0.4.0.zip
instantclient-sdk-macosx-10.2.0.4.0.zip
instantclient-sqlplus-macosx-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/*.dylib         /usr/lib

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

sudo cp tnsnames.ora /etc

测试

/usr/bin/sqlplus scott/tiger@myoracle
于 2009-03-26T02:49:44.573 回答
2

如果您的目标只是在 MacBook 上运行 sqlplus,这可能对您有用。从 ~/.bashrc 中删除 DYLD_LIBRARY_PATH 环境变量并将其替换为别名:

alias sqlplus="DYLD_LIBRARY_PATH=/Applications/instantclient_11_2 sqlplus"

博客条目:Mac OS/X 上的 sqlplus 和 DYLD_LIBRARY_PATH

于 2015-05-23T15:53:51.487 回答
0

经过大量研究,我找到了解决此错误的可持续解决方案,其中涉及编辑 Apache 的launchd配置.plist文件以指定所需DYLD_LIBRARY_PATHORACLE_HOME、 和LD_LIBRARY_PATH环境变量。

您可以在此处查看完整答案:https ://stackoverflow.com/a/20670810/1914455

于 2013-12-18T23:45:20.197 回答