重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2166|回复: 0
打印 上一主题 下一主题

ORA-28040和ORA-01017 的解决方法

[复制链接]
跳转到指定楼层
楼主
发表于 2020-4-8 17:28:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jiawang 于 2020-4-30 17:06 编辑

在安装Oracle 19c数据库之后,客户端目前一般还是停留在10G、11G,如果客户端工具的版本是toad、plsql在连接12c、19c就会报如下两个错误:

ORA-28040: No matching authentication protocol
ORA-01017: invalid username/password; logon denied

解决办法:
1、使用12C及其12C以上的客户端;
2、需要更改数据库配置
在Oracle用户(不是grid用户)下,将$ORACLE_HOME/network/admin/sqlnet.ora文件下增加:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

这里第一个参数是客户端连接到服务器的时候启作用,第二个是做为客户端去连接其它数据库的时候启作用。


修改后使用reload 监听
LSNRCTL> reload
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=YCYYTEST)(PORT=1521)))
命令执行成功
LSNRCTL>

验证:
select username,ACCOUNT_STATUS, PASSWORD_VERSIONS from dba_users where account_status='OPEN';


至此 ORA-28040 错误已解决,如果不出意外马上会报  ORA-01017错误

2、ORA-01017错误
从错误提示看是用户名或者密码错误,其实用户名和密码没有问题。 这里的问题是我们配置的sqlnet对之前已经存在的帐号并没有生效,他们还保持在之前的兼容性。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-19 18:34 , Processed in 0.096214 second(s), 22 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表