Configure Recovery Manager

1. Documentación en Tahiti -> Masters Book List -> Backup and Recovery User’s Guide -> 5 Configuring the RMAN Environment

2. Vamos a tratar de configurar el entorno de RMAN para proteger nuestras BD de la mejor forma posible. Nuestro objetivo es evitar cualquier perdida de información, y hay ciertos parámetros de RMAN que nos ayudan a conseguirlo.

3. Lo primero que vamos a hacer es conectar con RMAN y listar los parámetros que tenemos configurados por defecto.

rman target sys@ocm catalog rman/rman@oem

RMAN> SHOW ALL;

RMAN configuration parameters for database with db_unique_name OCM are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_OCM.f'; # default

Si nos fijamos, al final de cada linea vemos que todos los parámetros tienen el valor por defecto.

4. Vamos a configurar el modo AUTOBACKUP. De esta forma, la BD realizar un backup del CONTROLFILE y del SPFILE siempre que se realice un backup o se produzca un cambio en la estructura de la BD (esto último cuando tenemos la BD en modo ARCHIVELOG).

# Habilitamos AUTOBACKUP
CONFIGURE CONTROLFILE AUTOBACKUP ON;

Como tenemos configurada la Fast Recovery Area, por defecto, los backups del CONTROLFILE y el SPFILE se guarda dentro. En nuestro caso, en la ruta <fast_recovery_area>/OCM/autobackup/*. Si quisieramos especificar otra ruta lo podemos hacer de la siguiente forma.

# Comando para cambiar la ruta por defecto de los AUTOBACKUP
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/tmp/%F';

# Desconfiguramos la ruta para reubicar los AUTOBACKUP en la FRA
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;

5. Una directiva crucial de RMAN en la política de retención (RETENTION POLICY). Esta directiva permite controlar el tiempo de retención de nuestros backups. En función de los requisitos de negocio que tengamos. Podemos especificar una retención en días, o podemos espeficiar cuántas copias queremos guardar (RECOVERY WINDOW) de nuestros backups (REDUNDANCY). Por defecto, tenemos una redundacia de una copia.

# Veamos como aumentar el número de copias de nuestros backups
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

# También podemos especificar que no se marque como obsoleto ningún backup nunca
CONFIGURE RETENTION POLICY TO NONE;
# No hay que confundir con CLEAR, que establecería el valor por defecto de REDUNDANCY 1
CONFIGURE RETENTION POLICY CLEAR;

# Vamos a cambiar la política estableciendo una retención de backups de 7 días
# Es importante que esta retención sea inferior al parámetro CONTROL_FILE_RECORD_KEEP_TIME
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

6. Otra directiva interesante en OPTIMIZATION. Cuando tenemos acivada esta opción, RMAN puede evitar hacer backups de TABLESPACE en modo lectura cuando se producen ciertas condiciones. Está muy relacionado con la anterior directiva (RETENTION POLICY). Cuando la política de retención es REDUNDACY n, RMAN va a guardar n+1 copias de un TBS en modo lectura. Sin embargo, si la política de retención es de tipo RECOVERY WINDOW, RMAN se encargará de tener siempre un backup válido de cualquier tablespace en modo lectura dentro del período especificado en la ventana.

# Configuramos OPTIMIZATION
CONFIGURE BACKUP OPTIMIZATION ON;

7. Cuando se realiza un backup se abre uno o varios canales según lo indiquiemos en nuestros scripts. Pero podemos especificar un número de canales por defecto para los casos en los que no se especifica. Veamos como se configuran dos canales.

# Especificamos 2 canales por defecto para los backups a disco
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;

# Lanzamos un backup de un par de DATAFILES pequeños para comprobarlo
# Comprobaremos que se abren dos canales
BACKUP DATAFILE 4,5;

# Borramos los backups completados
DELETE BACKUP OF DATAFILE 4,5;

8. De momento vamos a dejar el resto de parámetros por defecto ya que no son críticos, aunque resulta interesante practicar con ellos.