관리자님께서 게시한 글 "PPAS 와 오라클 연동하기(디비링크 생성)" 글인
http://www.postgresdba.com/bbs/board.php?bo_table=B22&wr_id=5
글을 보고 EDB PAS와 오라클 연동을 수행 하였는데
오류: OCI 라이브러리를 불러 올 수 없음: libclntsh.so: 동적 오브젝트 파일을 열 수 없습니다: 그런 파일이나 디렉터리가 없습니다.
라는 오류가 뜹니다..
제가 수행한 환경과, 수행한 내용중 잘못된것이 있는지 궁금하고
오류를 해결하려 수행했던 내용들도 적어 보았습니다.
문제가 무엇이고 어떻게 해결해야 할지 알려주세요 ㅠㅠ~
1) 수행 환경
----------------------------------------------------------------------------------------
OS는 레드햇 6.4 64bit
오라클은 11.2.0.4 버전 슈퍼유저 이름 : oracle
pas는 9.6 버전 슈퍼유저 이름 : enterprisedb 입니다.
----------------------------------------------------------------------------------------
2) 수행했던 내용
----------------------------------------------------------------------------------------
관리자님께서 게시한 글 "PPAS 와 오라클 연동하기(디비링크 생성)" 을
보고 수행했던 내용은 다음과 같습니다.
1. pas를 /u02/ppas 에 설치
2. /u02/ppas/oracle 이란 디렉토리를 생성
3. oracle 디렉토리 안에 Instant Client 파일을(instantclient-basic-linux.x64-11.2.0.4.0.zip)
다운 받아들 압축해제
4. 해제한 압축 파일중 링크파일 생성
$enterprisedb ln -s libclntsh.so.11.1 libclntsh.so
$enterprisedb ls libclntsh.so
libclntsh.so -> libclntsh.so.11.1
5. pgplus_env.sh 와 enterprisedb 계정의 .bash_profile에
export LD_LIBRARY_PATH=/u02/ppas/oracle 내용 추가
6. /u02/ppas/as9.6/data/postgres.conf 파일에서
oracle_home='/u02/ppas/oracle' 로 설정
7. 오라클 슈퍼유저 : oracle 오라클 리스너 포트 : 1521 DB이름 : ORCL
8. ebd=# create database link local_oracle connect to oracle identified by djsjdkwm using oci '//localhost:1521/ORCL';
9. edb=# select * from v$version@local_oracle;
이때 9번을 수행하면
오류: OCI 라이브러리를 불러 올 수 없음: libclntsh.so: 동적 오브젝트 파일을 열 수 없습니다: 그런 파일이나 디렉터리가 없습니다.
라는 오류가 나옵니다.
----------------------------------------------------------------------------------------
3) 오류 해결하려 시도 해보았던 내용
----------------------------------------------------------------------------------------
1. Instant Client Downloads 를 11.2.0.4 버전으로 다운받아서 수행도 해보고
Instant Client Downloads 를 12.1.0.1 버전으로도 다운받아서 수행도 해봄
( 위의 두가지 경우에서 libclntsh.so 파일에 대한 링크파일은 ln -s 명령어를 사용해 생성함 )
다운받았던 파일 instantclient-basic-linux.x64-11.2.0.4.0.zip
instantclient-basic-linux.x64-12.1.0.1.0.zip
2. pgplus_env.sh 와 enterprisedb 계정의 .bash_profile에 LD_LIBRARY_PATH 환경변수 말고도
oracle_home 이라는 환경변수를 추가해 값을 Instant Client 파일의 압축풀려있는 곳으로 지정
export LD_LIBRARY_PATH=/u02/ppas/oracle
export oracle_home=/u02/ppas/oracle
3. /u02/ppas/oracle 내부에 있는 모든 Instant Client 파일들을 /u02/ppas/as9.6/bin 으로 옮긴뒤
소유자를 root:deamon 으로 바꿔 시도해봄
----------------------------------------------------------------------------------------
위의 세가지 시도를 해서
edb=# select * from v$version@local_oracle;
명령어를 쳐도 같은 오류가 떠서 안되네요..
무엇이 문제 일까요?ㅜㅜㅠㅠ