programing

Mac에서 Oracle Sqlplus 클라이언트 사용

linuxpc 2023. 8. 9. 20:33
반응형

Mac에서 Oracle Sqlplus 클라이언트 사용

Mac(64비트)에 SqlPlus 클라이언트를 설치하려고 합니다.먼저 64비트용으로 sqlplus를 설치했지만 오류가 발생했습니다. "세그먼트 오류: 11" 그 다음 32비트용으로 sqlplus를 설치했지만 .../libsqlplus.dylib: 적합한 이미지를 찾을 수 없습니다. .../libsqlplus.dylib: mach-o, 그러나 잘못된 아키텍처입니다.

저는 많은 튜토리얼을 사용했지만 여전히 이 문제를 해결하지 못했습니다.

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: 

다음을 생성할 수 있습니다.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> 

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> 

물론 이동하거나 이름을 변경할 수 있습니다.instanstclient_11_2원하는 모든 디렉토리로 이동합니다.DYLD_LIBRARY_PATH,TNS_ADMIN그리고 (삶을 더 편하게 만들기 위해)PATH환경 변수가 그 뒤를 따릅니다.두 개 이상의 버전이 설치되어 있는 경우 변수가 한 번에 한 버전만 가리키는지 확인하여 올바른 라이브러리 등을 선택합니다(여러 버전이 있는 경우,TNS_ADMIN중앙의 어딘가에서 당신은 단지 하나의 복사본을 유지하기만 하면 되기 때문에 훨씬 더 말이 됩니다.tnsnames.ora).

확인해 봐야겠지만, 자바에서 연결하는 경우에도 32비트 버전을 사용해야 할 수도 있습니다. 자바 아키텍처 자체를 배치해야 하므로 설치한 버전에 따라 다를 수 있습니다.

언급URL : https://stackoverflow.com/questions/19152403/oracle-sqlplus-client-on-mac

반응형