ORA-28040: No matching authentication protocol

前端 未结 4 1362
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-06 09:23

I am facing this issue even after following the below settings.

  1. Replacing ojdbc14.jar with ojdbc6.jar[also tried ojdbc5.jar<

相关标签:
4条回答
  • 2021-01-06 09:50

    JDBC drivers have both a Java version and an Oracle version. The versions are usually correlated, but it's possible for an ojdbc14.jar to support a later version of Oracle than a ojdbc6.jar. Make sure you are using the latest version of ojdbc6.jar.

    Run this command to see which version of Oracle the driver was built for:

    >java -jar ojdbc6.jar -getversion
    Oracle 11.2.0.3.0 JDBC 4.0 compiled with JDK6 on Thu_Jun_28_00:38:25_PDT_2012
    #Default Connection Properties Resource
    #Mon Dec 21 12:38:41 CST 2015
    

    For SQLNET.ORA changes, to be safe you should restart both the listener and the database. This sounds extreme, but there are some parameters that require restarting the database.

    Also make sure that you are modifying all relevant SQLNET.ORA files. If the database's Oracle home is different than the listener's Oracle home you should modify both.

    0 讨论(0)
  • 2021-01-06 09:58

    First of all the difference between ojdbc driver's versions depends on the version of the JDK you use drivers with. So ojbdc14 is suitable for JDK version 1.4, ojdbc5 for JDK 1.5, and so on.

    I'm currently using ojdbc7.jar with a 12c database version since my environment uses a JDK 1.7, so upgrade this first.

    Having said that, in the Parameters for the sqlnet.ora File for Oracle 12c release page you can read:

    Purpose

    To set the minimum authentication protocol allowed for clients, and when a server is acting as a client, such as connecting over a database link, when connecting to Oracle Database instances.

    Usage Notes

    The term VERSION in the parameter name refers to the version of the authentication protocol, not the Oracle Database release.

    If the version does not meet or exceed the value defined by this parameter, then authentication fails with an ORA-28040: No matching authentication protocol error.

    The default for this property is 11.

    Allowed values are 8,10,11,12 and 12a.

    The recommended value is 12. Try this out.

    Moreover there is a useful and interesting solution Database Administrators Stack Exchange

    0 讨论(0)
  • 2021-01-06 09:59
    ORA-28040: No matching authentication protocol
    

    I faced a similar issue when trying to connect a

    32-bit Oracle 11g Client to a 64-bit Oracle 12c Server

    I then proceeded to add the following to sqlnet.ora

    SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
    SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8
    

    I then experienced the following error

    ORA-01017: invalid username/password: logon denied
    

    Adding the following to the Client sqlnet.ora as well as the Server, I was able to connect an old version of Toad and PL/SQL to the new 12c Server.

    SQLNET.AUTHENTICATION_SERVICES = (NONE)
    
    0 讨论(0)
  • 2021-01-06 10:00

    You should use the latest JDBC thin driver (12.1.0.2) and JDK8. With this configuration your driver will support the latest version of the database password verifier and your issue should be resolved.

    0 讨论(0)
提交回复
热议问题