senote NOTE

Oracle | バージョンアップ後に ”ORA-28040: 一致する認証プロトコルがありません” が出たときの対処法

当方のOracle環境

・バージョンアップ前)Oracle Database12.1 Oracle Client9.2

・バージョンアップ後)Oracle Database19C Oracle Client12.2

 

事象

バージョンアップ後にOracle Databaseに接続する

→「ORA-28040: 一致する認証プロトコルがありません」のエラーが出る

 

対処法:概要

sqlnet.oraファイルの編集

 

対処法:手順

Oracle Databasesqlnet.oraファイルを開く(Windowsでは通常以下のパス)

 

 %ORACLE_HOME%\network\admin\sqlnet.ora

 

② 一番下の行に以下を追記する

 

 SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

 

※本エラーが解消してもORA-01017: ユーザー名/パスワードが無効です」が出る場合は以下ご参照

参考
SQLNET.ALLOWED_LOGON_VERSION_SERVER」について

Oracle Databaseに接続する際のパスワードバージョンを決める設定。

「8」を設定すると、すべてのパスワードバージョンを認めることになる。

 

■「パスワードバージョン」について


以下の3種類がある。

Oracle 10G 以前:/小文字を区別しないバージョン

Oracle 11GSHA-1ベースのバージョン

Oracle 12C以降:SHA-2ベースのバージョン

 

ユーザのパスワードバージョンを確認するには以下SQLを実行。

 SELECT USERNAME,PASSWORD_VERSIONS FROM DBA_USERS;

 

以上