前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle|ORA-28040 低版本客户端无法连接Oracle 19C

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

作者头像
Java小技巧
发布2022-05-23 12:39:01
4.6K0
发布2022-05-23 12:39:01
举报
文章被收录于专栏:Java小技巧

问题背景

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

ORA-28040: No matching authentication protocol

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

问题原因

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

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

代码语言:javascript
复制
--查询Oracle服务器端密码版本
select d.password_versions from dba_users d;

解决方案

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

代码语言:javascript
复制
/oracle/app/oracle/product/19.0.0.0/db_1/network/admin/sqlnet.ora

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

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

代码语言:javascript
复制
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

代码语言:javascript
复制
sqlplus / as sysdba

修改用户密码

代码语言:javascript
复制
alter user 用户名 identified by 新密码;

end

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java小技巧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题背景
  • 问题原因
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档