RMAN

Published on May 2016 | Categories: Documents | Downloads: 55 | Comments: 0 | Views: 691
of 13
Download PDF   Embed   Report

Comments

Content

INTRO

• Dentro del campo de la seguridad informática se encuentran las medidas de reacción ante incidentes. Estos incidentes pueden ser perdida de datos por error o incluso por intromisión de personas malintencionadas.


Para ello, es necesario implementar mecanismos, que comúnmente se reconocen como políticas de backup. Como por ejemplo:

Definir la periodicidad del backup (diario, semanal, mensual) 2. Definir el tipo de backup (Diferencial o completo) 3. Definir donde se almacenará (disco duro, medio removible, servidor de archivos) 4. Definir el método de backup • 5. Definir responsable del backup si aplica


• Periocidad de Backup: • Volumen de datos • Frecuencia de actualización de los datos • Tipo de Backup: • Respaldo Completo • Respaldo Incremental • Respaldo Diferencial

Ubicación del Backup: Generalmente los mecanismos de backup utilizan medios del tipo “óptico”,“magnético”. No hay que dejar de lado los “servicios” de respaldo (TFTP)

Método de Backup: • Uno de los principales sistema de respaldo es NAS (Network Area Storage) en donde hay un servidor principal y los PC´S están conectadas a él por medio de la red • SAN ( Storage area Network), este sistema de respaldo se utiliza de siguiente manera al momento de almacenar la información, se realiza en una sola unidad, creando una red de pc´s que se conecta con algún dispositivo de almacenamiento, compuesto por múltiples discos, al que se le adjunta un dispositivo de respaldo como por ejemplo cintas magnéticas. • Además de planificar el respaldo de datos, existen elementos de hw que permiten prevenir la perdida de datos, como por ejemplo las UPS.

Importancia de la creación de respaldos (Backups)

• Oracle dispone de distintos mecanismos de protección para situaciones de caída del sistema, fallos de disco duro, etc. • La pérdida de un archivo de la base de datos puede ser provocada por un error del operario, corrupción de un archivo o fallo en el disco. Para solucionar estos problemas siempre se debe contar con una copia de la base de datos y sus archivos de control y transacciones.

Creación de respaldos Consideraciones

• Para la creación de respaldos de la base de datos y los archivos de soporte, se utiliza la herramienta llamada RMAN. • Antes de crear un respaldo, se debe tener activada la opción de archivado de las transacciones (Modo archive log). • Para realizar las operaciones de respaldo, se debe acceder a la base de datos con el usuario SYS (modo sysdba) o como usuario con rol SYSOPER.

Pasos para la creación de un respaldo
• Verificar el estado del modo de archivado de las transacciones, para ello se debe ejecutar el comando “ARCHIVE LOG LIST” desde el sqlplus. • En caso de estar desactivado, esta opción debe activar, pare ello previamente se debe cambiar el estado de la base de datos a estado MOUNT. (realice un shoutdown immediate y luego un startup mount). • Una vez en estado Mount, se debe modificar el estado de la base de datos para activar el modo archivado: Sql> Alter database archivelog; • Luego volvemos a levantar la base de datos

Sql> Alter database Open • Una vez activada la opción de archivado, podemos acceder a la herramienta RMAN desde el Prompt: C:\ RMAN Nocatalog • Luego nos conectamos a la base de datos: RMAN> Connect target sys/password

• A continuación debemos habilitar un canal (disco) e indicar el tipo de unidad en la que se almacenará el respaldo. • Posteriormente se indica la ruta en que se guardará el respaldo incluyendo el nombre del archivo a través del parámetro FORMAT (La ruta definida debe existir previamente, si no existe, hay que crearla). • Luego indicamos el tipo de respaldo a realizar (si es la base de datos completa, un tablespace, etc.), mediante el parámetro BACKUP. • Finalmente asignamos una etiqueta para identificar el respaldo en el conjunto de respaldos. RMAN> run{ 2>ALLOCATE CHANNEL DISK1 3>TYPE DISK 4> FORMAT ‘c:\oracle\product\10.2.0\oradata\orcl\backup\ %U; //%U fija un nombre único para cada respaldo. 5>BACKUP DATABASE 6> TAG open_db_full_1; 7>}

Listar los respaldos disponibles
• Para mostrar la lista de los respaldos disponibles de la base de datos ejecutamos el siguiente comando: RMAN> List backup of database;

Recuperar desde un respaldo
• Para la recuperación de un respaldo, debemos ejecutar la instrucción

RECOVER indicando el tipo de respaldo a recuperar, un canal y el objeto a recuperar (La base de datos debe estar en estado mount): RMAN> run{ 2>ALLOCATE CHANNEL DISK1 TYPE DISK; 3> RECOVER DATABASE; 4>}

Esta acción recupera los datos de una base de datos desde el respaldo pero no actualiza las últimas transacciones realizadas. Para ello, debemos realizar una restauración de la base de datos: RMAN> run{ 2>ALLOCATE CHANNEL DISK1 TYPE DISK; 3>RESTORE DATABASE; 4> } Veremos los comandos y las funciones básicas de RMAN en 10g Conexión a RMAN
La forma más simple de conectarse a RMAN es la siguiente (con el usuario oracle):

$ rman target / Recovery Manager: Release 10.2.0.1.0 - Production on Wed Mar 8 13:16:22 2006 Copyright (c) 1982, 2005, Oracle. All rights reserved.

connected to target database: LCBDPROD (DBID=2582320114) RMAN>

Si queremos que nuestras actividades se registren en un archivo log:
$ rman target / log /ruta/archivo.log [append]

Parámetros de configuración de RMAN
RMAN viene configurado con una serie de parámetros predefinidos, mismos que podemos ver con el comando show:
RMAN> show all ; using target database control file instead of recovery catalog RMAN configuration parameters 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 ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/10.2.0/dbs_1/dbs/snapcf_LCBDPROD1.f'; # default

Respaldos incrementales
Un respaldo incremental consta de dos niveles: 0 (respaldo completo de la base de datos y que sirve de base a los respaldos incrementales) y 1 (respaldos incrementales en los que solamente se respaldan los bloques que han cambiado desde el último respaldo). Adicionalmente, es posible “actualizar” el respaldo de nivel 0 con los cambios del respaldo de nivel 1. Un respaldo de este tipo se haría de la siguiente forma: Paso 1. Respaldo completo (nivel 0): RMAN> backup incremental level 0 tag ‘INC_L0’ database ; Paso 2: Primer respaldo incremental (nivel 1): RMAN> backup incremental level 1 for recover of copy tag ‘INC_L0’ database ; Paso 3: Aplicar el respaldo incremental al respaldo de nivel 0, es decir, aplicar los cambios en los bloques al respaldo base. RMAN> recover copy of database with tag ‘INC_L0’ ; Para que el desempeño del respaldo incremental sea óptimo, es necesario habilitar la opción llamada block change tracking, que es un archivo que lleva el registro de los bloques que van cambiado desde el último respaldo. Si no está habilitado, RMAN tiene que leer todos los bloques de la base de datos para determinar cual respaldar, haciendo el respaldo tan caro como un full backup. Para habilitar block change tracking:
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING ;

El archivo de tracking se genera automáticamente en el área de flashback.

Respaldo de los respaldos
Si los respaldos se están haciendo en flashback recovery area, es conveniente respaldar también esta área que se encuentra en disco.
RMAN> backup recovery area ;

Esto respalda todos los archivos de recuperación en flashback recovery area: full backups, copies, incrementals, respaldos de controlfiles, y archivelogs. No se respaldan block change tracking files, controfiles actuales ni redo logs. El único destino válido para estos respaldos es cinta.

Políticas de retención
Las políticas de retención nos ayudan a determinar qué respaldos todavía son necesarios y cuáles ya no debido a que han quedado obsoletos por un respaldo más reciente. Hay dos tipos de políticas de retención y son mutuamente excluyentes: redundancy y recovery window.


Redundancy: determina cuantas copias de un archivo se necesitan antes de considerar una copia obsoleta. Si la redundancia es 1, cada que se respalde un archivo (copia), todas las copias anteriores son obsoletas. REDUNDANCY=1 es la política de retención por default.



Recovery Window: determina el tiempo que debe ser retenido un archivo antes de ser obsoleto.

Para cambiar la política de retención:
RMAN> configure retention policy to redundancy X ; ó RMAN> configure retention policy to recovery window of X days ;

Con nuestra política definida, podemos revisar los respaldos que ya son obsoletos:
RMAN> report obsolete ;

Y borrarlos si determinamos que ya no son necesarios:
RMAN> delete obsolete ; <-- Nos pregunta si realmente queremos borrar ó RMAN> delete force noprompt obsolete ; <-- Borra sin confirmación.

Oracle automáticamente borrará respaldos obsoletos si flashback recovery area comienza a tener problemas de espacio.

Configuración de cintas
RMAN no puede escribir directamente a cintas, por lo que es necesario configurar una librería que generalmente es proporcionada por el fabricante. En versiones anteriores de RMAN dicha librería se configuraba en $ORACLE_HOME/lib, sin embargo, en 10g Oracle recomienda que se especifique la librería directamente:

RMAN> configure channel device type sbt 2> parms= ‘SBT_LIBRARY=/path/librería’ ;

Reporte de operaciones
Podemos usar los comandos LIST y REPORT para generar reportes de actividades realizadas con RMAN:
list backup summary; list backup by datafile; list backup of database; list backup of archivelog all; list backup of controlfile; report obsolete ; report need backup ;

Scripts
Archivos de comandos: Un archivo de comandos es un archivo de texto conteniendo comandos RMAN, y que puede ser llamado de la siguiente forma:
RMAN> @/ruta/script.txt ó $ rman target / @/ruta/script.txt

Comando RUN:
El comando RUN agrupa comandos de RMAN para ser ejecutados como uno solo. Si uno de los comandos falla, el resto ya no es ejecutado.
RUN { BACKUP ARCHIVELOG ALL DELETE ALL INPUT;

}

BACKUP INCREMENTAL LEVEL 0 TAG mon_bkup DATABASE;

Casos de recuperación
Se puede ejecutar el comando RESTORE … VALIDATE para confirmar que una operación puede ser ejecutada correctamente. RMAN automáticamente decide qué archivos son necesarios para la recuperación y verifica que sean utilizables.
RMAN> restore database validate ;

Caso 1. Recuperación completa de la base de datos cuando se tiene el archivo de control y la base de datos está montada:
RMAN> restore database ; RMAN> recover database ;

Caso 2. Se tiene la situación del caso 1 pero se desea recuperar a un punto pasado en el tiempo:
RMAN> run {set until time = ’04-MAR-06 12:00:00’; 2> restore database ; 3> recover database ; 4> }

Caso 3. Recuperación de un datafile
Identificar el número de datafile: SQL> select file#, name from v$datafile ; Poner offline el datafile, ya sea desde SQL*Plus o desde RMAN: RMAN> sql ‘alter database datafile 8 offline’ ; Recuperar el datafile: RMAN> run {restore datafile 8 ; 2> recover datafile 8 ; 3> sql ‘alter database datafile 8 online’ ; 4> }

Caso 4. Recuperación de un tablespace.
RMAN> run {sql ‘alter tablespace users offline’ ; 2> restore tablespace users ;

3> recover tablespace users ; 4> sql ‘alter tablespace users online’ ; 5> }

El comando run es para correr las instrucciones en modo script, pero también pueden ser ejecutadas una por una:
RMAN> RMAN> RMAN> RMAN> sql ‘alter tablespace users offline’ ; restore tablespace users ; recover tablespace users ; sql ‘alter tablespace users online’ ;

Caso 5. Recuperación de bloques corruptos RMAN es la herramienta ideal para recuperación de bloques corruptos (ORA-1578). El error nos dice cual es el bloque corrupto:
ORA-1578: ORACLE data block corrupted (file # 7, block # 1234)

Mismos que también podemos consultar en la vista v$database_block_corruption. Para recuperar todos los bloques corruptos:
RMAN> blockrecover corruption list ;

O podemos recuperar bloques individuales:
RMAN> blockrecover datafile 7 block 1234[, datafile 10 block 3265, ...] ;

INACAP Analista Programador Taller de Base de Datos

RMAN Y SUS PROPIEDADES

Oracle 10g
Nombre Alumno (s): Rodrigo Guzmán Nombre Profesor: Sergio Figueroa Fecha: 20 de Julio 2011

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close