返回顶部
首页 > 资讯 > 数据库 >oracle 12C以上 版本数据库访问 ORA-28040 ORA-03134
  • 404
分享到

oracle 12C以上 版本数据库访问 ORA-28040 ORA-03134

2024-04-02 19:04:59 404人浏览 独家记忆
摘要

随着oracle 12C 18C 19C 20C 的推出大家在核心或者非核心数据库开始升级,以保证数据库的安全性和稳定性,但在数据库升级后用旧版本的JDBC或者Oracle客户端访问数据库的时候会出现无法登

随着oracle 12C 18C 19C 20C 的推出大家在核心或者非核心数据库开始升级,以保证数据库安全性和稳定性,但在数据库升级后用旧版本的JDBC或者Oracle客户端访问数据库的时候会出现无法登陆,ORA-28040 0RA-03134报错问题,此次设计三个参数12C以前的参数ALLOWED_LOGoN_VERSioN 及12C 开始使用的新参数ALLOWED_LOGON_VERSION_SERVER/ALLOWED_LOGON_VERSION_CLIENT本章我们节点说明一下其中的缘由,希望可以为大家解惑!

低版本的数据库(11G及以下)的JDBC或者客户端访问高版本的数据库(12C及以上)报错信息

ORA-28040: No matching authentication protocol error

ORA-03134: Connections to this server version are no longer supported

原因:

我们先引入参数:

sqlNET.ALLOWED_LOGON_VERSION=9

该参数是在Oracle 下的Oracle_HOME/network/admin/sqlnet.ora 文件中调整。

该参数在这里的意思是版本9及以上将允许登录。上述参数允许9i、10g和11个版本访问数据库。版本8i在“ORA-28040:没有匹配的身份验证协议”时会失败。

如果我们选择了SQLNET.ALLOWED_LOGON_VERSION = 10,意思允许10g和11g版本访问数据库。对于ORA-28040, 9i和8i版本将失败。

在Oracle数据库12c中不在使用ALLOWED_LOGON_VERSION参数,改为两个新的Oracle Net服务参数:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=n

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=n

在 12.1版本中,新参数的默认设置是11。任何试图连接的客户端都必须是11G 及以上,除非在服务器端sqlnet中显式设置了这些参数,否则应该使用version 11或更高版本。

在 12.2版本,SQLNET的默认值ALLOWED_LOGON_VERSION_SERVER设置在12.2中从11更改为12。如果您的客户端不超过11.2.0.3或包含CPUOCT2012补丁,这就是我们把数据库升级到12C,大家高频率出现该问题的原因。

注意:建议该参数调整成8或者9等当前环境的最低版本

注意:SQLNET.ORA 文件下,当数据库充当客户端时,服务器上需要使用ALLOWED_LOGON_VERSION_CLIENT。比如在dblink的使用情况下。在此更改之后,我们不需要重新启动侦听器或数据库。

具体说明如下链接:

https://docs.oracle.com/database/121/NETRF/sqlnet.htm#NETRF2010

您可能感兴趣的文档:

--结束END--

本文标题: oracle 12C以上 版本数据库访问 ORA-28040 ORA-03134

本文链接: https://lsjlt.com/news/48937.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作