低版本客户端连接19C RAC数据库报ORA-28040协议错误

发布时间 2023-04-14 11:41:48作者: 树苗叶子

报错信息

低版本的ORACLE客户端连接19C数据库报错:
ORA-28040: No matching authentication protocol
ORA-28040: 没有匹配的验证协议
image

解决方法

第一步 添加下面两个参数到oracle用户的sqlnet.ora中!!如果没有,自己手工创建即可!!
注意是oracle用户不是grid用户!!无需重启监听!!
注意是oracle用户不是grid用户!!无需重启监听!!
注意是oracle用户不是grid用户!!无需重启监听!!

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11

第二步 修改用户密码,否则会报用户名/密码错误
ORA-01017:用户名/密码错误
ORA-01017: invalid username/password; logon denied

这是因为SQLNET.ALLOWED_LOGON_VERSION_SERVE修改后,只是参数变化,并没有重建密码,因此该account的实际password_versions仍然为:11G,12C;只有手动执行alter user后才会创建新的PASSWORD_VERSIONS:10G 11G 12C

如果升级客户端版本则不会存在上述所有问题。