ORACLE_SID Windows

Tengo una máquina con 3 instancias de BD (utilizo Oracle 10g y Windows XP).
Si desde la linea de comando pongo sqlplus a cualquiera de las 3 bd. Poniendo después del password la cadena de conexión, entro sin problemas a todas ellas.
El tema está en que una de las BD es utilizada por una aplicación que utiliza la variable ORACLE_SID, necesitan tener esa variable con el valor correcto y hacer la conexión simplemente con usu/pwd, sin @cadenadeconexión. Cuando intentamos conectarnos de esta manera, no lo conseguimos a ninguna de ellas, excepto a la primera que se creó cuando se instaló el oracle (no sé si esto de haber sido la primera es significativo, pero es lo único que se me ocurre).
Si le ponemos ORACLE_SID=BDQUENOEXISTE (por ejemplo, o XXXXXX, es decir algo que sea erróneo y que no tenga instancia ni nada por el estilo) entra igualmente a la BD numero 1 (por llamarla de alguna forma). O sea que se pasa por el forro el valor de ORACLE_SID...
Para intentar evitar ésto, bajo el servicio windows de la BD numero 1 y modifico el ORACLE_SID a la bd numero 2 (o la 3) e intento conectarme con sqlplus usu/pwd y el error que me devuelve es ORA-12518 y otras veces el TNS-12564, claro, porque el servicio de la bd numero 1 está abajo, pero yo quiero que se conecte a la que le he puesto en el ORACLE_SID!
He revisado n-mil veces el tnsnames. Ora, el listener. Ora, lsnrctl services, lsnrctl status, lo he tirado y levantado miles de veces y no doy con el problema ni, claro, con la solución ...
Ya no sé que más mirar.

1 Respuesta

Respuesta
1
No estoy seguro, mi especialidad no es Oracle sobre windows, pero de la experiencia que tengo... y de la arquitectura de Windows, sospecho que es un tema que más allá de las variables de ambiente, esta en el Registro de Windows. Desafortunadamente Oracle le siguió el juego a Microsoft y utilizo esa "oscura caverna" para almacenar datos de configuración.
:-( ... triste
Con tu ayuda y buscando en el registro de windows creo haberlo solucionado :), la variable para windows es LOCAL ... cambiando esa variable a la que quiero conectarme (que haga funciones de ORACLE_SID) funciona ok. Muchas gracias por tu inspiración :).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas