El catálogo RMAN

Cuántos catálogos RMAN hay

  • RMAN siempre guarda un catálogo de los últimos backups en el controlfile.
    • El parámetros de la BBDD CONTROLFILE_RECORD_KEEP_TIME indica cuantos dias se guarda el catálogo RMAN en el controlfile.
    • Por defecto, el valor de CONTROLFILE_RECORD_KEEP_TIME es 7 (dias).
  • Además, y de forma opcional, se puede guardar una segunda copia del catálogo en una BBDD
    • En este caso, el tiempo de retención del catálogo solo está limitado por el espacio de la BBDD.

Cuando se habla del catálogo de RMAN, nos estamos refiriendo implícitamente al catálogo opcional en BBDD.

Cuando se dice que RMAN trabaja sin catálogo, estamos indicando que RMAN solo utiliza el controlfile como catálogo.

Que contiene el catálogo RMAN

El catálogo RMAN contiene:

  • Los backups realizados.
  • Los backups-pieces que contenian: nombre completo.
  • Los ficheros (datafiles, controlfile, archivelogs, ...) con indicación del SCN* que hay en cada backup piece.

Cuando se realiza backup a cinta, el catálogo RMAN no contiene indicación alguna de qué cinata es la que contiene una cierta información. Esta información (correspondencia entre el nombre del backup-piece y cinta) está en el catálogo de la cinta.

Nota: SCN (Serial Change Number) es un timestamp que indica la última modificación de un fichero.

¿Es necesario el catálogo adicional?

Si recordamos el orden de restauración ante un desastre total, el orden es:

  1. initSID.ora: se restuara volviendolo a crear puesto que su contenido es fijo
  2. spfile.
  3. controlfile (que incluye el catálogo RMAN)
  4. datafiles: se restauran a partir del catálogo de backups del controlfile.
  5. Archivelogs: se restauran a partir del catálogo dse backups del controlfile.

El catálogo RMAN es necesario es cualquiera de las siguientes circunstancias:

  • No podemos recuperar el spfile y/o el controlfile si no es con ayuda de éste catálogo. (El backup no es autosuficiente)
  • El controlfile no contiene el catálogo de un backup completo.
    • Se pueden hacer backups correctos cuyo ciclo sea muy largo:
      • Backup completo 1 vez al mes.
      • Con backup incremental cada semana
      • Con backup diario de los archivelogs
    • Este backup es técnicamente correcto. Pero requiere un catálogo de 1 mes para poder recuperar.

¿Es aconsejable usar siempre el catálogo adicional?

Esta es la pregunta del millón.

En versiones anteriores a la V10 de la BBDD, el catálogo del ControlFile no era completo. entonces sí era aconsejable mantener este segundo catálogo.

En la versión 10 o posterior, el catálogo del controlfile es completo. Salvo que sea necesario por las circunstancias mencionadas en el apartado anterior, me inclino a desaconsejar la utilización del catálogo adicional.

En mi opinión (no tiene porque ser la de Oracle), es mejor hacer backups autocontenidos o con ciclos cortos que utilizar el segundo catálogo.

Como evitar la obligatoriedad del catálogo adicional

Para evitar la obliogatoriedad del segundo catálogo se debe hacer

  • Realizar backups autocontenidos.
  • o bien con un ciclo corto.

Como realizar backups autocontenidos

Hay dos ficheros que pueden ser difíciles de recuperar y suelenser la causa de que un backup no sea autocontenido:

  • spfile
  • controlfile

Obsérvese que, al hacer backup a disco, se indicaba el directorio donde se realizaba el backup de estos ficheros. Con esta precaución, ya se pueden recuperar estos ficheros.

Si el backup es a cinta, el gestor, por regla general, de cinta sabe distinguir el backup-piece donde están estos ficheros y los sabe recuperar. No obstante, hay que hacer una prueba de recuperación de estos ficheros para estar seguros que podemos recuperarlos.

Como hacer backups con un ciclo corto

Salvo que la BBDD sea realmente grande, normalmente se puede hacer backup con un ciclo máximo de una semana:

  • El fin de semana se hace backup completo
  • cada dia se hace un backup incremental

Con este ciclo semanal, solo se precisa el catálogo de una semana para recuperar.