web-dev-qa-db-fra.com

ORA-01017: nom d'utilisateur / mot de passe invalide; connexion refusée par le développeur sql mais les connexions sqlplus

J'ai un comportement étrange de Sql Developer with OS Authentication, 4.1.3 32/64bit, donne ORA-01017 pendant que sqlplus se connecte sans aucun problème.

Voici l'exemple de réponse que sqlplus me donne:

~ sqlplus  /@XXXX

SQL*Plus: Release 11.2.0.1.0 Production on Wed Jul 27 08:50:10 2016

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

après cette exécution SELECT user FROM DUAL; retourner mon utilisateur de domaine.

Bien que ce soit ce que j'obtiens du développeur SQL configuré sur les bases de données -> Avancé.

Sql Developer ORA-01017

comme indiqué, il renvoie Status : Failure -Test failed: ORA-01017: invalid username/password; logon denied

Et lorsque j'essaie de me connecter à partir de la section Connexion, j'obtiens une erreur un peu plus détaillée:

An error was encountered performing the requested operation:

ORA-01017: invalid username/password; logon denied
01017. 00000 -  "invalid username/password; logon denied"
*Cause:    
*Action:
Vendor code 1017

Merci d'avance pour toute idée ou aide

2
Cavva79

Le problème était que j'avais trop de clients instantanés et de clients Oracle sur ma machine (un client Oracle 'x86').

Les clients instantanés étaient trop vieux.

Le seul client instantané qui fonctionne pour moi est le '12 .1.0.2.0 '.

J'ai téléchargé:

  • client instantané de base lite win64 12.1.0.2.0
  • client instantané jdbc win64 12.1.0.2.0
  • client instantané sqlplus win64 12.1.0.2.0

correction de la variable PATH avec le chemin d'accès où j'ai extrait le client instantané '12 .1.0.2.0 'et supprimé tous les autres.

Finalement, j'ai configuré la variable d'environnement TNS_ADMIN montrant mon sqlnet.ora et tnsnames.ora. Je pense que ce TNS_ADMIN n'est pas nécessaire.

3
Cavva79

Le développeur Oracle Sql et sqlplus fonctionnent avec l'authentification du système d'exploitation de manière absolument différente.

Le développeur SQL essaie toujours d'autoriser en remplaçant le nom d'utilisateur "\". SLQPLUS remplace uniquement le nom d'utilisateur. Lors de l'ajout d'un domaine au nom d'utilisateur. OSAUTH_PREFIX_DOMAIN = TRUE (registre Windows). Sqlplus ajoute le nom de domaine au nom.

Le développeur SQL essaie toujours d'autoriser en remplaçant le nom d'utilisateur "\" sans nom de domaine.

exemple 1

CREATE USER "OPS$Oracle.ADMIN" IDENTIFIED EXTERNALLY 
PROFILE DEFAULT 
DEFAULT TABLESPACE tablespace_Oracle_admin 
TEMPORARY TABLESPACE TEMP 
QUOTA UNLIMITED ON tablespace_Oracle_admin 
ACCOUNT UNLOCK ;
 C:\ORA\DB\product\11.2.0\dbhome_1\bin\sqlplus/SQL> Sélectionnez l'utilisateur parmi les deux; 
 
 UTILISATEUR 
 _______________________ 
 OPS $ Oracle.ADMIN 

Pour se connecter à partir du développeur SQL avec la base de données, il est nécessaire de mettre le symbole "/" au lieu du nom d'utilisateur sans spécifier de mot de passe.

 Sélectionnez l'utilisateur parmi les deux; 
 
 UTILISATEUR 
 _______________________ 
 OPS $ Oracle.ADMIN 

exemple 2

CREATE USER "OPS$\Oracle.ADMIN" IDENTIFIED EXTERNALLY 
PROFILE DEFAULT 
DEFAULT TABLESPACE tablespace_Oracle_admin 
TEMPORARY TABLESPACE TEMP 
QUOTA UNLIMITED ON tablespace_Oracle_admin 
ACCOUNT UNLOCK ; 

Lors de la connexion à l'aide du développeur SQL, l'authentification du système d'exploitation fonctionne !!!!

 Sélectionnez l'utilisateur parmi les deux; 
 
 UTILISATEUR 
 ____________________ 
 OPS $\Oracle.ADMIN 
2
Dmitry Demin

En fait, j'ai également rencontré un problème similaire, je peux me connecter au serveur de base de données, mais j'ai reçu l'erreur ORA-01017. J'ai changé mon mot de passe et cela a fonctionné.

1
Tini Yang

J'avais ce même message d'erreur après avoir installé le développeur Oracle SQL et essayé de créer une connexion système.

cela était dû au fait que je saisissais un mot de passe différent de celui que j'avais défini lors de l'installation d'OracleXE.

Je l'ai résolu en entrant le bon mot de passe.

Si vous oubliez le mot de passe, vous devez désinstaller et réinstaller OracleXE.

0
humazed

Accédez à l'invite de commande sql plus plus et modifiez le mot de passe. Commande: connectez [nom d'utilisateur]/[mot de passe]

après quoi, vous serez invité à entrer un nouveau mot de passe, entrez un nouveau mot de passe et whooo !!! vous avez terminé.

0
Sahil