12C/19C Oracle连接提示ORA-28040 没有匹配的验证协议

这篇具有很好参考价值的文章主要介绍了12C/19C Oracle连接提示ORA-28040 没有匹配的验证协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、错误场景

数据库升级19C后,客户端使用sqlplus、PL/SQl Developer等连接数据库提示

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

二、解决方法

方法1.升级instantclient的版本,比如使用:

instantclient-basic-windows.x64-19.3.0.0.0dbru;-- x64 64位客户端
instantclient-basic-nt-19.12.0.0.0dbru; – x86 32位客户端
跟plsql developer没有关系的。

注意:
1、plsql连接oracle数据库,是通过instance-client作为连接驱动的,跟plsql没关系;
2、instance-client对Microsoft Visual C++有依赖
Instant Client 19.* 要求 Visual Studio 2015 - 2019 redistributable。
Instant Client 12.2 要求 Visual Studio 2013 redistributable。
Instant Client 12.1 要求 Visual Studio 2010 redistributable。
Instant Client 11.2 要求 Visual Studio 2005 redistributable。
3、plsql developer <-> instance-client <-> visual c++ 三者必须同时是32位或64位,不能混用

方法2

步骤一:Oracle 19c Server端进行配置,$ORACLE_HOME/network/admin/sqlnet.ora 增加如下配置:

$ vi sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
步骤二:重建需要访问用户密码(使用旧密码即可、必须sqlplus登录修改)

$ sqlplus / as sysdba
SQL> alter user 用户名 identified by 密码;
SQL> select username,password_versions from dba_users where username = ‘C##USER1’
USERNAME PASSWORD_VERSIONS
C##USER1 10G 11G 12C复制
通过客户端工具再次登录成功

扩展

方案二 >> 步骤一中,配置sqlnet.ora文件,其实如果只是解决plsql客户端连接Oracle服务器问题,只设置SQLNET.ALLOWED_LOGON_VERSION_SERVER=8即可。

SQLNET.ALLOWED_LOGON_VERSION_SERVER:连接到 Oracle 数据库实例时允许的最低身份验证协议。
SQLNET.ALLOWED_LOGON_VERSION_CLIENT:客户端允许的最小认证协议,当服务器作为客户端连接Oracle数据库实例时,例如:数据库链。
这两个参数的默认值是:12a

方案二 >> 步骤二中,修改完sqlnet.ora的配置,不修改相应用户密码,直接用plsql9(使用高版本客户端不会有问题:原本就没问题)访问Oracle 19c,则会报另外一个错:
ORA-01017:用户名/密码错误
ORA-01017: invalid username/password; logon denied
这是因为SQLNET.ALLOWED_LOGON_VERSION_SERVE改为8,只是参数变化,并没有重建密码,因此该account的实际password_versions仍然为:11G,12C;只有手动执行alter user后才会创建新的PASSWORD_VERSIONS:10G 11G 12C

方案二 >> 步骤二中,修改完sqlnet.ora的配置,不能远程登录修改相应用户密码,需在Oracle服务器上通过sqlplus工具进行修改。否则,PASSWORD_VERSIONS不会重新生成。访问数据库时,仍会报ORA-01017错误。

12c及以前版本Oracle数据库上,可以配置如下参数SQLNET.ALLOWED_LOGON_VERSION=8。自12c起,SQLNET.ALLOWED_LOGON_VERSION已经被弃用,但是12c配置后仍有效;

但是,在19c上该参数彻底无效了。
所以,Oracle 12c+版本请使用SQLNET.ALLOWED_LOGON_VERSION_SERVER、SQLNET.ALLOWED_LOGON_VERSION_CLIENT。

SQLNET.ALLOWED_LOGON_VERSION_SERVER配置的值,指身份验证协议的版本,而不是 Oracle 数据库版本。

ora-28040 没有匹配的验证协议,数据库学习,oracle,数据库,microsoft文章来源地址https://www.toymoban.com/news/detail-783353.html

到了这里,关于12C/19C Oracle连接提示ORA-28040 没有匹配的验证协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Navicate远程连接Centos-Oracle19c:ORA-12541: TNS: no listener 无监听错误 - tcping 1521端口关闭

    这个问题无比奇怪,因为半个月前安装oracle的时候,当场就能使用navicate连接远程的数据库。但是昨天晚上突然就连不上了。一直提示说没有监听,但是我在Centos上可以启动监听,并且连接sqlpus,查看用户修改密码都没有问题。 我在虚拟机本机 tcping 127.0.0.1 1521 ,端口是open的

    2024年02月03日
    浏览(32)
  • Oracle 19c 报ORA-704 ORA-01555故障处理---惜分飞

    异常断电导致数据库无法启动,尝试对数据文件进行recover操作,报ORA-00283 ORA-00742 ORA-00312错误,由于redo写丢失无法正常应用 D:check_dbsqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on 星期日 7月 30 07:49:19 2023 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle.  All rights reserved. 连接到: Oracle

    2024年02月15日
    浏览(34)
  • Oracle19c文档 tnsnames.ora (三)

      官网地址:Local Naming Parameters in the tnsnames.ora File 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. 6.9连接数据部分 了解如何使用协议地址配置网络连接。 网络对象由协议地址标识。建立连接后,客户端和请求的接收者(侦听器或 Oracle Connection Manag

    2024年01月21日
    浏览(34)
  • Oracle 19c Linux平台启动时出现ORA-00800错误浅析

    这里简单介绍一下如何处理解决Linux平台下Oracle 19c启动时,告警日志出现ORA-00800错误的问题,详情介绍请见下面内容: 操作系统:Red Hat Enterprise Linux release 8.8 (Ootpa) 数据库 :19.16.0.0.0 企业版 在Oracle 19c启动时,在Oracle的告警日志中会出现下面这样一条告警信息: 分析ORA-008

    2024年02月06日
    浏览(31)
  • 基于ora2pg迁移Oracle19C到postgreSQL14

    📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜😜😜 中国DBA联盟(ACDU)成员,目前服务于工业互联网 擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优

    2024年02月05日
    浏览(30)
  • Oracle 19c的参数sec_case_sensitive_logon与ORA-01017错误

    Oracle的参数sec_case_sensitive_logon是Oracle 11g开始被引入。这个参数主要是为了控制密码的大小写敏感问题。 sec_case_sensitive_logon=true表示密码区分大小写。 sec_case_sensitive_logon=false表示密码不区分大小写。 从Oracle 12c开始,参数sec_case_sensitive_logon被弃用了。但是为了向下兼容,即使在

    2023年04月26日
    浏览(28)
  • oracle作业执行失败提示ORA-12011的解决思路

    先说结论:请好好的阅读oracle的alert日志文件,里面的错误提示是很清楚的,精确到行;在plsql里运行作业出错的提示是简略的,容易给人浮躁的心态;如果在ssh工具显示中文为乱码,请设置好工具的字符集问题。 数据库:   12c 发布 1 错误代码:  ORA-12011 描述:  无法执行 %s 作

    2024年02月15日
    浏览(34)
  • oracle 连接数据库报错 ORA-12170:TNS 连接超时

    上网尝试了很多方法,网上列举的以下常见方法对于我来说无效,且均正常。 1、先检查网络是否能ping通,下图网络状态是正确的。 2、查看服务器监听服务是否启动 3、cmd -》 tnsping ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙 没有

    2023年04月12日
    浏览(24)
  • 连接Oracle数据库失败(ORA-12514)故障排除

    点击试看博主的专著《MySQL 8.0运维与优化》(清华大学出版社) ORA-12514的故障是很多新手在连接Oracle数据库时经常遇到故障,它通常表示无法连接到数据库实例,这里姚远老师告诉大家如何排除这类故障。 当尝试连接到Oracle数据库实例时,可能会收到ORA-12514错误消息。此错

    2023年04月09日
    浏览(29)
  • Oracle 19C 单机环境升级RU(19.3升级至19.12)

    📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜😜😜 中国DBA联盟(ACDU)成员,目前服务于工业互联网 擅长主流Oracle、MySQL、PG、高斯及GP 运维开发,备份恢复,安装迁移,性能优化、

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包