Esto realmente debería ser un comentario a la respuesta de Brad Rippe , pero lamentablemente, no hay suficiente representante. Esa respuesta me consiguió el 90% del camino. En mi caso, la instalación y configuración de las bases de datos pusieron entradas en el archivo tnsnames.ora para las bases de datos que estaba ejecutando. Primero, pude conectarme a la base de datos configurando las variables de entorno (Windows):
set ORACLE_SID=mydatabase
set ORACLE_HOME=C:\Oracle\product\11.2.0\dbhome_1
y luego conectando usando
sqlplus / as sysdba
A continuación, ejecute el comando de la respuesta de Brad Rippe:
select value from v$parameter where name='service_names';
mostró que los nombres no coincidían exactamente. Las entradas creadas con el Asistente de configuración de la base de datos de Oracle fueron originalmente:
MYDATABASE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mylaptop.mydomain.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mydatabase.mydomain.com)
)
)
El nombre del servicio de la consulta era simplemente en mydatabaselugar de mydatabase.mydomain.com. Edité el archivo tnsnames.ora solo para el nombre base sin la porción de dominio para que se vean así:
MYDATABASE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mylaptop.mydomain.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mydatabase)
)
)
Reinicié el servicio de escucha TNS (a menudo uso lsnrctl stopy lsnrctl startdesde una ventana de comando de administrador [o Windows Powershell] en lugar del panel de control de Servicios, pero ambos funcionan). Después de eso, pude conectarme.