本地连接数据库时出现ORA-28040: No matching authentication protocol

在配置本地连接数据库时出现ORA-28040: No matching authentication protocol 错误,这个错误的意思是没有匹配的认证协议;

在这里插入图片描述

原因分析:
主要是说电脑上orcale的客户端版本和访问的oracle服务端的版本不一致

解决方案:
官方解释是:

This issue is caused by the default setting for allowed logon version in the 12 database.
Note that the SQLNET.ALLOWED_LOGON_VERSION parameter has been deprecated in 12c.
That parameter has been replaced by these:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=n
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=n

The default setting for the new parameters is 11. Any client that attempts to connect must
be at version 11 or higher unless these parameters are explicitly set in the server side sqlnet.ora file.

这段话的意思是,(SQLNET.ALLOWED_LOGON_VERSION)参数在12c中已经被弃用了,被另外两个参数所取代(SQLNET.ALLOWED_LOGON_SERVER,SQLNET.ALLOWED_LOGON_CLIENT)。该参数用来限制可以连接到数据库服务器上的最小客户端版本,12c中这两个新参数的默认值为11,即11g及以上客户端版本可以连接到数据库服务器上。

两个参数区别如下:

SQLNET.ALLOWED_LOGON_VERSION_SERVER:控制可以连接到12c数据库的客户端版本(client —>orace 12c db)

SQLNET.ALLOWED_LOGON_VERSION_CLIENT:控制12c数据库可以连到哪些版本的数据库(orace 12c db —>其它版本的oracle db),例如:控制通过DB LINK可连接到哪些版本的oracle库。

具体解决办法:

在Oracle用户下,将%ORACLE_HOME%/network/admin/sqlnet.ora文件(如果没有sqlnet.ora文件,那么就创建一个)最后添加如下的行:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值