Ora 28040 no matching authentication protocol как исправить
Обновлено: 05.07.2024
Клиент на локалке XP Oracle 8.0.6,Forms 6.0
Установил Oracle 12c
в SQLNET.ORA прописал все,как положено
на сервере
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
На клиентской машине точно также
И самое интересное,что Plus80 вообще никак не реагирует на параметры в SQLNET.ORA
Добавляю,удаляю-пофиг
если я базу останавливаю-
SQL*Plus: Release 8.0.6.0.0 - Production on Tue Jun 19 12:03:27 2018
(c) Copyright 1999 Oracle Corporation. All rights reserved.
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3640
Additional information: -1429175133
Если база запущена
C:\orant1\NET80\ADMIN>plus80 adms@adms
SQL*Plus: Release 8.0.6.0.0 - Production on Tue Jun 19 12:04:30 2018
(c) Copyright 1999 Oracle Corporation. All rights reserved.
ERROR:
ORA-28040: No matching authentication protocol
Enter user-name:
по моей просьбе ситуация была повторена на другом сервере!
И все работает!
Установлено на RedHat Enterpise Oracle
У меня установлено
Operating System: Oracle Linux Server 7.5
CPE OS Name: cpe:/o:oracle:linux:7:5:server
Kernel: Linux 4.1.12-124.15.4.el7uek.x86_64
.
Уточню на всякий случай,12c именно которая 12.1.0.2.0
.
Итак,заново установил 12с,но уже не вручную (silent),а через Xming
И на всякий случай нажал кнопку "create database"
И уже к этой базе я приконнектился без проблем
И еще одна мелочь-в листенере 12с используется порт 1522
Так вот,если поменять на дефолтовый 1521,вылезает все та же ошибка -ORA-28040
выполняю задеплоенный модуль
получаю
пробовал ojdbc6.jar без sqlnet.ora SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
Нафига Вам вообще понадобилось SQLNET.ALLOWED_LOGON_VERSION_SERVER ?
Делаю поиск в google по этим словам и сразу же нахожу ответ, который кажется подходящим:
Или не все так просто (но я как-то в это не верю).
Что Вы подразумеваете под словами "пробовал ojdbc?.jar" - знаете только Вы. Мы даже не знаем, в каком режиме Вы соединяетесь с сервером ( OCI / thin ), какие настройки соединения в приложении.
В общем "обратитесь в службу поддержки Вашего приложения" ( C ) ))))
Пробую подключить Grails проект к Oracle БД 12c. Но когда запускаю приложение, то получаю исключение:
Нашёл предлоаемое решение и попробовал отредактировать .ora файл, но безуспешно.
Добавил следующее в sqlnet.ora и пробовал установливать значения 10,11,12 :
, но с никаким из них не заработало.
Может кто-то помочь с этой проблемой?
В оф. документации эта ошибка упомянута в контексте Oracle RAC, но решение действительно так же для некластерной БД:
Bug 14575666
In 12.1, the default value for the SQLNET.ALLOWED_LOGON_VERSION parameter has been updated to 11. This means that database clients using pre-11g JDBC thin drivers cannot authenticate to 12.1 database servers unless the SQLNET.ALLOWED_LOGON_VERSION parameter is set to the old default of 8.This will cause a 10.2.0.5 Oracle RAC database creation using DBCA to fail with the ORA-28040: No matching authentication protocol error in 12.1 Oracle ASM and Oracle Grid Infrastructure environments.
Workaround:
Set SQLNET.ALLOWED_LOGON_VERSION=8 in the $crs_home/network/admin/sqlnet.ora file.
Предложенное решение: установить SQLNET.ALLOWED_LOGON_VERSION=8 на сервере БД.
В этом ответе ссылка на фэйк QA, поэтому перенёс только полезный комментарий под ним.
Комментарий:
Да, в моём случае это решило проблему, но возникла другая: invalid username/password , когда пытался подключится в JDeveloper 10 к Oracle БД 12c.
11 Answers 11
I deleted the ojdbc14.jar file and used ojdbc6.jar instead and it worked for me
17.8k 5 5 gold badges 59 59 silver badges 61 61 bronze badgesHere is some text I found at experts-exchange:
Bug 14575666
In 12.1, the default value for the SQLNET.ALLOWED_LOGON_VERSION parameter has been updated to 11. This means that database clients using pre-11g JDBC thin drivers cannot authenticate to 12.1 database servers unless theSQLNET.ALLOWED_LOGON_VERSION parameter is set to the old default of 8.
This will cause a 10.2.0.5 Oracle RAC database creation using DBCA to fail with the ORA-28040: No matching authentication protocol error in 12.1 Oracle ASM and Oracle Grid Infrastructure environments.
Workaround: Set SQLNET.ALLOWED_LOGON_VERSION=8 in the oracle/network/admin/sqlnet.ora file.
This except for adding the following to sqlnet.ora
If you get "ORA-01017: invalid username/password; logon denied" error, then you need to re-create your password.
ORA-28040: No matching authentication protocol
I am facing this issue even after following the below settings.
Replacing ojdbc14.jar with ojdbc6.jar [also tried ojdbc5.jar ]
Added " SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 " to sqlnet.ora file[under network/admin folder].
This is happening after upgrading the DB from 11g to 12c.
ORA-28040: No matching authentication protocol exception
I am trying to connect my grails project to Oracle databse(Oracle 12c) in windows(8) system. However, whenever I run my application I get following exception :
According to internet suggestion I also tried editing my *.ora file but it is not working.
I added following snippet in sqlnet.ora file :
Here i tried assigning (10,11,12) but neither of them is working.
Can anyone please help me with this ?
4 Answers 4
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
I then experienced the following error
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.
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:
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.
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
Читайте также: