Il y a questions similaire et demandé dans ce réseau lié au message d'erreur donné dans la question, mais ce problème est un peu différent de chacun.
J'ai installé Oracle 12c dans mon ubuntu, je peux me connecter avec succès à mon utilisateur hr
avec sqlplus hr/hr@pdborcl
via l'invite de commande.
Oracle@ubuntu:~$ sqlplus hr/hr@pdborcl
SQL*Plus: Release 12.1.0.2.0 Production on Mon Nov 16 21:57:24 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Last Successful login time: Mon Nov 16 2015 21:24:32 +05:45
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>show user;
USER is "HR"
J'essaie cependant d'utiliser sqldeveloper pour plus de facilité. Dans l'option de création de connexion dans sqldeveloper lorsque je donne les informations d'identification suivantes
J'obtiens l'erreur suivante. ORA-12505. TNS: l'écouteur ne connaît pas actuellement le SID donné dans le descripteur de connexion.
Cependant, la connexion avec
Nom d'utilisateur: sys
Mot de passe: ******
SID: orcl
Et même toutes les autres informations d'identification fonctionnent bien.
Mon tnsname.ora a
PDBORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdborcl)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
Vous devez utiliser les noms de service pour vous connecter aux bases de données enfichables dans 12c.
C'est juste une de ces choses qui peuvent vous faire trébucher, je suppose! La connexion SQL Plus OK vous a probablement jeté.
J'ai eu le même problème. Et je l'ai résolu en utilisant NOM DE SERVICE (un alias) au lieu de [~ # ~] sid [~ # ~] :
1 . Ouvrez le fichier tnsnames.ora à partir de votre dossier Oracle_HOME. Si vous ne connaissez pas son emplacement, procédez comme suit
Windows (cmd ouvert)
> sqlplus // connect to sqlplus, login as sysdba
as / sysdba
// then type your password that you set in configuration setup step
// next 3 lines used for getting Oracle_HOME
> var OHM varchar2(100);
> EXEC dbms_system.get_env('Oracle_HOME', :OHM);
> PRINT OHM // ---> Oracle_HOME
Linux (ouvrez Terminal Ctrl + Alt + T)
echo $Oracle_HOME
tnsnames.ora se trouve dans [Your_Oracle_HOME]/Network/Admin . Ouvrez-le avec votre éditeur.
2 . Dans le fichier tnsnames.ora , recherchez la ligne contenant le SERVICE_NAME
3 . Sélectionnez le nom du service et saisissez le nom ci-dessus, le succès du TEST et vous avez terminé !
Le nom d'hôte donne également cette erreur: au lieu d'y écrire localhost, essayez de taper votre "nom de l'ordinateur" (par exemple: si le nom de votre PC est User_PC), écrivez-le User_PC le reste laisse par défaut!