Trouble Shooting

ORA-3136 / WARNING: inbound connection timed out

돼지와함께춤을 2025. 5. 23. 16:02

경위 

  • 일시 : 2025/05/21일 일일 모니터링시 최초 발견 , 22일 다회 발견
  • 클라이언트 :  AP서버 
  • 대상 DB : DB2 호기 CONNECT시 TMOUT 발생
  • 사유 :  디스크 및 메모리 정리 스크립트를 매일 새벽 동작하도록 신규 배포
    위 오류는 해당 스크립트가 돌기 전이라 디스크 및 메모리 여유공간이 적어서 커넥션 시 딜레이 발생으로 추측
  • 해결 : 스크립트 정상 수행 이후 해당 로그 발생하지 않음

 

예상 원인

  • SQL*Net Inbound 연결이 지연됨
  • SQLNET.EXPIRE_TIME 또는 CONNECT_TIMEOUT 설정이 너무 짧음
  • 서버의 리소스 부족 (CPU, 메모리 등)
  • 보안 솔루션 (예: 방화벽, IDS/IPS)이 Oracle 연결을 검사하거나 지연시킴

결론

  • WAS 담당자 찾아서 WAS내 서비스 로그와 DB ALERT로그 비교하여 원인 찾기
  • SQLNET.ORA , LISTENER.ORA파일 파라미터 설정 너무 짧지않은지 확인 (디폴트 60초)
  • 클라이언트 서버 리소스 확인

 


Alert 로그 

TNS-12535: TNS:operation timed out
    ns secondary err code: 12606
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
  Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=XXX.XX~)(PORT=XXX))
2025-05-22T23:37:32.638046+09:00
WARNING: inbound connection timed out (ORA-3136)
2025-05-22T23:39:23.254449+09:00

 

SQLNET.ORA , LISTENER.ORA  설정파일 확인

 

오라클 10gR2부터 DoS(Denial of Service) 공격에 대비하기 위해 다음 두 파라미터의 기본 설정값이 60초로 설정됨

SQLNET.INBOUND_CONNECT_TIMEOUT (sqlnet.ora 파일에 설정) => sqlplus /@orcl19 접속시에만 영향을 줌

INBOUND_CONNECT_TIMEOUT_리스너명 (listener.ora 파일에 설정) => telnet 접속시