ORA-28040 :没有匹配的验证协议(添加sqlnet.ora内容说明,rac不适用)

Posted Running Sun丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-28040 :没有匹配的验证协议(添加sqlnet.ora内容说明,rac不适用)相关的知识,希望对你有一定的参考价值。

虽然在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

以上是关于ORA-28040 :没有匹配的验证协议(添加sqlnet.ora内容说明,rac不适用)的主要内容,如果未能解决你的问题,请参考以下文章

Java 连接oracle时报错,ORA-28040:没有匹配的验证协议

无法在 windows 批处理脚本中运行 sqlplus || ORA-28040: 没有匹配的身份验证协议异常

客户端报ORA-28040:没有匹配的验证协议错误

客户端报ORA-28040:没有匹配的验证协议错误

ORA-28040: No matching authentication protocol

ORA-28040: No matching authentication protocol