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 mydatabase
lugar 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 stop
y lsnrctl start
desde 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.