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 로 변경

 

 

 

 

끝~