MAC OS X에서 Oracle SQLPlus 사용하기
기본적으로 Oracle Database Server는 맥을 지원하지 않는다. 하지만 맥에서도 원격에 있는 서버에 접속해 SQLPlus를 사용할 수 있는 방법이 있다. 바로 'Oracle Instant Client'이다.
1. 설치 환경
내 맥북은 64비트 Intel x86을 사용하기 때문에 다음 링크에서 다운받았다. Oracle Instant Client는 다양한 OS를 지원한다.
https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html
Instant Client for macOS (Intel x86)
No results found Your search did not match any results. We suggest you try the following to help find what you're looking for: Check the spelling of your keyword search. Use synonyms for the keyword you typed, for example, try “application” instead of “sof
www.oracle.com
나는 12.2 버전을 다운받았다.
또한 내가 클라이언트를 설치하는 목적이 SQLplus를 사용해 튜닝공부를 하기 위해서이므로 SQLplus 패키지도 추가로 설치해야한다.
2. 설치
다운을 다 받았으면 이제 설치를 해야한다. 터미널로 들어가 다운로드 받은 압축파일들을 풀어준다.
$ unzip instantclient-basic-macos.x64-12.2.0.1.0-2.zip
$ unzip instantclient-sqlplus-macos.x64-12.2.0.1.0-2.zip
여기서 다른 어플리케이션에서 사용하려면 라이브러리들을 /usr/local/lib에 추가해줘야 한다.
$ ln -s ~/instantclient_12_2/libclntsh.dylib /usr/local/lib
$ ln -s ~/instantclient_12_2/libclntsh.dylib.12.1 /usr/local/lib
난 원격에 있는 오라클 서버에 접속해야하기 때문에 tnsnames.ora 파일을 생성해줘야 했다. 설치 디렉토리 밑에 network/admin 폴더를 만든 후 tnsnames.ora 파일을 생성해주면 된다. (tnsname.ora 가 아니라 tnsnames.ora이다. 이것때문에 계속 오류가 떠서 고생을 했다.)
$ mkdir -p ~/instantclient_12_2/network/admin
$ vi ~/instantclient_12_2/network/admin/tnsnames.ora
tnsnames.ora 파일 수정
별명 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 접속할 주소)(PORT = 접속할 포트))
(CONNECT_DATA =
(SERVICE_NAME = 접속할 DB)
)
)
여기서 별명은 나중에 접속할 때 사용할 정보이므로 적당하게 정해준다. 접속할 주소와 포트를 적어주고
SERVICE_NAME에 접속할 DB 이름을 적어주면 된다.
환경 변수 설정
아래 다섯줄을 .bash_profile에 적어주면 된다. 그리고 적용하기 위해 source 명령어를 사용
$ cd ~
$ vi .bash_profile
export PATH=~/instantclient_12_2:$PATH
export ORACLE_HOME=~/instantclient_12_2
export DYLD_LIBRARY_PATH=~/instantclient_12_2
export TNS_ADMIN=~/instantclient_12_2/network/admin
export CLASSPATH=$CLASSPATH:$ORACLE_HOME
$ source .bash_profile
3. 실행
모든 설정을 완료했으면 sqlplus를 실행을 해보면 된다.
실행 방법은 "sqlplus 유저아이디/유저비밀번호@TNS별명" (비밀번호를 적지 않고 "sqlplus 유저아이디@TNS별명" 으로 실행하면 비밀번호를 입력하라고 나온다.)
TNS별명은 아까 tnsnames.ora 파일에 적은 별명을 적어주면 된다.
$ sqlplus 아이디[/비밀번호]@tns별명
SQL*Plus: Release 12.2.0.1.0 Production on Sun Feb 9 17:03:49 2020
Copyright (c) 1982, 2017, Oracle. All rights reserved.
Last Successful login time: Sun Feb 09 2020 17:02:52 +09:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL>
위와 같이 SQL> 가 나온다면 성공적으로 접속한것이다.
Instant Client for macOS (Intel x86)
No results found Your search did not match any results. We suggest you try the following to help find what you're looking for: Check the spelling of your keyword search. Use synonyms for the keyword you typed, for example, try “application” instead of “sof
www.oracle.com
http://www.baldwhiteguy.co.nz/technical/index_files/mac-osx-oracle-instantclient.html