본문 바로가기

IT/Oracle

ORA-12547 : TNS:lost contact 에러 원인 및 해결 방법

반응형

ORA-12547: TNS:lost contact 오류는 데이터베이스 클라이언트와 서버 간의 통신이 끊겼을 때 발생합니다.
주요 원인은 다음과 같습니다.
1. Oracle 바이너리 파일의 권한 문제
  • Oracle 실행 파일 (oracle, sqlplus, listener 등)의 권한이 잘못 설정되어 있을 경우 발생할 수 있습니다.

2. 환경 변수 설정 오류
  • ORACLE_HOME, ORACLE_SID 등의 환경 변수가 올바르게 설정되지 않았을 경우 문제가 발생할 수 있습니다.

3. Shared Memory (SHMMAX, SHMALL) 및 Semaphore 설정 오류
  • 리눅스 환경에서 공유 메모리 및 세마포어 값이 너무 낮거나 설정이 잘못되었을 경우 Oracle이 정상적으로 실행되지 않습니다.

4. 라이브러리 파일 손상 또는 누락 (libclntsh.so, libnnz11.so 등)
  • Oracle 라이브러리 파일이 손상되었거나 누락되었을 경우 발생할 수 있습니다.

5. 리스너 (Listener) 비정상 종료
  • lsnrctl status로 리스너 상태를 확인하고 비정상적으로 종료되었으면 재시작해야 합니다.


해결 방법

1. Oracle 바이너리 파일의 권한 문제 해결
  • 권한을 확인하고 올바르게 설정합니다.

cd $ORACLE_HOME/bin
chmod 6751 oracle
chown oracle:oinstall oracle

이후 다시 실행해 보세요.

2. 환경 변수 설정 확인
  • 환경 변수를 다시 설정합니다.

export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

설정 후 echo $ORACLE_HOME 등을 실행하여 정상적으로 설정되었는지 확인하세요.

3. 공유 메모리 및 세마포어 설정 변경 (Linux)

현재 설정값 확인

cat /proc/sys/kernel/shmmax
cat /proc/sys/kernel/shmall
cat /proc/sys/kernel/sem

설정 변경

echo "kernel.shmmax = 4294967295" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
sysctl -p

설정 적용 후 서버를 재부팅합니다.

4. 라이브러리 파일 확인 및 복구
  • 손상된 라이브러리 파일이 없는지 확인하고 복구합니다.

cd $ORACLE_HOME/lib
ls -l libclntsh.so*

만약 라이브러리 파일이 누락되었거나 크기가 0이라면 다시 생성합니다.

cd $ORACLE_HOME/bin
./relink all

이후 다시 실행해 봅니다.

5. 리스너 상태 확인 및 재시작

리스너 상태 확인 :

lsnrctl status

리스너가 실행 중이 아니라면 시작합니다.

lsnrctl start

이후 다시 접속을 시도해 보세요.

관련 블로그

ORA-14400: inserted partition key does not map to any partition

Oracle 데이터베이스에서 발생하는 ORA-14400: inserted partition key does not map to any partition 오류는 사용자가 데이터를 삽입하려 할 때, 해당 데이터가 매핑될 수 있는 적절한 파티션을 찾을 수 없을 때

make2t.tistory.com

ORA-28365 : wallet is not open

Oracle 에러 ORA-28365: “wallet is not open”에 대한 원인과 조치 방법은 다음과 같습니다원인ORA-28365 에러는 Oracle 데이터베이스가 암호화 키 저장소(Wallet)를 열 수 없을 때 발생합니다. 이는 데이터베

make2t.tistory.com

 

반응형