Inicio › Foros › Bases de datos › Oracle › Error ORA-01033 Inicialización o cierre de ORACLE en curso
Etiquetado: acceso, base de datos, bd, error, instancias, linux, ora-01033, oracle, oracle 11g
- Este debate tiene 12 respuestas, 2 mensajes y ha sido actualizado por última vez el hace 5 años, 7 meses por Varios.
-
AutorEntradas
-
08/08/2019 a las 14:24 #3658VariosModerador
Hola, tengo un servidor con Oracle 11g y Linux Red Hat. Tengo dos instancias en Oracle: ORA1 y ORA2. La ORA1 va perfectamente, pero al conectar a la ORA2 con un usuario me aparece este mensaje de error:
ORA-01033: inicialización o cierre de ORACLE en curso
Es extraño porque la otra instancia sí que funciona bien ¿a qué puede ser debido?
08/08/2019 a las 14:48 #3659alonsojpdSuperadministradorPara analizar el motivo del error, en primer lugar es conveniente echarle un vistazo a los log de la instancia ORA2. En el caso de Oracle 11g sobre Linux Red Hat los log suelen estar en:
/opt/oracle/diag/rdbms/ora2/ORA2/trace/alert
Y el fichero que suele contener los errores y datos de conexión es el: log.xml.
Aunque puede variar la ubicación en función del SO, del tipo de instalación, de la versión de Oracle y de otras cosas.
Accede a su contenido y nos lo posteas por aquí para analizar el motivo exacto del error.
08/08/2019 a las 15:21 #3660VariosModeradorEn el archivo que comentas, /opt/oracle/diag/rdbms/ora2/ORA2/trace/alert/log.xml me sale esto:
<msg time=’2019-07-30T22:27:00.158+02:00′ org_id=’oracle’ comp_id=’rdbms’
msg_id=’opiexe:3147:2802784106′ client_id=» type=’NOTIFICATION’
group=’admin_ddl’ level=’16’ host_id=’servidor.oracle.com’
host_addr=’192.168.1.100′ module=’sqlplus@servidor.oracle.com (TNS V1-V3)’ pid=’4360′>
<txt>Completed: ALTER DATABASE MOUNT
</txt>
</msg>
<msg time=’2019-07-30T22:27:00.178+02:00′ org_id=’oracle’ comp_id=’rdbms’
msg_id=’opiexe:3076:4222364190′ client_id=» type=’NOTIFICATION’
group=’admin_ddl’ level=’16’ host_id=’servidor.oracle.com’
host_addr=’192.168.1.100′ module=’sqlplus@servidor.oracle.com (TNS V1-V3)’ pid=’4657′>
<txt>ALTER DATABASE OPEN
</txt>
</msg>
<msg time=’2019-07-30T22:27:00.298+02:00′ org_id=’oracle’ comp_id=’rdbms’
client_id=» type=’UNKNOWN’ level=’16’
host_id=’servidor.oracle.com’ host_addr=’192.168.1.100′ module=’sqlplus@servidor.oracle.com (TNS V1-V3)’
pid=’4657′>
<txt>Errors in file /opt/oracle/diag/rdbms/ORA2/ORA2/trace/ORA2_ora_4657.trc:
ORA-10873: file 1 needs to be either taken out of backup mode or media recovered
ORA-01110: archivo de datos 1: /ORA2/ORA2/datafile/o1_mf_system_dc0ytsk9_.dbf
</txt>
</msg>
<msg time=’2019-07-30T22:27:00.298+02:00′ org_id=’oracle’ comp_id=’rdbms’
msg_id=’opiexe:3138:2780954927′ client_id=» type=’NOTIFICATION’
group=’admin_ddl’ level=’16’ host_id=’servidor.oracle.com’
host_addr=’192.168.1.100′ module=’sqlplus@servidor.oracle.com (TNS V1-V3)’ pid=’4657′>
<txt>ORA-10873 signalled during: ALTER DATABASE OPEN…
</txt>
</msg>
<msg time=’2019-07-30T22:31:20.539+02:00′ org_id=’oracle’ comp_id=’rdbms’
client_id=» type=’UNKNOWN’ level=’16’
host_id=’servidor.oracle.com’ host_addr=’192.168.1.100′ module=’backup incr datafile’
pid=’6524′>
<txt>ARCH: STARTING ARCH PROCESSES
</txt>
</msg>
<msg time=’2019-07-30T22:31:20.550+02:00′ org_id=’oracle’ comp_id=’rdbms’
msg_id=’ksbrdp:4257:1214121915′ type=’NOTIFICATION’ group=’process start’
level=’16’ host_id=’servidor.oracle.com’ host_addr=’192.168.1.100′08/08/2019 a las 18:13 #3661alonsojpdSuperadministradorRevisando vemos que te aparecen estos errores:
ORA-10873: file 1 needs to be either taken out of backup mode or media recovered
ORA-01110: archivo de datos 1: /ORA2/ORA2/datafile/o1_mf_system_dc0ytsk9_.dbfComprueba en qué estado está la instancia ORA2 de tu base de datos Oracle. Para ello accede con SQLPLus desde la consola de Linux, con el usuario «oracle»:
su – oracle
Puesto que tienes dos instancias, comprueba qué valor tiene la variable de entorno ORACLE_SID, con:
echo $ORACLE_SID
Si te muestra: ORA1, tendrás que cambiar el valor de dicha variable antes de acceder a SQLPlus, con:
export ORACLE_SID=ORA2
Ahora accede a SQLPlus con:
sqlplus /nolog
Y conéctate a la BD con:
conn / as sysdba
Haz la comprobación del estado de la instancia ORA2 ejecutando la consulta SQL:
select status, instance_name from v$instance;
Que te devolverá el estado (status) y el nombre de la instancia, para que estés seguro de que estás conectado a ORA2. Dinos qué te devuelve dicha consulta.
08/08/2019 a las 18:15 #3662VariosModeradorMe devuelve esto, para la instancia ORA2:
STATUS
————
MOUNTEDHe hecho el export ORACLE_SID=ORA2 porque me conectaba a SQLPlus sin hacerlo y la instancia por defecto era la ORA1. Ahora sé cómo conectarme a una instancia concreta desde la consola con SQLPlus.
08/08/2019 a las 18:20 #3663alonsojpdSuperadministradorOk, también puedes saber el estado de la BD con la consulta SQL (la ponemos por si fuera necesario):
select open_mode from v$database;
Que en tu caso te devolverá también:
OPEN_MODE
——————–
MOUNTEDEl estado normal de una instancia de base de datos Oracle es «OPEN». Como ves la tuya está «MOUNTED», es decir, está montada pero no abierta. Esto se debe a que, efectivamente, hay algún problema que impide que se abra.
Intenta abrir la base de datos, desde esa misma consola y siempre conectado a tu instancia ORA2, ejecuta la siguiente sentencia:
alter database open;
Y nos dices qué resultado arroja.
08/08/2019 a las 18:21 #3664VariosModeradorDevuelve los mismos errores que el fichero de log:
SQL> alter database open;
ERROR en linea 1:
ORA-10873: file 1 needs to be either taken out of backup mode or media recovered
ORA-01110: archivo de datos 1: ‘/idemol/IDEMOL/datafile/o1_mf_system_dc0ytsk9_.dbf’08/08/2019 a las 18:22 #3665alonsojpdSuperadministradorOk, ejecuta la siguiente sentencia para ver si hay algún backup que no ha finalizado bien:
select * from v$backup;
Y dinos qué te devuelve.
08/08/2019 a las 18:23 #3666VariosModeradorMe devuelve esto:
FILE# STATUS CHANGE# TIME
———- —————— ———- ——–
1 ACTIVE 85597008 30/07/19
2 ACTIVE 85597008 30/07/19
3 ACTIVE 85597008 30/07/19
4 ACTIVE 85597008 30/07/19
5 ACTIVE 85597008 30/07/1908/08/2019 a las 18:25 #3667alonsojpdSuperadministradorOk, como ves tienes backups activos que no han finalizado por algún motivo. Ejecuta esta otra consulta para forzar la finalización de los backups:
alter database end backup;
Si es correcta su ejecución mostrará el texto:
Base de datos modificada.
Y vuelve a ejecuta la consulta:
select * from v$backup;
Que debería mostrarte:
FILE# STATUS CHANGE# TIME
———- —————— ———- ——–
1 NOT ACTIVE 85597008 30/07/19
2 NOT ACTIVE 85597008 30/07/19
3 NOT ACTIVE 85597008 30/07/19
4 NOT ACTIVE 85597008 30/07/19
5 NOT ACTIVE 85597008 30/07/1908/08/2019 a las 18:26 #3669VariosModeradorSeguidos los pasos, efectivamente esto es lo que me muestran todos los comandos que has dicho:
SQL> alter database end backup;
Base de datos modificada.
SQL> select * from v$backup;
FILE# STATUS CHANGE# TIME
———- —————— ———- ——–
1 NOT ACTIVE 85597008 30/07/19
2 NOT ACTIVE 85597008 30/07/19
3 NOT ACTIVE 85597008 30/07/19
4 NOT ACTIVE 85597008 30/07/19
5 NOT ACTIVE 85597008 30/07/1908/08/2019 a las 18:28 #3670alonsojpdSuperadministradorOk, ahora lo recomendable es que detengas la instancia de la BD con el comando:
shutdown immediate;
Y cuando se detenga la inicas de forma normal con:
startup
Si todo es correcto arrancará y quedará en estado «OPEN» al hacer un select status from v$instance;
08/08/2019 a las 18:30 #3671VariosModeradorGenial, solucionado con tus indicaciones. He hecho estos últimos pasos y ya se ha iniciado correctamente:
SQL> shutdown immediate;
ORA-01109: base de datos sin abrir
Base de datos desmontada.
Instancia ORACLE cerrada.SQL> startup
Instancia ORACLE iniciada.
Total System Global Area 7048368128 bytes
Fixed Size 2266744 bytes
Variable Size 1342179720 bytes
Database Buffers 5687476224 bytes
Redo Buffers 16445440 bytes
Base de datos montada.
Base de datos abierta.SQL> select status from v$instance;
STATUS
————
OPENSQL> select instance_name from v$instance;
INSTANCE_NAME
—————-
ORA2 -
AutorEntradas
- Debes estar registrado para responder a este debate.