문제

저는 현재 회사에있는 사람이없는 프로 코드를 다시 컴파일하는 작업을하고 있습니다. 정상적으로 컴파일되지만 제작 서버에 복사하여 실행하면 Oracle 오류 ORA-12547 (TNS : LOST 연락처)가됩니다.

어떤 아이디어?

도움이 되었습니까?

해결책

오, 그것을 알아 냈습니다. :-)

C 실행 파일은 서버에서 직접 실행되지 않지만 연결 환경을 설정하는 스크립트를 통해 시작되었습니다. 즉, 다음과 같은 것 :

export SHLIB_PATH=/oracleDatabaseSidHere/oracle/10.2/lib:/usr/lib:/oracleDatabaseSidHere/oracle/10.2/odg/lib
export ORACLE_BASE=/oracleDatabaseSidHere/oracle
export ORACLE_SID=oracleDatabaseSidHere
export ORACLE_HOME=/oracleDatabaseSidHere/oracle/10.2

# Set up the path and executable to run
PATH=.\:$PATH:$ORACLE_HOME/bin:/usrlocal/bin
PATH=$PATH:/path_to_application_logs

cd /path_to_application
application

다른 팁

이와 관련하여 PL/SQL이있는 Oracle 데이터베이스에 연결하려고 할 때 Windows 컴퓨터에서 연락처가 손실 된 동일한 오류 ORA-12547 TNS가 동일한 오류가 발생하고 동시에 VPN 연결이 열려 있음을 알게되었습니다.

Linux, Oracle 11GR2에서도 비슷한 문제가있었습니다. Oracle 소유자는 SQL*플러스를 실행하고 TNS 또는 로컬 연결을 통해 들어갈 수 있습니다. 비 Oracle 사용자는 TNS를 통해 로그인 할 수 있지만 로컬 연결은 아닙니다.

대답은 Oracle_Home 파일 시스템이 "nosuid"로 장착되었다는 것입니다. 해당 마운트 옵션을 제거하면 내 문제가 해결되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top