Esto realmente debería ser un comentario a la respuesta de [Brad Rippe][1], pero por desgracia, no hay suficientes rep. Esa respuesta me llevó el 90% del camino. En mi caso, la instalación y configuración de las bases de datos puso 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, a continuación, conectarse mediante
sqlplus / as sysdba
A continuación, ejecuta 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 bases de datos de Oracle eran las originales:
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 mydatabase
en lugar de mydatabase.mydomain.com
. He editado el archivo tnsnames.ora sólo el nombre base sin la parte de dominio por lo que se veía así:
MYDATABASE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mylaptop.mydomain.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mydatabase)
)
)
He reiniciado el servicio TNS Listener (suelo utilizar lsnrctl stop
y lsnrctl start
desde una ventana de comandos de administrador [o Windows Powershell] en lugar del panel de control de Servicios, pero ambos funcionan). Después de eso, pude conectarme. [1]: https://stackoverflow.com/users/979521/brad-rippe