Cela devrait vraiment être un commentaire à la réponse de Brad Rippe , mais hélas, pas assez de représentants. Cette réponse m'a permis d'atteindre 90% du chemin. Dans mon cas, l'installation et la configuration des bases de données ont mis des entrées dans le fichier tnsnames.ora pour les bases de données que j'exécutais. Tout d'abord, j'ai pu me connecter à la base de données en définissant les variables d'environnement (Windows):
set ORACLE_SID=mydatabase
set ORACLE_HOME=C:\Oracle\product\11.2.0\dbhome_1
puis se connecter en utilisant
sqlplus / as sysdba
Ensuite, exécutez la commande à partir de la réponse de Brad Rippe:
select value from v$parameter where name='service_names';
a montré que les noms ne correspondaient pas exactement. Les entrées telles que créées à l'aide de l'assistant de configuration de base de données d'Oracle, à l'origine:
MYDATABASE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mylaptop.mydomain.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mydatabase.mydomain.com)
)
)
Le nom du service de la requête était juste mydatabase
plutôt que mydatabase.mydomain.com
. J'ai édité le fichier tnsnames.ora avec juste le nom de base sans la partie domaine, donc ils ressemblaient à ceci:
MYDATABASE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mylaptop.mydomain.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mydatabase)
)
)
J'ai redémarré le service TNS Listener (j'utilise souvent lsnrctl stop
et à lsnrctl start
partir d'une fenêtre de commande administrateur [ou Windows Powershell] au lieu du panneau de configuration Services, mais les deux fonctionnent.) Après cela, j'ai pu me connecter.