用低版本的客戶端訪問ORACLE 12,沒法鏈接,提示信息爲ORA-28040。解決辦法以下:sql
一、把sqlnet.ora文件添加兩行(或者修改),修改文件後直接生效,不須要重啓服務和監聽的:服務器
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8oracle
二、這時候客戶端的提示信息爲ORA-1017:用戶名或密碼錯誤。ide
這時候能夠在服務器查詢一下用戶的PASSWORD_VERSIONS:blog
SELECT USERNAME, PASSWORD_VERSIONS FROM DBA_USERS
要兼容oracle8以上的客戶端,PASSWORD_VERSIONS必須爲10g 11G 12C。若是不是,可執行修改密碼的語句,執行以後,用戶的PASSWORD_VERSIONS會按照sqlnet.ora的配置從新更新。class
修改密碼的例子以下,system爲用戶名,123456爲密碼配置
alter user system identified by 123456
改密碼後,再用上面的查詢語句確認一下PASSWORD_VERSIONS,生效的話應該就能從客戶端鏈接服務器了。密碼