Archivos en la Categoría ‘RMAN’

Como RMAN por defecto no utiliza el catalogo tenemos que hacer una serie de configuraciones previas.

Antes de comenzar hay que indicar que el catalogo de RMAN se ha de alojar en un base de datos diferente a la que estamos utilizando y preferiblemente utillizando un servidor diferente.

RMAN puede utilizar este catalogo para varias bases de datos.

Oracle recomienda que el tamaño de la base de datos que almacene el catalogo no supere los 200M.

Supongamos que hemos creado una base de datos donde a su instancia vamos a acceder con el nombre orclRC

> export ORACLE_SID=orclRC;
> sqlplus / as sysdba

– Primero voy a crear un tablespace para alojar al catalogo

sql> CREATE TABLESPACE CATALOG_orcl DATAFILE ‘+DATOS1/orcl/datafile/catalogo_orcl.dbf’ SIZE 200M;

Tablespace created.

– Creamos al usuario:

sql> CREATE USER rman_user IDENTIFIED BY rman_user
DEFAULT TABLESPACE catalog_orcl
TEMPORALY TABLESPACE temp;

User created
– Le damos privilegios

sql> GRANT CONNECT, RESOURCE, RECOVERY_CATALOG_OWNER TO rman_user;

Grant succeded

– Desde la linea de comandos del sistema operativo lanzamos el RMAN.

>rman
RMAN> connect catalog rman_user/rman_user

– Creamos el catalog
RMAN> create catalog tablespace catalog_orcl

recovery catalog created

Una vez hayamos creado el catalogo, necesitamos registrar nuestra base de datos.

> export ORACLE_SID=orcl;
> rman target /
Recovery Manager: Release 10.2.0.1.0 – Production on Sat Jan 29 23:05:22 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database: ORCL (DBID=1269508047)

RMAN> connect catalog “rman_user/rman_user@orclRC”
connected to recovery catalog database

– Y por ultimo registramos nuestra base de datos

RMAN> register database;

database registered in recovery catalog
starting full resync of recovery catalog
full resync complete

Ahora ya podemos hacer un backup completo de nuestra base de datos

En esta tercera parte destinada a Recovery Manager vamos a hablar de los backup comprimidos viendo como podemos ahorrar hasta un 20% de espacio, de los backup incrementales y que vistas tenemos que cosultar para obtener información de los backup realizados en nuestra base de datos.

BACKUP COMPRIMIDOS

El ahorro de espacio en este tipo de backups se consigue unicamente copiando los bloques que han sido utilizados.

Este tipo de backups unicamente trabajan con formatos de backupset.

RMAN> backup as compressed backupset database;

O podemos configurar este tipo de backup por defecto:

RMAN> configure device type disk backup type to compress backupset;

Si comparamos el fichero generado por esta instrucción con el que nos generarica un backup normal vemos que el tamaño se reduce hasta en un 20%.

BACKUP INCREMENTALES.

Existen dos tipos de backups: Completos e incrementales. Los backups completos almacenaran todos los bloques de los datafiles hayan sido modificados o no. Mientras que los backups incrementales unicamente almacenaran aquellos bloques que hayan sido modificados desde el ultimo backup incremental.

Los backup incrementales se dividen en niveles desde el nivel 0 (similar a un backup completo) hasta el grado n.

Existen dos tipos de backups incrementales: diferenciales y acumulativos. Los backups diferenciales son aquellos que haran un backup de los bloques modificados desde el ultimo backup de nivel igual o inferior y los backups acumulativos que el backup se hace del ultimo backup de grado n-1 o inferior. La diferencia entro los dos es que los backups acumulativos ocupan mas espacion pero se restauran mas rapidamente.

Ejemplo backup incremental diferencial:

RMAN> backup incremental level 1 database;

Ejemplo backup incremental acumulativo:

RMAN> backup incremental level 1 cumulative database;

BLOCK CHANGE TRACKING

Block change tacking es un proceso que va almacenando que bloques han sido modificados para que a la hora de realizar un backup no se tenga que recorrer todos los datafiles en busca de bloques modificados.

Es necesario hablitar esta opcion:

SQL> alter database enable block changes tracking using file ‘…..\log_track.log’;


COMANDO LIST

Este comando es lanzado sobre le repositorio de RMAN para obtener informacion de los backups que se han realizado.

RMAN> list backupset (by backup|by file) (sumary|verbose);

COMANDO REPORT

Con este comando obtenemos informacion de que ficheros es necesario hacerles un backup, backups caducados o obtener informacion de la extructura fisica de la base de datos.

Ejemplos:

RMAN> report obsolete;
RMAN> report schema;
RMAN> report need backup;

  CONFIGURACION CANALES

En la primera parte dedicada a RMAN hablamos de como configurar RMAN para utilizar paralelismo y asi agilizar el backup o la restauracion de la base de datos:

Ejemplo:

RMAN> run

{

allocate channel c1 type disk;

allocate channel c2 type disk;

backup database format ‘db_%u_%d_%s’;

 backup format ‘log_t%t_s%s_p%p’

(archivelog all channel c2);

}

En esta parte vamos a hablar de algunos parametros de RMAN que se pueden configurar para favorecer los procesos de backup.

a) Configuramos el tipo de dispositivo donde vamos a almacenar la copia (disco o cinta)

RMAN>configure default device type to sbt; (cinta)

RMAN>configure default device type to disk; (disco)
b) Configuramos el tipo de backup que vamos a hacer (imagen o backupset)

RMAN>configure default device type to disk backup type to copy; (imagen)
RMAN>configure default device type to disk backup type to backupset; (backupset)
RMAN>configure default device type to disk backup type to compressed backupset; (backupset comprimido)

 

POLITICAS DE RETENCION

Podemos indicar cuando expira las copias de seguridad con el parametro RETENTION POLICY.

RMAN>configure retention policy to recovery window of 30 days;

Pero podemos hacer que determinadas copias expiren o permanezcan hasta determinada fecha.

Ejemplo:

RMAN> run

{

allocate channel c1 type disk;

backup database format ‘db_%u_%d_%s’ tag backup_mensual;

 backup format ‘log_t%t_s%s_p%p’

(archivelog all);

}

Hacemos que expire:

RMAN> change backupset tag backup_mensual nokeep;

Lo bloqueamos hasta una determinada fecha:

RMAN> change backupset tag backup_mensual keep until time ’01-DEC-09′ logs;
AUTOBACKUP DE CONTROL FILES

Tambien con RMAN podemos configurar para que haga un backup automatico de los control files cada vez que se porduzca un cambio en la extructura fisica de la base de datos.

RMAN> configure controlfile autobackup format for device type disk to ‘/u01/oracle/backup/cf_%F’;

17
dic
08

RMAN Parte 1

por mogukiller Cerrado
Categorías: RMAN

RMAN es la herramienta de backup recomendada por Oracle. Permite recuperar los datos en casi cualquier situación.

 

CARACTERÍSTICAS:

 

Ofrece tanto un interfaz web como linea de comandos.

Permite backups de databases, tablespaces, datafiles, controlfiles y archive logs.

Permite backups incrementales.

Reporta informacion de los backups.

Duplica bases de datos.

Comprueba si DB pueden ser restauradas correctamente.

EXPDP unicamente pude hacer backups de las partes logicas de una base de datos.

RMAN puede almacenar las copias de seguridad en el catalog o en los control files. El catalogo es otra base de datos aparte util cuando se quiere centralizar la administración de los backups de varias bases de datos. Oracle permite que también se almacene la información de recuperación y backups en los Contro Files.

Si se utilizan los control file. El proceso del RMAN graba la información en la parte reutilizable. Para saber cuanto tiempo se va a mantener esa información comprobamos el parametro de inicialización:

 

SQL> SHOW PARAMETER CONTROL_FILE_RECORD_KEEP_TIME  – 7 by Default.

 

Para conectarnos a la base de datos:

c:\> rman target sys/oracle@orcl 

Si la operacion ha sido correcta oracle nos responde:

RMAN > Connected to target database: ORCL

 

1. EJEMPLO: Backup Base de datos completa

RMAN> run

{

allocate channel c1 type disk;
backup database format ‘db_%u_%d_%s’;
backup format ‘log_t%t_s%s_p%p’
(archivelog all)

}

El comando del ejemplo 1 genera una copia de seguridad del estilo backup set tambien se pueden crear copias de seguridad del tipo Imagen.

RMAN>run

{

allocate channel c1 type disk;

copy

datafile 1 to ‘/u01/app/oracle/backup_datafile1.dbf’,

current controlfile to ‘/u01/app/oracle/copiacontrolfile.ctl’;

}

Un comando interesante seria BACKUP AS COPY. que nos permitiria realizar un backup del tipo imagen de toda la base de datos, multiples tablespaces, datafiles ..  sin tener que especificar todos los ficheros de forma individual.

 

RMAN> backup as copy tag “backup_database” database

 

PARALELISMO.

Se pueden asignar varios canales de trabajo para que se repartan de forma paralela el trabajo.Bien podemos asignar esos canales en el script RMAN o en los parametros de configuracion.

 

RMAN> run

{

allocate channel c1 type disk;

allocate channel c2 type disk;

backup

(datafile 1,2,3 channel c1)

(archivelog all channel c2);

}

o por parametro:

RMAN> configure device type disk parallelism 3;

RMAN> backup (datafile 1,2) (datafile 3,4) (archivelog all);