web-dev-qa-db-fra.com

sqldeveloper ORA-12505. TNS: l'écouteur ne connaît pas actuellement le SID donné dans le descripteur de connexion

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. enter image description here 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)
  )
 )
6
pranphy

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é.

8
Philᵀᴹ

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


enter image description here


3 . Sélectionnez le nom du service et saisissez le nom ci-dessus, le succès du TEST et vous avez terminé !

enter image description here

4
Bien Do

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!

0
John Haggin