oracle instant client 리눅스 설정

DB & SQL 2015. 12. 5. 23:17

TNS 접속을 하려면 oracle instant client 설정을 해야 하는데
윈도우의 경우 압축 풀고 환경 변수에 PATH, TNS_ADMIN 설정을 추가하면 된다.
그러나 리눅스에서는 몇 가지 더 설정할 것이 있다.

윈도우에서는 instant client basic를 받아서 설정하도록 설명하고 있으나
리눅스에서는 instant client basic과 instant client sdk를 받아서 설정하도록 설명하고 있다.
추가적으로 instant client sql*plus도 다운받아 넣어준다.

외부에서 라이브러리 인식을 위한 링크 생성

라이브러리 버전은 다운 받은 버전에 따라 다르므로 알맞게 수정할 것

ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so

환경변수 설정

환경변수를 /etc/profile 또는 ~/.profile에 넣어준다.

# Oracle instant client
export PATH=/opt/oracle/instantclient_11_2:$PATH
#export ORACLE_HOME=/opt/oracle/instantclient_11_2
export LD_LIBRARY_PATH=/opt/oracle/instantclient_11_2:$LD_LIBRARY_PATH
export TNS_ADMIN=/opt/oracle/instantclient_11_2/network/admin
#export NLS_LANG=KOREAN_KOREA.KO16MSWIN949

각 경로는 환경에 맞게 바꿔준다.
반드시 필요한 환경변수만 설정하고 나머지는 주석 처리했다.
입맛에 맞게 설정하면 된다.

이게 끝이라고 생각했는데
LD_LIBRARY_PATH에서 문제를 일으켰다.
찾아보니 우분투, 민트 리눅스 버그인 듯하다.
해결은 LD_LIBRARY_PATH를 직접 설정하면 된다.

sudo vi /etc/ld.so.conf.d/oracle_instant_client.conf

파일 내용에 설정할 경로를 넣는다.

# oracle instant client
/opt/oracle/instantclient_11_2

추가한 설정 파일을 적용한다.

sudo ldconfig -v

/etc/profile에 설정했던 LD_LIBRARY_PATH 항목을 주석 처리한다.
설정이 잘 적용되었다면 아래 메시지를 볼 일은 없을 것이다.
만약 sqlplus 실행시 아래 메시지를 본다면 LD_LIBRARY_PATH 설정이 잘못된 것이다.

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory

'DB & SQL' 카테고리의 다른 글

oracle SQL과 PL/SQL  (0) 2016.02.03
oracle TNS 접속시 ORA-12514 에러  (0) 2015.12.06
oracle 생성된 테이블의 DDL 스크립트 확인  (0) 2015.10.18
oracle user 생성 삭제  (0) 2015.10.18
oracle tablespace 생성 삭제  (1) 2015.10.18
: