개발/devOps(운영 이슈 처리)

[Java + Oracle] oracle.net.ns.NetException: Undefined Error 발생 시 해결 방법

jineddy 2025. 4. 16. 10:56
728x90

같이 프로젝트 하시는 분이 윈도우 포멧 후 프로젝트를 다시 받아 실행 하는 중 오류가 발생하여 확인해 본 결과 의외의 부분에서 문제가 발생한것이라 기록해 둔다.

 

오류 상세 메시지

Caused by: oracle.net.ns.NetException: Undefined Error
   at oracle.net.ns.NSProtocolNIO.negotiateConnection(NSProtocolNIO.java:271) ~[ojdbc-8.jar:12.2.0.1.0]
   at oracle.net.ns.NSProtocol.connect(NSProtocol.java:317) ~[ojdbc-8.jar:12.2.0.1.0]
   at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1438) ~[ojdbc-8.jar:12.2.0.1.0]
   at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:518) ~[ojdbc-8.jar:12.2.0.1.0]
   at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688) ~[ojdbc-8.jar:12.2.0.1.0]
   at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:39) ~[ojdbc-8.jar:12.2.0.1.0]
   at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691) ~[ojdbc-8.jar:12.2.0.1.0]

 

특별한 원인 없이 Undefined Error 만 발생하여 원인 추적 및 해결이 까다롭다.

기본 점검 사항

  • Oracle 접속 정보 (IP / PORT / SID) 정확성
  • 방화벽 및 DB 포트 오픈 여부
  • ojdbc 드라이버 호환성
  • 기본 테스트 프로그램으로 JDBC 연결 확인

 

위의 기본 점검사항에 해당하는 부분은 확인 해 봤지만 이미 다른 프로젝트 참여인원은 정상적으로 사용하고 있어 원인으로 판단되지 않았다.

 

의외의 원인: Windows 사용자 계정 이름(한글 사용)

구글링 중 아래와 같은 게시글을 통해 윈도우 사용자 계정 이름에 한글이 있을 경우 위 오류 증상이 발생할 수 있다는것을 알게되어

아래 포스팅을 참고하여 윈도우 계정을 변경하였습니다.

 

윈도우(Windows) 11 사용자 계정 이름 및 사용자 폴더명 바꾸기

[Microsoft 계정 사용 시] ◎ 윈도우키+X를 누르고 설정 클릭 계정 - 사용자 정보 - 계정 설정으로 이동하여 대신 로컬 계정으로 로그인 클릭 후 계정을 생성합니다. [PIN 로그인에서 암호방식으로 로

lastcard.tistory.com

 

적용 결과

사용자 계정명을 영문으로 변경한 뒤, 동일한 프로젝트에서 Oracle 접속이 정상적으로 동작하는 것을 확인했습니다.

 

정리

  • 오류 유형 : oracle.net.ns.NetException: Undefined Error
  • 원인 : Windows 사용자 계정명이 한글로 설정된 경우
  • 해결 방법 : 사용자 계정명을 영문으로 변경

 

728x90