logo
MyWebStudies - Página de inicio
INGRESAR

REGISTRARSE
Buscador

Backup incrementales (II)

Selecciona el idioma :

Este video solo está disponible para los alumnos que han adquirido el curso

Backup incrementales (II)


En los videos anteriores, sólo hemos hecho backups planos, es decir, siempre que hemos copiado la base de datos, o determinado objeto de la misma, nos hemos llevado todo, o sea, hemos copiado los ficheros tal y como se encontraban en el momento del backup. De esta manera, en el último backup que hagamos, tendremos información que además está contenida en los backups anteriores. La diferencia en cantidad de la información de un backup a otro, dependerá del intervalo de tiempo de los backups, así como de la cantidad de operaciones que hayamos realizado en la base de datos.

RMAN y Oracle ofrecen una alternativa a la copia completa que tendríamos que hacer, digamos, diariamente, y es lo que se conoce como backup incremental. Con este tipo de backup, nos iremos llevando los bloques que hayan ido cambiando en referencia al último backup que hayamos hecho.

BACKUP INCREMENTAL: Recordemos cómo es que funcionan los full backup, que son los que hemos hecho hasta este punto. El full backup lo que hace es copiar la base de datos o determinados objetos de la misma tal cual están, o sea, se lleva todo el contenido de los ficheros, ya sea en un image copy o en un backup set. Debemos recordar que en el caso de los backup set, el hecho de que no copie los espacios en blanco no significa que sea un backup de tipo incremental, sino simplemente que no copia los bloques que no contengan información.

Para comenzar a hacer backups incrementales debemos empezar por un Incremental level 0, que es un full backup como los que hemos hecho antes pero se le pone una marca. A partir de este backup incremental Level 0 después podemos hacer backups incrementales. Con los full backups no podríamos, pero con este tipo de backup si.

Entonces, si la idea que tenemos es la de hacer backups incrementales, lo primero que debemos hacer es generar un backup incremental Level 0 para luego, a partir de él, continuar con los demás backups incrementales.

A partir de aquí, en Oracle, podemos hacer dos tipos de backups incrementales:

  • Cumulative (Acumulativo) Level 1: Lo que hacemos con este backup es llevarnos todos los bloques que se han modificado desde el último incremental de nivel 0. Por ejemplo, si el incremental de nivel 0 tenia un giga de tamaño y hemos hecho cambios por 50 megas, entonces el backup acumulativo de nivel 1 que hagamos, va a tener un tamaño de 50 megas, porque solo se va a llevar sólo los que han cambiado con respecto al anterior de nivel 0.
  • Differential (Diferencial) Level 1: Estos backups solo se llevan los bloques modificados desde el último backup incremental, sin importar el tipo que sea. Mientras que los backups acumulativos siempre hacen referencia al backup incremental de level 0 anterior, los backups diferenciales hacen referencia al backup incremental anterior, sin importar que sea de nivel 0 o nivel 1.

EJEMPLO CON BACKUP INCREMENTAL: Supongamos que tenemos una base de datos, con los ficheros, los redo logs, los archivelogs, etc.

Si queremos hacer un backup incremental, lo primero que tenemos que hacer es un full backup de level 0. Que se va a traer todos los datos que tengamos en la base de datos, al igual que un full back como hemos hecho antes, y lo va a marcar como Level 0.

Pensemos que necesitamos hacer todos los días copias de los cambios que se hayan hecho en la base de datos, tendremos que hacer backups diferenciales.

Digamos que el Lunes hicimos el full backup de nivel 0, entonces vamos a tener backups diferenciales de martes, miércoles, jueves, etc… De esta manera, el backup diferencial del martes guarda los cambios respecto al backup de nivel cero de lunes, el diferencial del miércoles se lleva los cambios respecto al diferencial del martes, y el diferencial del jueves almacena los cambios respecto al diferencial del miércoles. De esta manera estamos generando ficheros de backup sólo con los cambios producidos con respecto al backup anterior.

En determinado momento nos interesará hacer un backup acumulativo, que va a almacenar todo lo que haya desde el último full backup. Entonces lo que hará este backup es tomar los backups diferenciales posteriores al full back y los almacena. En nuestro caso estará tomando los backups diferenciales de martes, miércoles y jueves.

De esta manera la información que tengamos en los backups incrementales posterior al full backup y hasta el backup acumulativo, no harán falta, ya que toda esa información estará contenido en el backup acumulativo, en nuestro ejemplo, de día viernes.

Hacer un backup acumulativo periódicamente es necesario porque podríamos llegar a tener muchos backups diferenciales, y llegado el momento de recuperar la base de datos puede ser más trabajoso, toda vez que tendremos más archivos con información necesaria para la recuperación.

No hay una política que regule el periodo de tiempo en que debemos hacer los backups acumulativos, es en todo caso, decisión del dba, apoyado en las características de la base de datos, la cantidad de transacciónes que se manejan en ese espacio de tiempo, etc.

Después del acumulativo, pues podríamos seguir haciendo backups diferenciales. En nuestro ejemplo, el diferencial de sábado, estaría llevándose los cambios respecto al acumulativo del


incrementales 2

Publicaciones Recientes de oracle dba

¿Hay algún error o mejora?

¿Dónde está el error?

¿Cúal es el error?