ora-28040: 일치하는 인증 프로토콜 없음 해결방법

2018. 2. 8. 13:42etc/error


오라클 접속 시 오류발생

 

 

ora-28040: 일치하는 인증 프로토콜 없음

 

ORA-28040 : No matching authentication protocol 

 

 

 

원인은 다음과 같다.

1. Oracle 12c Oracle Server 와 Client 의 버전 차이

2. ojdbc14.jar 를 사용했을 경우에 발생한다.

 



 

2가지 방법으로 해결할 수 있다.

 

1. SQLNET 파라미터(SQLNET.ALLOWED_LOGON_VERSION) 값을 수정해야 한다.

 

SQLNET.ALLOWED_LOGON_VERSION 파라미터를 수정함으로써 Oracle 에 연결할 때 사용되는 authentication protocol 을 설정한다고 함

 

sqlnet.ora 파일 경로 :

\app\account\product\12.1.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora

또는

$ORACLE_HOME/network/admin/sqlnet.ora

 

 

SQLNET.ORA

 

위 파일을 열어서 아래 내용을 마지막 줄에 추가한다.

 

 

SQLNET.ALLOWED_LOGON_VERSION_SERVER=9
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=9

 

 

오라클 서버 재시작하고 연결해 본다.

 

위 내용을 추가함으로써 Oracle Database 에 연결할 때 9 혹은 그 이상 버전의 client 에서 Database에 접근할 수 있다.

 

파라미터 값은 접근할 클라이언트 버전에 맞게 8, 9, 10 등등 맞는 버전으로 수정하면 된다.

 



 

2. 프로젝트에서 연결 중 오류가 발생한다면 라이브러리 중 ojdbc.jar 파일의 버전을 확인해 본다.

 

ojdbc14.jar 를 사용중이라면 ojdbc6.jar 또는 ojdbc7.jar 로 변경

 

 

 

 

끝~

  • 프로필사진
    지나가는나그네2020.07.31 10:43

    덕분에 해당 오류 잘 해결 했습니다.

  • 프로필사진
    도와주세요2020.09.13 21:30

    저거 파라미터는 어떤값을 입력하라는건지
    저는 오라클18c XE사용중입니다. jdbc8.jar 이렇게사용중인대 머라적어야하나요

    • 프로필사진
      Favicon of https://cofs.tistory.com BlogIcon 개발자 CofS2020.09.14 10:05 신고

      일단 사용하시는 오라클 버전이 제가 사용했던 버전과 달라 옵션이 같을 지 모르겠어요
      파라미터는 접속하는 클라이언트를 명시해주면 됩니다 ㅎㅎ