tengo - conectarse a una base de datos oracle sqlplus
¿Intentando conectarse internamente a Oracle, obteniendo una instancia inactiva? (12)
Así que tengo una instancia de Oracle, y sé que se está ejecutando en este sistema, le he preguntado al usuario de Oracle, y estoy intentando conectar usando "/ como sysdba". Sin embargo, cuando me conecto, dice que la instancia está inactiva. Sé que la base de datos está abierta y abierta, porque mi aplicación está hablando con ella. Mis rutas (ORACLE_HOME, etc.) pueden ser incorrectas: ¿alguna idea de qué configuración incorrecta podría dar como resultado esto?
% sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on Mon Dec 8 09:23:22 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to an idle instance.
09:23:22 SQL> Disconnected
% ps -ef | grep smon
oracle 6961 1 0 Nov 05 ? 1:24 ora_smon_ORA003
%
Tuve el mismo problema mientras especificaba el SID incorrecto (xe en lugar de XE). Si instala la base de datos con rpm, verifique todo el entorno en /etc/inid.d/oracle
La base de datos no puede estar inactiva y en uso por su aplicación al mismo tiempo. Parece que la sesión sqlplus debe estar conectada a una instancia diferente de la aplicación. Intente especificar el identificador de conexión en la declaración de conexión de la siguiente manera:
sqlplus "/@ConnectIdentifier as sysdba"
eso significa que la instancia de la base de datos no está montada ni abierta. Ejecute el comando de inicio y vea si aparece algún error.
asegúrese de tener su configuración de ORACLE_HOME exactamente igual que cuando se inició el servidor, he visto este problema con Oracle 9.2.0.5.0 en Solaris,
ORACLE_HOME=/opt/oracle
ORACLE_HOME=/opt/oracle/
es dos cosas diferentes, y dará lugar a problemas de conexión local.
El caso es significativo en los sistemas * nix, así que asegúrese de que su ORACLE_SID coincida exactamente con el nombre de la instancia. En este caso, ORA003 NO es lo mismo que ora003.
prueba desde la consola de la máquina
export ORACLE_SID=your sid here
sqlplus /nolog
startup
Sé que en Windows hay un comando para crear un servicio para iniciar una instancia para usted, oradmin -new -sid% ORACLE_SID% -intpwd% oracle_pwd% -startmode A
Gracias. de hecho fue esa barra frontal adicional al final en la variable ORACLE_HOME.
En mi caso, vea lo extraño: me conecté al servidor e intenté conectarme, pero obtuve el error anterior. Sabía que esa instancia había terminado y DB se abrió. Así que revisé ORACLE_HOME porque era más o menos consciente de esta posibilidad. Lo que vi fue que ORACLE_HOME estaba bien (es decir, sin barra frontal adicional al final). Luego, después de intentar mucho cuando leí este hilo, me llamó la atención. La base de datos se inició con ORACLE_HOME establecido con esa barra frontal adicional. Así que DB se inició con ORACLE_HOME = / u01 / app / oracle / product / 10.2.0.3 / y todo el tiempo, estaba intentando con ORACLE_HOME = / u01 / app / oracle / product / 10.2.0.3 :(
Gracias de nuevo.
Ok, esto es lo que descubrí sobre la instancia inactiva que tiene que ver con el spfile ... a veces tu init.ora
se encuentra en otro lado
Intenta buscar init.ora
, una vez que encontraste la ubicación
intente con el código de startup spfile="C:/location";
dirá que la instancia comenzó.
bueno, eso funcionó para mí
Yo tuve el mismo problema. Al eliminar el "/" adicional al final de ORACLE_HOME, se solucionó.
Gracias por compartir. Hubiera sido realmente difícil diagnosticar y resolver este problema en ausencia de este blog.
El problema puede ser si la sesión no se pudo abrir debido a una base de datos extremadamente ocupada. en este caso, la conexión con cualquier usuario, incluso uno ficticio
sqlplus dummy / dummy
le daría un problema real pero no una instancia inactiva.
Intenté el dummy / dummy de sqlplus y me dio el problema real (sin memoria). Hice memoria disponible y pude iniciar sesión sin ningún problema.
Mira el blog a continuación. Esencialmente, el problema es lo que una de las otras respuestas afirmó. / root / path_to_home es correcto, / root / path_to_home / está incorrectamente analizado por alguna razón.
http://blog.dbvisit.com/whats-going-on-connected-to-an-idle-instance-but-database-is-running/