Rya*_*nad 12 oracle macos sqlplus 32bit-64bit
我想在我的Mac上安装SqlPlus客户端,它是64位的.首先,我安装了sqlplus for 64-bit,但是我有错误: "Segmentation fault:11" 然后我安装了sqlplus for 32-bit,但是仍然有问题,它说: ../ libsqlplus.dylib:找不到合适的图像. ./libsqlplus.dylib:mach-o,但架构错误
我已经使用了很多教程,但仍然没有解决这个问题.
Ale*_*ole 34
11gR2 64位即时客户端工作在10.8.5.如果您连接的数据库仍为10g,则可以使用11g客户端.我不知道还有什么理由继续使用旧版本,除非您需要特定ojdbc版本; 但可能是有用例,或者它仍然不会被突出列出下载.无论如何,这表明全新安装:
$ unzip instantclient-basic-macos.x64-11.2.0.3.0.zip
Archive: instantclient-basic-macos.x64-11.2.0.3.0.zip
inflating: instantclient_11_2/BASIC_README
inflating: instantclient_11_2/adrci
inflating: instantclient_11_2/genezi
inflating: instantclient_11_2/libclntsh.dylib.11.1
inflating: instantclient_11_2/libnnz11.dylib
inflating: instantclient_11_2/libocci.dylib.11.1
inflating: instantclient_11_2/libociei.dylib
inflating: instantclient_11_2/libocijdbc11.dylib
inflating: instantclient_11_2/ojdbc5.jar
inflating: instantclient_11_2/ojdbc6.jar
inflating: instantclient_11_2/uidrvci
inflating: instantclient_11_2/xstreams.jar
$ unzip instantclient-sqlplus-macos.x64-11.2.0.3.0.zip
Archive: instantclient-sqlplus-macos.x64-11.2.0.3.0.zip
inflating: instantclient_11_2/SQLPLUS_README
inflating: instantclient_11_2/glogin.sql
inflating: instantclient_11_2/libsqlplus.dylib
inflating: instantclient_11_2/libsqlplusic.dylib
inflating: instantclient_11_2/sqlplus
$ export DYLD_LIBRARY_PATH=$PWD/instantclient_11_2
$ $PWD/instantclient_11_2/sqlplus
SQL*Plus: Release 11.2.0.3.0 Production on Thu Oct 3 09:49:06 2013
Copyright (c) 1982, 2012, Oracle. All rights reserved.
Enter user-name:
Run Code Online (Sandbox Code Playgroud)
你可以在tnsnames.ora任何地方创造; 我把它放在同一个instant client_11_2目录中:
$ export TNS_ADMIN=$PWD/instantclient_11_2
$ echo "TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = <db_server>)(PORT = <listener port>))
)
(CONNECT_DATA =
(SERVICE_NAME = <full_db_service_name>)
)
)
" > $TNS_ADMIN/tnsnames.ora
$ $PWD/instantclient_11_2/sqlplus user/password@test
SQL*Plus: Release 11.2.0.3.0 Production on Thu Oct 3 09:55:14 2013
Copyright (c) 1982, 2012, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL>
Run Code Online (Sandbox Code Playgroud)
32位版本也可以正常工作:
$ rm -rf $PWD/instantclient_11_2
$ unzip instantclient-basic-macos.x32-11.2.0.3.0.zip
$ unzip instantclient-sqlplus-macos.x32-11.2.0.3.0.zip
$ export DYLD_LIBRARY_PATH=$PWD/instantclient_11_2
$ export TNS_ADMIN=$PWD/instantclient_11_2
$ echo "TEST = ..." > TNS_ADMIN/tnsnames.ora
$ $PWD/instantclient_11_2/sqlplus user/password@test
SQL*Plus: Release 11.2.0.3.0 Production on Thu Oct 3 10:06:19 2013
Copyright (c) 1982, 2012, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL>
Run Code Online (Sandbox Code Playgroud)
您当然可以将instanstclient_11_2目录移动或重命名为您想要的任何内容,只需确保您的DYLD_LIBRARY_PATH,TNS_ADMIN以及(使生活更轻松)PATH环境变量遵循它.如果你安装了多个版本,请确保变量一次只指向一个版本,这样你就可以选择正确的库等.(如果你有多个版本,那么在TNS_ADMIN某个地方做中心会更有意义,因为你只需要维护一份tnsnames.ora).
我需要检查,但我认为如果你从Java连接,你可能还需要使用32位版本; 它必须批处理Java本身的体系结构,所以我想这取决于你安装的是哪个版本.