Oracle|ORA-28040 低版本客户端无法连接Oracle 19C

问题背景

系统Oracle版本从原来的Oracle 11g 升级到 Oracle 19c后,PLSQL客户端连接报错:

ORA-28040: No matching authentication protocol

ORA-28040: 没有匹配的验证协议

问题原因

客户端与服务器端的密码生成版本

dba_users.password_versions不一致导致升级前客户端密码版本如下:

--查询Oracle服务器端密码版本
select d.password_versions from dba_users d;

解决方案

1、在数据库服务器上找到sqlnet.ora文件

/oracle/app/oracle/product/19.0.0.0/db_1/network/admin/sqlnet.ora

2、如果有直接修改,没有直接创建

3、配置内容: 本地的PLSQL客户端是8.5版本,所以版本号配置为8就行。

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

4、注意事项:

  1. 如果没有sqlnet.ora文件可以直接创建 vi sqlnet.ora

  2. 如果有不能直接vi 需要使sed -a 命令追加,否则会导致ora文件乱码

  3. 添加参数后新无需重启数据库或者监听,但是需要修改用户密码,否则会报错

5、修改用户名密码:

用Oracle 用户以sysdba身份登录sqlplus

sqlplus / as sysdba

修改用户密码

alter user 用户名 identified by 新密码;

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java小技巧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值