martes, 24 de febrero de 2015

Copias Inconsistentes de Base de Datos

Una copia inconsistente, online o caliente se realiza mientras la base de datos está en uso.
Un fichero de datos copiado de forma online no estará sincronizado con ningún SCN particular, se copia mientras está en uso, siendo leido por los procesos de servidor y escrito por DBWn. No es posible hacer una copia incosistente en modo <<noarchivelog>>.

Una base de datos puede permancecer abierta siempre y estar correctamente protegida por copias insonsistentes.

Existen varios pasos para  hacer una copia inconsistente gestionada por el usuario:

-Copiar el controlfile
-Copiar los ficheros de datos, mientras estan en modo copia.
-Archivar los ficheros de redo log online

Para copiar el controlfile mientras la base de datos está abierta, tenemos 2 opciones:

ALTER DATABASE BACKUP CONTROLFILE TO 'fichero';
ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS 'fichero';

El primer comando realiza una copia binaria byte a byte similar al controlfile actual: es una instantanea consistente en lectura del controlfile.

El segundo construye un comando CREATE CONTROLFILE y lo almacena en el script determinado por fichero. Está escrito en ASCII y puede editarse con cualquier editor de texto. Este script se puede utilizar mientras la instancia está en modo NOMOUNT para crear un nuevo controlfile con los mismos contenidos que el original del que fue generado.

Si no se especifica la clausula <<AS fichero>> se generará en el directorio <<USER_DUMP_DEST>> y su nombre vendrá determinado por el de la instancia y por el ID del proceso de servidor que atiende a nuestra sesión.

Los ficheros de datos antes de copiarlos, hay que ponerlos en modo copia con el siguiente comando:

ALTER TABLESPACE nombre_tablespace BEGIN BACKUP;

Este comando fuerza un checkpoint parcial. Todos los buffers del buffer caché que contienen bloques de fichero de datos del tablespace nombre_tablespace se escribirán en disco. Este comando, además, permite ajustar el mecanismo de generación de redo para los cambios que se apliquen en los bloques de esos ficheros de datos, ya que es necesario tener en cuenta la situacion en la que un bloque se modifica mientras se copia.

No hay comentarios:

Publicar un comentario