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 instant client 리눅스 설정  (1) 2015.12.05
oracle 생성된 테이블의 DDL 스크립트 확인  (0) 2015.10.18
oracle user 생성 삭제  (0) 2015.10.18
oracle tablespace 생성 삭제  (1) 2015.10.18
Trackbacks 0 : Comments 1
  1. jspark 2019.05.24 13:08 Modify/Delete Reply

    감사합니다 덕분에 해결했습니다~

Write a comment