千家信息网

如何解决Oracle|ORA-28040低版本客户端无法连接Oracle 19C的问题

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要讲解了"如何解决Oracle|ORA-28040低版本客户端无法连接Oracle 19C的问题",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习
千家信息网最后更新 2024年09月22日如何解决Oracle|ORA-28040低版本客户端无法连接Oracle 19C的问题

这篇文章主要讲解了"如何解决Oracle|ORA-28040低版本客户端无法连接Oracle 19C的问题",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何解决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 新密码;

感谢各位的阅读,以上就是"如何解决Oracle|ORA-28040低版本客户端无法连接Oracle 19C的问题"的内容了,经过本文的学习后,相信大家对如何解决Oracle|ORA-28040低版本客户端无法连接Oracle 19C的问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0