Oracle | バージョンアップ後に ”ORA-28040: 一致する認証プロトコルがありません” が出たときの対処法
当方のOracle環境
・バージョンアップ前)Oracle Database:12.1 Oracle Client: 9.2
・バージョンアップ後)Oracle Database:19C Oracle Client: 12.2
事象
バージョンアップ後にOracle Databaseに接続する
→「ORA-28040: 一致する認証プロトコルがありません」のエラーが出る
対処法:概要
sqlnet.oraファイルの編集
対処法:手順
① Oracle Databaseのsqlnet.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 12C以降:SHA-2ベースのバージョン
ユーザのパスワードバージョンを確認するには以下SQLを実行。
SELECT USERNAME,PASSWORD_VERSIONS FROM DBA_USERS;
以上
リンク