【问题标题】:java.sql.SQLException: [tibcosoftwareinc][Oracle JDBC Driver][Oracle]ORA-28040: No matching authentication protocoljava.sql.SQLException: [tibcosoftwareinc][Oracle JDBC Driver][Oracle]ORA-28040: 没有匹配的身份验证协议
【发布时间】:2017-08-30 00:57:59
【问题描述】:

我在尝试连接 oracle 12c 时遇到上述错误。我尝试使用 ojdbc6 和 ojdbc7 jar 文件。我发现下面的评论

------------------->

错误 14575666

在 12.1 中,SQLNET.ALLOWED_LOGON_VERSION 参数的默认值已更新为 11。这意味着使用 11g 之前的 JDBC 瘦驱动程序的数据库客户端无法对 12.1 数据库服务器进行身份验证,除非将 SQLNET.ALLOWED_LOGON_VERSION 参数设置为旧默认值8 个。

这将导致使用 DBCA 创建 10.2.0.5 Oracle RAC 数据库失败,并出现 ORA-28040:在 12.1 Oracle ASM 和 Oracle Grid Infrastructure 环境中没有匹配的身份验证协议错误。

解决方法:在 oracle/network/admin/sqlnet.ora 文件中设置 SQLNET.ALLOWED_LOGON_VERSION=8。

由于我们有共享数据库,因此我有一个方法可以实现上述解决方法。

如果我在 oracle/network/admin/sqlnet.ora 文件中设置 SQLNET.ALLOWED_LOGON_VERSION=8 会影响其他用户吗?

它会影响共享应用程序及其功能吗?

【问题讨论】:

  • 它实现了向后的客户端兼容性,所以如果logon_version较低,它会连接更广泛的客户端版本,仅此而已。
  • 感谢您的宝贵回答。它会影响用户和应用程序吗?

标签: database oracle oracle12c


【解决方案1】:

在 sqlnet.ora 中设置 SQLNET.ALLOWED_LOGON_VERSION=8 会影响到服务器的所有连接。您允许使用旧版本的密码验证器进行用户身份验证,它会影响所有用户。您不能只允许一个用户使用它。但这不会破坏已经可以成功连接的其他应用程序。它也将允许旧应用程序(使用旧驱动程序)连接。最好的解决方案是在可能的情况下升级所有客户端,但此设置是解决方法,它可用于此确切目的。

【讨论】:

  • 感谢您为撰写本文所做的努力
猜你喜欢
  • 2023-03-18
  • 2018-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-29
  • 2021-01-03
  • 2016-03-02
相关资源
最近更新 更多