安装了一套 Oracle 12C数据库,配置好 tns 和监听后,通过 PL/SQL developer 连接数据库报如下错误:
ORA-28040: No matching authentication protocol
查找资料后得知,原来是因为在默认情况下 Oracle 12C 对客户端版本有限制,主要是由 sqlnet.ora 中的以下两个参数控制:
SQLNET.ALLOWED_LOGON_VERSION_SERVER=n
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=n
此时的解决方法是:
在 sqlnet.ora 中添加如下两行记录
SQLNET.ALLOWED_LOGON_VERSION_SERVER=11
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11
再次登陆,成功!