반응형

2018-05-21 업체에서 프로그램 사용중 ORA-12571: TNS:패킷 기록자 실패. 라는 alert 창이 화면에 떠있다며 연락이 왔습니다.


DB 서버가 터진줄 알고 부랴부랴 원격을 통해 들어가보니 DB 서버는 정상 동작중이고 특정PC 1대 에서만 ORA-12571: TNS:패킷 기록자 실패. alert 창을 확인하였고, 프로그램 상에서 로그 확인 결과  Network Connection Fail 이 발생되었던 것을 확인 했습니다. 즉 PC에 인터넷이 잠시동안 끊기면서 생긴 에러로 추정 됩니다.

제가 업무를 하면서 처음 보았던 ORA-12571 ERROR 이기에 검색 등을 통해서 무엇이 문제인지 파악 하던 도중 최근에 sqlnet.ora에 적용 하였던 SQLNET.EXPIRE_TIME=3 문구가 ORA-12571 관련 에러로 보이기 시작해 찾아보기 시작 하였습니다. 

SQLNET.EXPIRE_TIME=10 을 설정하면 10분에 한번씩 맺어진 연결들에 대해서 DB쪽에서 패킷을 자동 전송해줌으로, 중간에 네트웍이나 방화벽에서 Session을 끊지 않음
 

출처: http://soul0.tistory.com/211 [돌이의 소소한 이야기★]
SQLNET.EXPIRE_TIME=3 즉 3분 동안 PC에서 DB 쪽에 신호를 보내지 않아 끊기면서 발생한 에러였던 것입니다. 그 이유인 즉슨 3분 이상 동안 인터넷 연결이 끊어지면서 서버와 통신 하지 못하고 ORA-12571 얼럿창이 발생 하였던 문제였습니다. 더 자세한 문제 파악을 위해 고객사에 네트워크 작업 여부를 문의 해놓은 상태 입니다.
인터넷에서는 SQLNET.EXPIRE_TIME=3 을 주석처리 하거나 0 으로 바꾸라는 이야기를 보았는데요, 사실상 이러면 SQLNET.EXPIRE_TIME=3 를 쓰는 의미가 없기에 따로 바꾸거나 다른 조치를 취하지는 않았습니다.

반응형

+ Recent posts