ORA-28040: 沒有匹配的驗證協議
雖然在sqlnet.ora加SQLNET.ALLOWED_LOGON_VERSION=8 可以解決,
但由於這個參數在12c已經廢棄了,如果繼續使用,會在alert/log.xml無窮無盡的報“Using deprecated SQLNET.ALLOWED_LOGON_VERSION parameter.”
因此,正確的做法是在$ORACLE_HOME/network/admin/sqlnet.ora加
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
區別如下:
SQLNET.ALLOWED_LOGON_VERSION_SERVER:控制可以連接到12c數據庫的客戶端版本(client —>orace 12c db )
SQLNET.ALLOWED_LOGON_VERSION_CLIENT:控制12c數據庫可以連到哪些版本的數據庫(orace 12c db —>其它版本的oracle db),例如:控制通過DB LINK可連接到哪些版本的oracle庫。
特別需要注意:
如果是RAC,因為RAC是使用grid的監聽器,因此很多人以為是在“/u02/app/12.1.0/grid/network/admin/sqlnet.ora” 加“SQLNET.ALLOWED_LOGON_VERSION_SERVER=8”,其實這是錯的,而是仍然在$ORACLE_HOME/network/admin/sqlnet.ora加“SQLNET.ALLOWED_LOGON_VERSION_SERVER=8”
ORA-01017: 用戶名/口令無效; 登錄被拒絕
問題描述:
使用sqlplus 和 sql developer可以登錄,但是使用navicat或程序連接時總是提示ORA-01017: 用戶名/口令無效; 登錄被拒絕,反復確認輸入的用戶名和密碼,但是仍然提示以上錯誤。
處理過程:
通過大量網上查找,沒找到可行的結果,無意中看到oracle設置密碼大小寫不敏感,於是懷疑可能和我設置的密碼中有字母的緣故
修改密碼: alter user bsdbank identified by 123456;
或使用sql developer
將原密碼設置成123456,再使用navicat可以連接,然后再改回原密碼,使用navicat也可以連接。可能初次創建用戶時會出現這樣的問題。至於出現這種問題后直接設置大小寫不敏感是否能直接解決問題,暫未嘗試
補充:oracle設置大小寫不敏感步驟
SQL> show parameter sec_case_sensitive_logon NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ sec_case_sensitive_logon boolean TRUE SQL> alter system set sec_case_sensitive_logon = false; 系統已更改。 SQL> show parameter sec_case_sensitive_logon NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ sec_case_sensitive_logon boolean FALSE
原文鏈接:https://blog.csdn.net/beihuanlihe130/article/details/108363193