有多个文件可供下载。从您列出的文件中,您只下载并解压缩了“基本”包。
要运行 CLI(我假设您的意思是 SQL*Plus),您还需要该包 - 列表中的第四个,标题为“Instant Client Package - SQL*Plus: Additional libraries and executable for running SQL*Plus with Instant Client ”。
这些包的排列方式是,如果您从同一个地方解压缩所有需要的包,它们都会将它们的文件放在同一个目录中。不幸的是,如果您使用 Safari 并将其设置为打开某些下载的文件,这将无法正常工作;每个 zip 文件都扩展为一个单独的文件夹,并具有递增的名称。然后它会删除 zip 文件。
您可以禁用该自动解压缩并手动执行,或者将文件从各个文件夹复制到一个公共文件夹中。
您可能还需要为主客户端库创建符号链接;从该文件夹中(在终端中),您将执行以下操作:
ln -s libclntsh.dylib.12.1 libclntsh.dylib
您可以将该组合文件夹放在您喜欢的任何位置。然后,您需要将该文件夹的完整路径添加到您的 PATH 和环境变量中 - 您可以将其添加到您的 .bash_profile 中,这样您就不需要手动执行此操作。
完成后,您可以sqlplus
从任何地方执行。
所以总结一下:
如果您使用的是 Safari,请禁用自动打开 zip 文件;从 Safari-> 首选项-> 常规取消勾选“下载后打开“安全”文件”复选框。
下载instantclient-basic-macos.x64-12.1.0.2.0.zip 和instantclient-sqlplus-macos.x64-12.1.0.2.0.zip
在终端中转到您的下载目录。
解压这两个文件:
MacBook:Downloads alex$ unzip instantclient-basic-macos.x64-12.1.0.2.0.zip
Archive: instantclient-basic-macos.x64-12.1.0.2.0.zip
inflating: instantclient_12_1/BASIC_README
inflating: instantclient_12_1/adrci
inflating: instantclient_12_1/genezi
inflating: instantclient_12_1/libclntsh.dylib.12.1
inflating: instantclient_12_1/libclntshcore.dylib.12.1
inflating: instantclient_12_1/libnnz12.dylib
inflating: instantclient_12_1/libocci.dylib.12.1
inflating: instantclient_12_1/libociei.dylib
inflating: instantclient_12_1/libocijdbc12.dylib
inflating: instantclient_12_1/libons.dylib
inflating: instantclient_12_1/liboramysql12.dylib
inflating: instantclient_12_1/ojdbc6.jar
inflating: instantclient_12_1/ojdbc7.jar
inflating: instantclient_12_1/uidrvci
inflating: instantclient_12_1/xstreams.jar
MacBook:Downloads alex$ unzip instantclient-sqlplus-macos.x64-12.1.0.2.0.zip
Archive: instantclient-sqlplus-macos.x64-12.1.0.2.0.zip
inflating: instantclient_12_1/SQLPLUS_README
inflating: instantclient_12_1/glogin.sql
inflating: instantclient_12_1/libsqlplus.dylib
inflating: instantclient_12_1/libsqlplusic.dylib
inflating: instantclient_12_1/sqlplus
可以选择重命名和/或将instantclient_12_1
目录移动到更永久的位置。
将位置添加到当前会话中的路径,以及 shell 配置文件/资源文件中,以使其在每次登录时生效:
export PATH=$HOME/Downloads/instantclient_12_1:$PATH
享受。
MacBook:Downloads alex$ export PATH=$HOME/Downloads/instantclient_12_1:$PATH
MacBook:Downloads alex$ which sqlplus
/Users/alex/Downloads/instantclient_12_1/sqlplus
MacBook:Downloads alex$ sqlplus
SQL*Plus: Release 12.1.0.2.0 Production on Thu Jun 9 16:29:49 2016
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Enter user-name:
El Capitan 添加了系统完整性保护 (SIP),其副作用之一是无法导出 DYLD_LIBRARY_PATH。例如,这可能会影响从 shell 脚本运行 SQL*Plus。有针对 11g 即时客户端的解决方法。自从我上次这样做以来,下载页面底部的安装说明已经更改,现在它说将库文件硬链接到用户~/lib
目录以避免该问题。幸运的是,使用 12c 客户端您似乎不需要担心这一点——他们已经修复了它的构建方式。