Modelos de recuperación para Oracle
Oracle administra los cambios en el contenido y la estructura de tal manera que garantiza la recuperación de la base de datos hasta la última transacción confirmada después de cualquier punto único de fallo. Hasta la última transacción confirmada significa que una vez que al usuario se le devuelve el control después de ejecutar una declaración COMMIT, Oracle garantiza que los datos confirmados se han escrito en el disco de alguna forma y son recuperables. Punto único de fallo significa que cualquier archivo o proceso puede fallar sin que se pierda el contenido de ninguna transacción confirmada. Si un archivo de datos se pierde o se daña, el contenido de los registros de rehacer garantiza que los datos sean recuperables. Si se rompe un archivo de control, los otros archivos de control aseguran que la información siga siendo segura. Se puede eliminar un proceso, pero nunca se pierden los datos confirmados.
Para recuperar una base de datos después de cualquier error, Oracle sigue estos pasos:
- Lee el archivo init.ora para determinar los nombres y las ubicaciones de los archivos de control
- Lee los archivos de control para verificar la consistencia de unos con otros y determina la estructura física del archivo de la base de datos
- Abre cada archivo de datos que se menciona en el archivo de control para determinar si el archivo de datos es actual y refleja el último cambio confirmado o si necesita una recuperación
- Abre cada archivo de registro de rehacer en secuencia y aplica la información que encuentra allí a cada archivo de datos, según sea necesario, para llevar cada archivo de datos a un estado que contenga todas las transacciones confirmadas
Si la base de datos perdió un archivo de control, se recupera la base de datos mediante el reemplazo del archivo de control perdido por una copia de un archivo de control actual.
Si la base de datos perdió uno o más archivos de datos, la base de datos se recupera primero mediante el reemplazo del archivo o archivos de datos perdidos por copias de seguridad, y después mediante el uso de los registros de rehacer (archivados u on-line) para actualizar las copias restauradas. Si las copias de seguridad se restauran en ubicaciones diferentes que las de los archivos originales que se intenta reemplazar, debe utilizar el comando ALTER DATABASE > RENAME FILE para indicarle a la instancia de Oracle dónde están los archivos restaurados.
Si la base de datos perdió el registro de rehacer on-line actual, se interrumpe la instancia de la base de datos cuando intenta confirmar más transacciones. No se perderá información, pero no se confirmará la última transacción y posiblemente sea necesario volver a especificarla cuando la base de datos se inicie nuevamente. Sin embargo, se debe reemplazar el registro de rehacer on-line actual, y se debe realizar de inmediato una copia de seguridad de la base de datos.
Si la base de datos perdió algún registro de rehacer archivado, la instancia de base de datos continúa funcionando porque no conoce esta pérdida. Sin embargo, la capacidad de recuperar la base de datos en caso de un segundo error de medios o pérdida de un archivo puede verse comprometida. Se debe realizar una nueva copia de seguridad si se pierden los registros de rehacer archivados.