RMAN – Command Catalog and examples

Cuando trabajamos con RMAN podemos centralizar nuestros backups en un unico repositorio como es la cinta o en cada filesystem local, generalmente con el mismo nombre de path.

En algunos casos ocurre que no podemos tener esa misma estructura de directorios, y cuando vamos a realizar un restore full es preciso recatalogar las piezas ya que en el controlfile se resguardo la ruta donde el mismo se origino.

Para ello hay una utilidad que nos provee RMAN, que es el comando CATALOG.

  • Podemos utilizarlo para gestionar el agregado de piezas de backup al catalogo de RMAN de control file, archivelogs, copias de datafiles y backuppieces.
  • Grabar alguna pieza de backup como punto 0, como estrategia de backup incremental.
  • Utilizarlo como registro de la ultima copia realizada en oracle 7 , previo a la migración a 8.

Es importante tener en cuenta para poder utilizar este feature que la base cumpla con estos requisitos:

  • Cuando nos conectamos a la base, que se encuentre en modo MOUNT u OPEN.
  • Si el RMAN esta conectado al catalogo, el catalogo se encuentre en modo OPEN.Para nosotros poder catalogar piezas, estas deben encontrarse en el path que vayamos a pasar como parametro.
  • Las piezas disponibles deben ser:
  1. ControlFile
  2. Datafile Copy
  3. ArchiveLog
  4. Incremental Copy
  5. Backuppiece

Por ejemplo:

Si utilizo el path /u03/rman_database_backup para realizar el backup, todas las piezas se catalogan en ese path.

backup as COMPRESSED BACKUPSET tag BACKUP_COLD database format /u03/rman_database_backup/%T_%d_DBID%I_s%s_p%p_dbf’;

Cuando vamos a otro host o estamos en otro path ocurrira el siguiente error:

RMAN-03002: failure of restore command at 23/06/2010 12:32:43
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile % found to restore

Ante los diferentes escenarios que se nos pueden presentan voy a citar de los más comunes con los cuales nos podemos encontrar:

  • Catalogar Archive Redo Log.
  • Catalogar archivos en la Flash Recovery Area.
  • Catalogar Multiples copias de Backup en un path determinado.
  • Catalogar Backuppieces.

Con este primer ejemplo, suponemos que el backup de archives se hizo en otro sitio y fue transferido, también vale decir que pudo haber sido tomado en otro path del host donde me encuentro, y lo agregaremos al repositorio de RMAN (catalogo):

CATALOG ARCHIVELOG '/u03/rman_database_backup/archive1_30.dbf',
                   '/u03/rman_database_backup/archive1_31.dbf',
                   '/u03/rman_database_backup/archive1_32.dbf';

Con el segundo ejemplo, vamos a catalogar las piezas que se encuentran actualmente en la flash_recovery_area sin preguntar al usuario por cada una de ellas (de las existentes):

CATALOG RECOVERY AREA NOPROMPT;

Con el tercer ejemplo, vamos a catalogar todas las piezas de backup que se encuentren en un directorio, en este caso /u04/restore_database_backup:

CATALOG START WITH '/u04/restore_database_backup';

Con el Cuarto ejemplo, tomamos una pieza cualquiera que nos sirva para restorear y la catalogamos.

CATALOG BACKUPPIECE '/u04/restore_database_backup/20100701_DAPRO01_DBID423913798_s233_p1_dbf';

Pero estoy dejando fuera el ejemplo del catalog de piezas incrementales !

Este seria de la siguiente forma:

CATALOG DATAFILECOPY '/u04/restore_database_backup/DAPRO_DAT.bak' LEVEL 0;

En el proxímo articulo de RMAN , haremos un paseo por comandos del catalogo para poder listar y tener conocimiento de lo que resguardado.

About Juan Andres
Consultant | Oracle DBA & IT Specialist | LinuxUnix Administrator | Father | Musician | Farmer | Environmentalist | Writer | Builder | Buenos Aires · burzaco.wordpress.com

One Response to RMAN – Command Catalog and examples

  1. Pingback: DbRunas – Noticias y Recursos sobre Bases de Datos » RMAN – Command Catalog and examples

%d bloggers like this: