Oracle 인스턴트 클라이언트 설치

Oracle 인스턴트 클라이언트 설치

Oracle SQL Developer를 16.04에서 작동시키려고 합니다. 나는 PhatHV의 답변을 따랐습니다.이것질문에 답하고 데스크톱 앱이 잘 열리고 올바르게 표시되지만 데이터베이스에 연결하려고 하면(Windows에서 동일한 데이터베이스에 연결했기 때문에 이것이 작동해야 한다는 것을 알고 있습니다) 다음과 같은 오류 창이 나타납니다.

An error was encountered performing the requested operation:

no ocijdbc12 in java.library.path

Vendor code 0

이 오류의 원인과 해결 방법을 아는 사람이 있습니까?

답변1

나에게는 LD_LIBRARY_PATH 환경 변수를 Instant Client 디렉토리로 설정했을 때만 작동합니다. /etc/ld.so.conf.d/oracle.conf에서 설정하고 실행하면 작동 sudo ldconfig하지 않습니다.

답변2

좋아, 이제 (약간의 도움을 받아) 두 대의 별도 컴퓨터에서 이 문제를 해결할 수 있었지만 너무 오래되어서 우리가 이 문제를 해결하기 위해 수행한 모든 작업을 기억할 수 없습니다. 최소한 내가 기억하는 내용을 포함하고 나중에 이 답변을 수정할 수 있습니다. 내부 내용을 모두 이해하지 못해서 불필요한 조치가 있었다면 사과드립니다. 그러나 원래 질문에서 언급했듯이 PhatHV가 제공한 또 다른 답변을 따랐으므로 여기에서 찾은 단계를 반복하지 않겠습니다. 당신은 여기에 오기 전에 그의 튜토리얼을 따랐다고 가정합니다.

Oracle 인스턴트 클라이언트 설치

SQL Developer 버전 4.2.0의 경우 Instant Client 버전 12.2.0.1.0이 필요했습니다. 다운로드를 찾을 수 있습니다여기. 귀하의 아키텍처에 해당하는 "Instant Client for Linux"를 선택하십시오(저는 64비트 시스템을 사용하고 있으므로 x86-64 옵션을 열었습니다. 다음 5개 파일을 다운로드하십시오(적절한 경우 버전 번호와 아키텍처로 대체).

  • oracle-instantclient12.2-basic-12.2.0.1.0-1.x86-64.rpm
  • oracle-instantclient12.2-devel-12.2.0.1.0-1.x86-64.rpm
  • oracle-instantclient12.2-jdbc-12.2.0.1.0-1.x86-64.rpm
  • oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86-64.rpm
  • oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86-64.rpm

아직 없는 경우 다음 도구를 설치해야 합니다 alien.

sudo apt-get install alien

다운로드 디렉터리(또는 파일을 저장한 위치)로 이동하고 sudo alien -i각 파일을 실행하여 설치합니다. 설치하기 전에 alien먼저 변환하기 때문에 사용합니다 . .deb참고로 alien바로 출력이 많이 나오지 않아서 아무 것도 안 하는 것처럼 보일 수도 있지만, 그렇다고 약속합니다.

sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-devel-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-jdbc-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86-64.rpm

프로필 및 환경 변수 편집

이러한 모든 명령을 실행하려면 루트 사용자여야 합니다. sudo su루트로 로그인하려면 실행하세요 .

/etc/profile.d/oracle.sh다음 내용을 포함하도록 편집합니다 .

export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export TNS_ADMIN=/usr/lib/oracle/ora
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

여기에서 변수의 버전 번호를 확인하세요 ORACLE_HOME. 다시 말하지만, 내 것은 이지만 12.2당신의 것은 다른 것일 수도 있습니다. 를 설정하는 것도 일반적이지만 내 파일이 버전 종속 디렉터리(예: )에 있지 않도록 설정 TNS_ADMIN=$ORACLE_HOME/ora하지 않기로 결정했습니다 ..ora12.2

/etc/ld.so.conf.d/oracle.conf포함하도록 편집

/usr/lib/oracle/12.2/client64/lib/

다시 한 번 버전 번호를 기록해 두십시오.

마지막으로,/etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/default-java/"
CLASSPATH=/usr/lib/jvm/default-java/lib:/usr/lib/jvm/default-java/include:/usr/lib/oracle/12.2/client64/lib

모든 파일 편집을 마쳤으면 다음을 실행하세요.

ldconfig
source /etc/profile.d/oracle.sh
source /etc/environment

일반 사용자로 되돌리려면 누르 <Ctrl> + D거나 입력하세요 .exit

타사 드라이버로 추가

이 단계가 반드시 필요한지는 모르겠지만 내 컴퓨터에서는 작동합니다. SQL Developer를 열면 으로 이동하여 Tools -> Preferences -> Database -> Third Party JDBC Drivers클릭 할 수 있습니다 Add Entry. 을 열고 /usr/lib/oracle/12.2/client64을 클릭하세요 lib. 강조 표시되면 클릭하여 select목록에 추가할 수 있습니다.

이 단계 후에는 SQL Developer를 닫았다가 다시 열어야 합니다. 그 일을 다 하고 나면,바라건대더 이상 오류가 발생하지 않습니다.

관련 정보