ORA-28040: pas de protocole d'authentification correspondant

je fais face à ce problème même après avoir suivi les paramètres ci-dessous.

  1. remplacer ojdbc14.jar par ojdbc6.jar [essayé aussi ojdbc5.jar ]

  2. a ajouté " SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 " à sqlnet.ora fichier[sous le dossier réseau/admin].

cela se produit après la mise à niveau du DB de 11g à 12c.

3
demandé sur abarisone 2015-12-21 17:34:02

4 réponses

ORA-28040: No matching authentication protocol

j'ai fait face à un problème similaire lorsque vous connectez un

Oracle 32 bits Client 11g à un Oracle 64 bits serveur 12c

j'ai ensuite ajouté ce qui suit à sqlnet.ora

SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

j'ai ensuite fait l'expérience de l'erreur suivante:

ORA-01017: invalid username/password: logon denied

en ajoutant ce qui suit: le Client sqlnet.ora ainsi que le serveur, j'ai pu connecter une ancienne version de Toad et PL/SQL au nouveau serveur 12c.

SQLNET.AUTHENTICATION_SERVICES = (NONE)
2
répondu Werner Bisschoff 2017-04-12 06:47:20
Les pilotes

JDBC ont à la fois une version Java et une version Oracle. Les versions sont généralement corrélées, mais c'est possible pour une ojdbc14.jar supporte une version plus récente D'Oracle qu'une ojdbc6.pot. Assurez-vous d'utiliser la dernière version de ojdbc6.pot.

exécutez cette commande pour voir quelle version D'Oracle le pilote a été construit pour:

>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

pour SQLNET.ORA changement, pour être sûr, vous devez redémarrer l'auditeur et la base de données. Cela semble extrême, mais il y a certains paramètres qui nécessitent redémarrage de la base de données .

assurez-vous également que vous modifiez tous les SQLNET pertinents.Ora files. Si la maison Oracle de la base de données est différente de la maison Oracle de l'auditeur, vous devez modifier les deux.

2
répondu Jon Heller 2017-10-12 23:37:00

tout d'abord, la différence entre les versions des pilotes ojdbc dépend de la version du JDK avec laquelle vous utilisez les pilotes. Donc ojbdc14 est adapté pour la version 1.4 de JDK, ojdbc5 pour JDK 1.5, et ainsi de suite.

j'utilise actuellement ojdbc7.jar avec une version de base de données 12c puisque mon environnement utilise un JDK 1.7, donc mettez à jour cette première.

cela dit, dans les paramètres pour le sqlnet.ora File pour Oracle 12c communiqué de page, vous pouvez lire:

But

pour définir le protocole d'authentification minimum autorisé pour les clients, et lorsqu'un serveur agit en tant que client, par exemple en se connectant sur un liaison de base de données, lors de la connexion à des instances de base de données Oracle.

Notes D'Utilisation

le terme VERSION dans le nom de paramètre se réfère à la version de la protocole d'authentification, pas la Base de données Oracle version.

si la version ne répond pas ou ne dépasse pas la valeur définie par la présente paramètre, puis l'authentification échoue avec un ORA-28040: aucune correspondance protocole d'authentification d'erreur.

la valeur par défaut pour cette propriété est 11.

les valeurs autorisées sont 8,10,11,12 et 12a.

la valeur recommandée est 12. Essayez ceci.

de plus il y a une solution utile et intéressante échange de pile D'administrateurs de base de données

1
répondu abarisone 2017-04-13 12:42:36

vous devez utiliser le dernier pilote fin JDBC (12.1.0.2) et JDK8. Avec cette configuration, votre pilote prendra en charge la dernière version du vérificateur de mots de passe de la base de données et votre problème devrait être résolu.

0
répondu Jean de Lavarene 2016-01-04 17:54:43