历史信息查看请查看个人网页www.zhaibibei.cn 这是一个坚持Oracle,Python原创内容的公众号,欢迎关注
这个专题讲一些日常运维的异常处理
公司新架设一套Oracle 12c的数据库,使用Oracle 11g客户端连接的时候报错
版本为12.2.0.1.181016(最新)
ORA-28040: No matching authentication protocol
首先通过oerr查找该错的具体内容
这里提示需要设置如下参数
SQLNET.ALLOWED_LOGON_VERSION_SERVER
我们这里搜索官方文档查看相关的内容
该参数设置连接到数据库实例的最小认证协议版本
这里的version指的是认证协议的版本,不是数据库的
该参数设置为12a将支持oracle12c的密码版本
我们可以通过查看dba_users的 password_versions字段
我们可以设置该参数为8来允许密码版本为10G, 11G, 和 12C的用户
在数据库sqlnet.ora中加入如下参数:
SQLNET.ALLOWED_LOGON_VERSION_SERVER =11
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11
CLIENT参数用于数据库作为客户端使用时使用
如通过DBLINK连接到一个Oracle 10g的服务器
10 for 10g
9 for 9i
8 for 8i
建议服务器端客户端都设置
设置SEC_CASE_SENSITIVE_LOGON=FALSE后需要修改密码(如设置成12则该参数无效)
https://docs.oracle.com/database/121/NETRF/sqlnet.htm#NETRF2016