Category: FlashBack

ORA-38760: This database instance failed to turn on flashback database



Ese es un error que sucedió cuando un disco de +ASM que contenía los FlashBack logs no pudo ser montado por ASM, simplemente una corrupción, sin respaldo y sin espejamiento de discos, o sea, simplemente murió.
Documentación relacionada a FlashBack Database Logs : Flashback Database logs



Sucedió después de un corte de electricidad y se vino todo abajo, una vez que se quiso levantar la base, no montando el diskgroup malo, apareció este error en la base de datos

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-38760: This database instance failed to turn on flashback database


Pues bien, simplemente se consulto en la documentación y lo que había que hacer era deshabilitar los FlashBack logs , mediante el siguiente comando

SQL> alter database flashback off;
Database altered.


Posterior a eso, se levanta la base de datos , pero arroja el mismo error

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-38760: This database instance failed to turn on flashback database


De hecho, al tratar de dejar el FlashBack en ON, da un error de Recovery

SQL> alter database flashback on;
alter database flashback on
*
ERROR at line 1:
ORA-38706: Cannot turn on FLASHBACK DATABASE logging.
ORA-38714: Instance recovery required.


El error está relacionado a la creación de puntos de restauración (restore point)
Documentación relacionada : Restore Points


Se consulta el registro completo de los puntos de restauración , pero da un error pues simplemente no tiene acceso a ellos, ya no existen los FlashBack logs , pues no hay Diskgroup disponible

SQL> select * from v$restore_point;
select * from v$restore_point
*
ERROR at line 1:
ORA-38701: Flashback database log 3 seq 3 thread 1:
"+DGFL/prod11/flashback/log_3.545.886173601"
ORA-17503: ksfdopn:2 Failed to open file
+DGFL/prod11/flashback/log_3.545.886173601
ORA-15012: ASM file '+DGFL/prod11/flashback/log_3.545.886173601' does not exist



El procedimiento para solucionarlo es el siguiente :

- Primero consultamos el estado de nuestra base de datos, con lo cual se chequea que la base de datos posee puntos de restauración

SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
RESTORE POINT ONLY


- Consultamos sólo el nombre del punto de restauración , no el registro completo pues nos daría el mismo error que apareción antes en la nota

SQL> select name from v$restore_point;
NAME
--------------------------------------------------------------------------------
A1


- Borramos el punto de restauración

SQL> drop restore point A1;
Restore point dropped.


- Desactivamos el FlashBack Database logs

SQL> SQL> alter database flashback off;
Database altered.


- Consultamos el estado de nuestra base de datos relacionado al FlashBack logs

SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
NO


- Procedemos a abrir la base de datos, tema solucionado

SQL> alter database open;
Database altered.

;)

by Ligarius
03.09.15. 14:16:58. 458 words, 4488 views. Categories: Base de datos, FlashBack , • Send a trackback »