2009-08-06 21 views
9

¡Ayuda! Soy un novato de Oracle que intenta acceder a una base de datos en un servidor antiguo que heredamos para un cliente.Oracle TNS: el nombre del servicio de red está incorrectamente especificado

Estoy seguro de que tengo la base de datos Oracle y el oyente y comenzó a trabajar, pero al intentar acceder a sqlplus o los comandos exp, que estoy recibiendo el siguiente error:

ORA-12162: TNS: servicio de red nombre se ha especificado incorrectamente

he editado el archivo tnsnames.ora para cambiar el host a 127.0.0.1 en lugar de una URL externa y soy capaz de tnsping con éxito la conexión, pero no estoy recibiendo mucho más allá.

Cualquier consejo o ayuda sería muy apreciada.

+1

Sírvanse proporcionar el contenido de su archivo sqlnet.ora y la parte correspondiente de su tnsnames.ora. – Christian13467

+0

sqlnet.ora es NAMES.DIRECTORY_PATH = (TNSNAMES) tnsnames.ora: PNEWS10S.WORLD = (DESCRIPTION = (DIRECCIÓN = (PROTOCOL = TCP) (HOST = 127.0.0.1) (PORT = 1521)) (CONNECT_DATA = (SID = pnews10s) ) ) –

Respuesta

12

intente configurar el SID de Oracle

conjunto nombre ORACLE_SID = base de datos

+1

Gracias por esto - He intentado esto y lo he intentado de nuevo, ¡pero sigo obteniendo el mismo resultado! –

0

I have edited the tnsnames.ora file to change the host to 127.0.0.1 rather than an external url and am able to successfully tnsping my connection, but am not getting much further.

La última vez que me pasó (tnsping obras, sino sqlplus no, el mismo mensaje de error que recibió), el El problema era que alguien había copiado el archivo tnsnames.ora de una máquina con Windows y había dejado los códigos de alimentación de línea incorrectos.

Si ese es el caso, debe hacer algo de dos2unix.

Estos archivos son muy sensible al espacio en blanco "correcto" y tabbing.

Alguien debería quejarse a Oracle por eso.

+0

excusa mi ignorancia - ¿qué es lo que quiere decir con: dejó a los códigos de salto de línea equivocadas en –

+0

líneas de texto termina con un salto de línea y códigos como \ r \ n volver.. Diferentes sistemas operativos tienen diferentes estándares de cómo se hace esto. Entonces, de vez en cuando, puede encontrar un archivo de texto que tiene una forma diferente (incorrecta) de hacerlo. P.ej. si descarga archivos de texto de Linux a su máquina de Windows. –

+0

Mira: http://en.wikipedia.org/wiki/Newline#Common_problems –

2

¿Está intentando una conexión local (por ejemplo, "sqlplus u/p") o una conexión de red (por ejemplo, "sqlplus u/[email protected]")? ¿Ambos te están dando el mismo error?

El TNSPING, por definición, utiliza una conexión de red. Veo algunas referencias que indican que puede obtener el error 12612 al usar una conexión local. Esa es una posible explicación de por qué está viendo el error de SQLPlus pero no de TNSPING. Si es así, intente hacer una conexión de red.

La conexión local no funciona es probable que se deba a que ORACLE_SID no se ha configurado correctamente como sugirió John, pero su sintaxis puede no ser el método correcto para cualquier shell que esté utilizando. Asegúrese de estar utilizando el método correcto para el shell dado, como "export ORACLE_SID = name" o "setenv ORACLE_SID name".

+1

tuve un problema similar. La cadena de conexión DEBE ser similar a: sqlplus MyUsername/MyPassword @ // MyHostname @ PortNum/MyServiceName. Por favor vea la publicación completa en http://stackoverflow.com/a/29423960/1822379 –

2

Dave Costa ha hecho dos preguntas importantes. ¿Estás tratando de conectarte vía net8 o localmente a través de extproc? ¿Está el oyente en la máquina local (127.0.0.1 - dispositivo de bucle invertido) configurado para la conexión extproc?

Para usar el protocolo de conexión net8 o tcp, debe especificar user/pw @ tns_alias. Para conectarse localmente a través de extproc, debe especificar el parámetro oracle_sid y luego conectarse mediante nombre/pw.

También noté que tnsalias tiene el dominio .world agregado, pero el archivo sqlnet.ora no contiene una referencia a NAMES.DEFAULT_DOMAIN como "mundo".

También, ¿cuál es el parámetro env para TNS_ADMIN? Asegúrese de que sus herramientas estén buscando el archivo correcto tnsnames.ora.Demasiadas veces las personas modifican un tnsnames.ora y los programas/software miran a otro.

Cuestiones relacionadas