Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Workshop
Ismael Almazlinos
Consultor Oracle
Workshop May 2013
Copyright 2013 ESCON Enterprises (Electrnica Servicios Continentales, S.A.)
01
Agenda
Oracle Recovery Manager
Caractersticas de RMAN.
Tipos de RESPALDO.
Comandos Bsicos de RMAN.
Recuperacin y Duplicacin.
Mejores Practicas
01
Qu es RMAN?
Herramienta nativa de Oracle para la administracin
de respaldos,restauracin y recuperacin de la base de
datos
Desarrollada en Pro*C con paquetes PL/SQL
enlazados dentro del Kernel de Oracle
Los registros de RMAN pueden ser almacenados en
un catalogo o en el archivo de control.
Almacn centralizado para albergar scripts y/o
secuencias de comandos comunes para tareas de
respaldo.
01
01
Caractersticas de RMAN
01
Caractersticas de RMAN
Integracin con muchos productos de administracin de cintas (MML Layer)
Veritas
NetBackup-Sun Solaris
TivoliStorageManager -IBM
EMC NetWorkerModule forOracle-EMC
OpenViewData Protector HP
OracleSecureBackup Oracle
Facilidad en la automatizacin de scripts para respaldo y recuperacin
createglobalscriptfull_backup
{ backup database plus archivelog; }
createglobal scriptfull_backupfromfile 'full_backup.txt';
run{ executeglobal scriptfull_backup; }
Deteccin de bloques corruptos en lnea y recuperacin a nivel de bloques
RMAN> blockrecover datafile 3 block 121;
01
Caractersticas de RMAN
Limitar el tiempo de ejecucin de los respaldos
RMAN> backup duration 3:00 tablespace system;
RMAN> backup duration 8:00 database plus archivelogs;
01
Tipos de Respaldo
01
Comandos Bsicos
Rman target / catalog rman/rman@rman
Entrar al utilitario de rman, este modo puede ser sin catalogo o con catalogo
Register database
registra un base de datos en el rman y le asigna un identificador nico.
Crosscheck (Archive, Backupss)
Sincroniza el contenido del catalogo con lo que realmente esta en la unidad de storage.
List Backups of database
Muestra los backups y el nivel de la base de datos target que esta conectada al catalogo
List backups of archivelog all
Lista todos los archive respaldados o en una secuencia determinadas.
Backup Database level (0,1)
Respalda la base de datos level 0 = full level 1 = incremental.
Backup archivelog
Respalda todos archive que no estan respaldados o con una secuencia determinada
from logseq=xxxx until logseq=yyyy.
Delete expired
Elimina los respaldos expirados del catalogo.
Resinc Catalog
Despus de un crosscheck es recomendable hacer un resync de la base de datos target
01
Recuperacin
Existen varios escenarios de recuperacin para una base de datos dependiendo de la causa
de la perdida o lo que se requiera recuperar (Base de Datos, Tablespaces, Datafiles, Control
Files). Lo importante es que poder determinar hasta que punto nos deseamos recuperar o
que tipo de objeto deseamos recuperar, existen 3 mtodos para recuperar un base de
datos.
UNTIL SCN ( Nmero de secuencia de cambio de la Base de Datos).
UNTIL LOG SEQ ( Nmero de la secuencia del ltimo archive aplicado).
UNTIL TIME (hasta una fecha y hora determinada).
Ejemplo:
Recover database until logseq xxxx;
Recover database until time dd/mm/yyyy hh24:mm:ss;
Recover database until SCN xxxxxx;
sql>alter system set database_cluster=false scope=spfile sid='*'; (RAC)
Nota: Para realizar recuperaciones incompletas yo recomiendo usar el mtodo documentado
en la nota 114199.1 de metalink y para cubrir todos los posibles casos de recuperacin
recomiendo la nota 94114.1.
01
Duplicacin
El Duplicate es un facilidad que proporciona rman para
duplicar completamente una base de datos desde las
Versiones 9i en adelante. Esto es muy til, si queremos
automatizar una replicacin de nuestra BD contra otra para
testing, reporting, etc.
duplicate target database to dupdb
01
Mejores Prcticas
1-Activar chequeo de bloque
SQL> alter system set db_block_checking = true scope=both;
Activar chequeo de bloques modificados(10g)
SQL> alter database enable block change tracking using file
'/tmp/rman_change_track.f' reuse;
2-Multiplexar los redo log y un destino de archive adicional
SQL> alter system set log_archive_dest_2='location=/new/location/archive2'
scope=both;
SQL> alter database add logfile member '/new/location/redo21.log' to group
1;
3-Usar el parmetro check logicalpara asegurar un buen backup
RMAN> backup check logical database;
4-Probar los backup, restaurar en ambientes de QA
RMAN> restore validate database;
5-Respaldar cada data file en un backup piece
RMAN> backup database filesperset 1;
01
Mejores Prcticas
6-Mantenimiento del catalogo de RMAN
SQL> alter system set control_file_record_keep_time=21 scope=both;
RMAN> delete obsolete;
RMAN> crosscheck backup;
RMAN> delete expired backup;
7-Respaldar siempre el controlfile
RMAN> configure controlfile autobackup on;
8-Usar un usuario del catalogo de RMAN por BD registrada
01
PREGUNTAS Y RESPUESTAS
16
17