'ora-12547.tns-12747'에 해당되는 글 1건

  1. 2018.08.08 oracle ERROR: ORA-12547: TNS:lost contact
ORACLE/ADMIN2018. 8. 8. 17:07
반응형

증상

- 로컬로 접속할 수 없습니다.
- Sql*Plus를 사용하여 접속하려고 시도하면 다음 오류가 발생합니다.

ERROR:
----------------
ORA-12547: TNS:lost contact

예:

$sqlplus / as sysdba

SQL*Plus: Release 11.1.0.7.0 - Production on Wed Mar 30 11:59:06 2011

Copyright (c) 1982, 2008, Oracle. All rights reserved.

ERROR:
ORA-12547: TNS:lost contact
원인

다음이 원인일 수 있습니다.

커널 파라미터 설정
ORACLE 실행 파일의 잘못된 권한 설정
스택에 대한 ulimit 설정 부족
$ORACLE_HOME/rdbms/lib/config.o가 0바이트임
Oracle 바이너리가 올바르게 링크되지 않음
누락된 $ORACLE_HOME/dbs 디렉토리
빈 dbs 디렉토리를 생성하면 이 오류가 해결되므로 예를 들어 인스턴스를 종료할 수도 있지만 누락된 파라미터 파일로 인해 인스턴스를 재시작할 수는 없습니다. 따라서 dbs 디렉토리를 완전히 복원해야 합니다.
해결책

해결책을 구현하려면 다음 단계를 실행하십시오.:

1. 커널 파라미터 설정 때문일 수 있습니다.

커널 파라미터에 필요한 설정을 제공하는 아래 노트를 참조하십시오.
Note 169706.1 Oracle Database on AIX,HP-UX,Linux,MacOSX,Solaris,Tru64

2. ORACLE.exe의 권한 설정이 잘못되었기 때문일 수 있습니다.

선택적으로 다음을 사용하여 OS 트레이스를 수집한다면:

$strace -f -o /tmp/trace.1.log $ORACLE_HOME/bin/sqlplus / as sysdba

이 경우 trace.1.log에서 다음과 같은 몇 개의 (Permission denied)를 볼 수 있습니다.:

21810 open("/oracle/PROD/db/tech_st/11.1.0/admin/PROD_erptest/diag/rdbms/prod/PROD/alert/log.xml", O_WRONLY|O_CREAT|O_APPEND, 0664) = -1 EACCES (Permission denied)
......

21810 open("/oracle/PROD/db/tech_st/11.1.0/admin/PROD_erptest/diag/rdbms/prod/PROD/trace/alert_PROD.log", O_WRONLY|O_CREAT|O_APPEND, 0664) = -1 EACCES (Permission denied)

'ls' 명령을 실행하면 다음과 같이 permissions 권한이 6751 이어야 합니다

다음을 실행하여 권한 설정을 확인하십시오 :

$ cd $ORACLE_HOME/bin
$ ls -l oracle

출력에 다음과 같은 올바른 권한 설정이 표시되어야 합니다.

-rwsr-s--x 1 oracle dba

그렇지 않은 경우 다음을 실행하여 권한 설정을 수정합니다.

$ cd $ORACLE_HOME/bin
$ chmod 6751 oracle
$ ls -l oracle

다음 사항이 올바른지도 확인합니다.

echo $ORACLE_HOME
echo $ORACLE_SID
echo $LD_LIBRARY_PATH
echo $PATH

3. 스택에 대한 현재 ulimit 설정을 확인합니다.

ulimit -a

설치 설명서에서 현재 플랫폼 및 Oracle 버전을 확인하고 스택을 적절하게 설정합니다..

4. 다음 두 파일이 0바이트가 아닌지 확인합니다.

$ORACLE_HOME/bin/oracle
$ORACLE_HOME/rdbms/lib/config.o

0바이트인 경우 다음 파일의 이름을 바꿉니다.

% cd $ORACLE_HOME/rdbms/lib
% mv config.o config.o.bad

그런 다음 Oracle 바이너리를 다시 리링크합니다.

% relink oracle

5. 위와 같이 해도 문제가 해결되지 않으면 데이터베이스 및 리스너를 종료한 다음 "relink all"을 실행합니다.
Note 131321.1 How to Relink Oracle Database Software on UNIX

다음이 원인일 수 있습니다.
1. 커널 파라미터 설정
2. ORACLE 실행 파일의 잘못된 권한 설정
3. 스택에 대한 ulimit 설정 부족
4. $ORACLE_HOME/rdbms/lib/config.o가 0바이트임
5. Oracle 바이너리가 올바르게 링크되지 않음
6. 누락된 $ORACLE_HOME/dbs 디렉토리
빈 dbs 디렉토리를 생성하면 이 오류가 해결되므로 예를 들어 인스턴스를 종료할 수도 있지만 누락된 파라미터 파일로 인해 인스턴스를 재시작할 수는 없습니다. 따라서 dbs 디렉토리를 완전히 복원해야 합니다.

===============================
TNS-12518: TNS:listener could not hand off client connection
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact

추가로
/dev/null 퍼미션에 other에 쓰기 권한이 없을때도 발생

chmod o+w /dev/null
해결

반응형
Posted by [PineTree]