如何在Mac上安装Oracle Instant Client版本12.1.0.2(64位)(OS X 10.11.5)
我已经下载了12.1.0.2版(64位)版本并解压缩了该文件。
我现在在/ downloads / instantclient下面有以下文件:
libclntsh.dylib.12.1
libclntshcore.dylib.12.1
libnnz12.dylib
libocci.dylib.12.1
libociei.dylib
libocijdbc12.dylib
libons.dylib
liboramysql12.dylib
ojdbc6.jar
ojdbc7.jar
uidrvci
xstreams.jar
adrci
BASIC_README
genezi
我不知道如何从这个到Instant Client的工作版本,所以我可以从CLI连接到数据库。 Oracles网站上的说明似乎过于复杂。
我找到了一些详细说明安装方法的博客,但它们似乎都来自以前版本的Instant Client。出于绝望,我下载了以前版本的Instant Client,但似乎仍然缺少本教程中提到的文件。
有谁知道如何在Mac上安装Oracle Instant Client?
答案 0 :(得分:19)
有multiple files available for download。从您列出的文件中,您只下载并解压缩了“基本”包。
要运行CLI(我假设您的意思是SQL * Plus),您还需要该软件包 - 列表中的第四个,标题为“Instant Client Package - SQL * Plus:用于运行SQL * Plus的附加库和可执行文件”使用Instant Client“。
这些包的排列使得如果你从同一个地方解压缩你需要的所有包,他们都会把他们的文件放在同一个目录中。不幸的是,如果您使用Safari并将其设置为打开某些下载的文件,则不能正常工作;每个zip文件都扩展为一个单独的文件夹,名称递增。然后它会删除zip文件。
您可以禁用自动解压缩并手动执行,也可以将各个文件夹中的文件复制到常用文件夹中。
您可能还需要为主客户端库创建符号链接;从那个文件夹里面(在终端)你会做:
ln -s libclntsh.dylib.12.1 libclntsh.dylib
您可以将该组合文件夹放在任何您喜欢的位置。然后,您需要将该文件夹的完整路径添加到PATH和环境变量中 - 您可以将其添加到.bash_profile中,这样就不需要手动执行。
完成后,您可以从任何地方执行sqlplus
。
总结一下:
如果您正在使用Safari,请禁用自动打开zip文件;来自Safari->偏好设置 - >常规取消下载后的“打开”安全“文件”复选框。
Download instantclient-basic-macos.x64-12.1.0.2.0.zip and 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即时客户端有workarounds个。自从我上次执行此操作后,下载页面底部的安装说明已经更改,现在它表示将库文件硬链接到用户的~/lib
目录以避免该问题。幸运的是,看起来您不需要担心12c客户端 - 他们已经修复了它的构建方式。
答案 1 :(得分:8)
HomeBrew救了我。我不弄清楚环境路径。
由于Oracle许可证,这是必要的。
instantclient-basic-macos.x64–11.2.0.4.0.zip
和
instantclient-sqlplus-macos.x64–11.2.0.4.0.zip
将文件放在~/Library/Caches/Homebrew
$ brew点击InstantClientTap / instantclient
$ brew install instantclient-basic
$ brew install instantclient-sqlplus
答案 2 :(得分:1)
使用自制软件(https://brew.sh/)很简单:
$ brew tap InstantClientTap/instantclient
$ brew install instantclient-basic
$ brew install instantclient-sqlplus
在我的情况下,不需要其他库。根据您的外壳-可能需要rehash
。
答案 3 :(得分:0)
在SQLdeveloper中,您会发现SQLplus,它像Windows一样开箱即用。
(应该这样开始)
如果将应用程序移至“应用程序”下并设法启动SQLdeveloper-client,则无法在此处找到它,称为sql:
/Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin/sql
要直接登录,请运行sql并退出:
sql username/password@ADDRESS_TO_DB:1521/SID @/path/to/your/pls_file_containing_sql/test.pls
请记住要包含“退出”;在您的pls文件末尾。