He estado leyendo publicaciones aquí, en el soporte de Oracle, y en cualquier otro lugar que pueda encontrar durante los últimos tres días y he renunciado a este problema ...
Se colgó una base de datos Oracle. El cierre de la base de datos permaneció durante unas horas y luego se cerró. No se reiniciará. El servidor fue reiniciado. Oracle fue reiniciado. Ir paso a paso: el inicio de nomount funciona, la base de datos de montaje funciona, la base de datos de alteración abierta devuelve ORA-03113. Todo esto está en localhost, no a través de la red. La máquina no tiene ningún firewall en ejecución.
¿Alguna idea de cómo superar este error ORA-03113? He estado hablando por teléfono con soporte en India durante las últimas 4.5 horas y todavía no he encontrado a nadie útil.
ALTER DATABASE OPEN
y errores después de eso.Respuestas:
Después de horas de mala dirección del soporte oficial de Oracle, me sumergí en esto por mi cuenta y lo arreglé. Lo estoy documentando aquí en caso de que alguien más tenga este problema.
Para hacer algo de esto, debe ser el usuario de Oracle:
Paso 1: debe mirar el registro de alertas. No está en / var / log como se esperaba. Debe ejecutar un programa de lectura de registros de Oracle:
Observe la base ADR. Esa no es la instalación. Necesita ver las casas para poder conectarse a la que usa.
CCI es el hogar. Establecer eso.
Ahora puede ver los registros de alertas. Sería muy bueno si estuvieran en / var / log para poder analizar fácilmente los registros. Simplemente deja de querer y trata con esta interfaz. Al menos puedes seguir (y espero que tengas un buffer de desplazamiento hacia atrás):
Desplácese hacia atrás hasta que vea errores. Desea el PRIMER error. Cualquier error después del primer error probablemente sea causado por el primer error. En mi caso, el primer error fue:
Esto es causado por las transacciones. Oracle no está diseñado para ser utilizado. Si inserta una gran cantidad de datos, guarda los registros de transacciones. Esos van al área del archivo de recuperación. Una vez que esté lleno (50GB lleno en este caso). Entonces, Oracle simplemente muere. Por diseño, si algo está en mal estado, Oracle responderá cerrándose.
Hay dos soluciones, la adecuada y la rápida y sucia. La rápida y sucia es aumentar db_recovery_file_dest_size. Primero, salga de adrci.
Ahora, vaya a sqlplus sin abrir la base de datos, simplemente montándola (es posible que pueda hacer esto sin montar la base de datos, pero la monte de todos modos).
Ahora, puede aumentar su db_recovery_file_dest_size actual, aumentado a 75G en mi caso:
Ahora, puede apagar e iniciar nuevamente y ese error anterior debería desaparecer.
La solución adecuada es deshacerse de los archivos de recuperación. Lo haces usando RMAN, no SQLPLUS o ADRCI.
Si tiene
RMAN-06171: not connected to target database
, intente usar enrman target /
lugar de solorman
Espere mucho tiempo y su archivo (que estaba usando todo ese espacio) desaparecerá. Por lo tanto, puede cerrar / iniciar su base de datos y volver al negocio.
fuente
export ORACLE_SID=my_oracle
//rman target /
RMAN
para borrar el área de archivo, así como algunas otras cosas. Cuidado, ya que también borrará los puntos de restauración si el DB está abierto por alguna razón (el último bit): the1403.github.io/RMAN-cleanup-logs