Oracle realiza un chequeo de la integridad de los datos en momentos como el arranque o ante una reencarnación (cuando ejecutamos el ALTER DATABASE OPEN RESETLOGS ante una clonación o un cambio de SID).

Se pueden dar casos puntuales medio-controlados en los que no haya un error real pero Oracle diga todo lo contrario. Un ejemplo es cuando encuentra bloques marcados como corruptos ante restauraciones de datos con aplicación de archivers para contenidos que han sido insertado en NOLOGGING (un problema que hemos tenido a veces).

En ese caso sabemos que en realidad los datos están bien pero Oracle no piensa lo mismo.

SVRMGR> alter database open resetlogs;
alter database open resetlogs
*
ORA-01248: file 7 was created in the future of incomplete recovery
ORA-01110: data file 7: ‘D:ORACLEORADATADBDATA01.DBF’

Podemos forzar el arranque de la base de datos de forma excepcional y ‘at your own risk’ y sin soporte alguno por Oracle poniendo el parámetro _allow_resetlogs_corruption a TRUE. De hecho perderéis el soporte de Oracle para esa base de datos, esta acción debe hacerse únicamente en caso de desesperación extrema.

Y en cualquier caso este parámetro sólo debe ser usado para poder acceder a la base de datos y exportar datos por ejemplo o aplicar los REDO logs necesarios. Siempre deberemos volver a poner el parámetro en FALSE y reiniciar la base de datos o restaurar un backup.