Está en la página 1de 13

Isabel Terrero Gmez Recuperacin de instancias con RMAN

Recuperacin de instancias
daadas usando RMAN
Isabel Terrero Gmez
SGBD 1
Isabel Terrero Gmez Recuperacin de instancias con RMAN
Herramientas de recuperacin :
-Ficheros redo-logs:
Ficheros de cambio de almacenamiento en la BD (Recovery).
Se almacenan los cambios realizados y no realizados, actualiza la bd a partir
del fallo:
Online redo log: proceso LGWR, cada registro contiene el valor
antiguo y el nuevo.
Archived redo log: almacenaje de archive de redo log antes de su
reutilizacin(modo arcrivelog).
-Ficheros de control:
Almacena el estado de la estructura fsica de la BD.
Contiene:
Nombre de la BD
Localizacin de los ficheros de datos y redo log
Nombre de los Tablespaces
Nmero de secuencia de log actual
Log histrico
Informacin de las copias de seguridad (backup)
Es necesario para montar, abrir y mantener la BD
Guan la recuperacin. Sin este fichero la BD no podr ser montada y la
recuperacin sera dificultosa.
Se recomienda como mnimo dos ficheros de control en discos diferentes.
-Rollback segments:
Almacenan las ltimas sentencias realizadas sobre la BD.
Almacena las transacciones que no se han validado.
Problemas con segmentos de Rollback.
-Backups de la BD:
Copias de Seguridad de los datos. Copias de la informacin de la BD
necesaria para reconstruir la BD a partir de un estado no utilizable de la
misma.
Del SO
Fsicos: En Fro
Clasificacin. Tipos de En Caliente
Backups
Lgicos: Import/Export
La copia de seguridad puede convertirse en la nica oportunidad contra
fallo de del sistema.
SGBD 2
Isabel Terrero Gmez Recuperacin de instancias con RMAN
-Copias de seguridad del backup:
Backup Fsicos: Copian fsicamente los datos de la BD.
Backup en fro: Hay que parar las BD en modo normal y copiar
losficheros sobre los que se asienta. Una vez realizada la copia
se puede volver a arrancar.
Backup en caliente: Se hace la copia mientras la BD est abierta y
funcionando en modo ARCHIVELOG. Consiste en copiar todos
los ficheros correspondientes a un tablespace determinado, para
todos los tablespace de la BD.
Backup del SO: Consume mucho tiempo y se hace inaccesible al
sistema mientras se lleva a cabo. Aprovecha el backup del SO
para hacer el de la BD.
Los backups lgicos se hacen con la herramienta export que copia los datos
y la definicin de la BD en un fichero en un formato Oracle. Copian el
contenido de la BD pero sin almacenar de los datos.
Esta utilidad permiten al administrador de la base de copias de
determinados objetos de la BD, as como restaurarlos moverlos de
una BD a otra.
Desde archivos de comandos y OEM/utilidades:
Export (EXP)
Data Pump Export (EXPDP). (nuevo de Oracle10g)
- Catlogo de RMAN y las vistas dinmicas de la base de datos.
El catlogo de RMAN es donde se almacena este repositorio y aunque existe la posibilidad de
almacenar parte de esta informacin en el control file de la base de datos de la cual se obtienen los
backups (target database), esta opcin se recomienda nicamente para bases de datos muy
pequeas. De igual forma al utilizar al control file para almacenar el repositorio de RMAN ciertas
opciones estan restringidas, como por ejemplo el almacenamiento de scripts para automatizar
procesos de backups. Las vistas dinmicas registran el flujo de la actividad de la bd.
Activar archive log :
1.-Modificamos el init.ora
log_archive_start=true
log_archive_dest_1=location=/database/archivelog/bbdd REOPEN=5
log_archive_format = arch_%t_%s.arc
SGBD 3
Isabel Terrero Gmez Recuperacin de instancias con RMAN
2.-Si la bd esta arrancada la paramos: (sql plus)
shutdown immediate ;
3.-Montamos la bd:(sql plus)
startup mount;
4.-Despues ejecutamos lo siguiente:
alter database archivelog;
5.-Despues abrimos la bd y activamos el archivado automatico
alter database open;
alter system archive log start;
SGBD 4
Isabel Terrero Gmez Recuperacin de instancias con RMAN
ya debe estar activado el modo archivelog, lo puedes comprobar en el enterprise manager:
Si por algun caso concreto debemos desactivar el modo archivelog seria de la siguiente forma :
- Nos conectamos a la base de datos y la paramos, despues de pararla la montamos
shutdown immediate
startup mount
- Desactivamos el modo archivelog
alter database noarchivelog
- Abrimos la base de datos
alter database open
- Desactivamos el archivado automtico
alter system archive log stop;
SGBD 5
Isabel Terrero Gmez Recuperacin de instancias con RMAN
Copias de seguridad con rman:
1.- Nos conectamos a rman mediante la ventana de comandos de windows poniendo el comando
rman y nos conectamos como connect target nombre_usuario/contrasea@Nombre_Base_Datos
2.-Vamos a realizar una copia de seguridad mediante un script:
A continuacin ejecutaremos el siguiente script, tal y como os explicamos:
run {
allocate channel C1 device type DISK format 'c:/temp/csbd_%d_%u_%t.bak';
backup database include current controlfile plus archivelog delete all input;
}
"C:/temp" ser la carpeta de destino de la copia (debe existir previamente).
%d: le indicamos con este parmetro que nos incluya en el nombre del fichero el nombre de
la base de datos.
%u: le indicamos que incluya el identificador de la base de datos.
%t: le indicamos que incluya la fecha y hora de creacin del fichero.
SGBD 6
Isabel Terrero Gmez Recuperacin de instancias con RMAN
Con ese script tan sencillo iniciaremos una copia de seguridad en el sitio indicado anteriormente,
una vez haya finalizado comprobamos que realmente ha creado la copia de seguridad:
Cmo recuperar un fichero corrupto/daado/eliminado de un
tablespace de Oracle:
1.- Vamos a comprobar los tablespaces y el estado en el que se encuentran.Lo ejecutaremos
mediante la interfaz de comandos de windows:
-sqlplus /nolog
2.- Nos conectamos a Oracle utilizando el usuario del sistema operativo :
-connect /as sysdba
Tambien tenemos la opcion de conectarnos con un usuario concreto a una base de datos concreta :
-connect usuario/contrasea@base_datos as sysdba
SGBD 7
Isabel Terrero Gmez Recuperacin de instancias con RMAN
3.- Para mostrar los tablespaces y el estado ejecutamos la siguiente sentecia:
-select tablespace_name, status from dba_tablespaces;
Con ese comando obtenemos lo siguiente:
Para mostrar los ficheros de los tablespaces, la ubicacin y el estado dejecutaremos la sentencia
SQL:
- select file#, status, enabled, name from v$datafile;
SGBD 8
Isabel Terrero Gmez Recuperacin de instancias con RMAN
4.- A continuacin voy a parar la BD para comenzar a simular una prdida de un tablespace
users01.dbf
- shutdown immediate;
5.- Despus elimino el tablespace manualmente
6.- Si intentamos inciar la base de datos ahora con el comando:
- startup;
Nos aparecer el siguiente mensaje de error:
SGBD 9
Isabel Terrero Gmez Recuperacin de instancias con RMAN
Indica que falta un fichero de datos y que la base de datos no se ha podido abrir. Para comprobar el
estado de la base de datos ejecutaremos:
- select status from v$instance;
Nos devolver:
STATUS
------------
MOUNTED
Ahora procederemos a recuperar el tablespace borrado mediante RMAN. Para ello abriremos una
ventana de comandos de windows y ejecutamos los siguientes comandos:
- RMAN
Nos conectaremos a la base de datos :
Para mostrar las copias de seguridad actuales ejecutamos el comando:
SGBD 10
Isabel Terrero Gmez Recuperacin de instancias con RMAN
- list backup;
En la imagen observamos que el tablespace que hemos borrado se encuentra en el archivo de
control 4 de catlogo de recuperacin, entonces ejecutamos el siguiente comando:
- recover datafile 4;
El resultado de este comando ser:
Iniciando recover en 14/02/10
usando el canal ORA_DISK_1
iniciando la recuperacin del medio fsico
recuperacin del medio fsico terminada, tiempo transcurrido: 00:00:01
recover terminado en 14/02/10
Por ltimo abriremos la base de datos con el comando:
- alter database open;
SGBD 11
Isabel Terrero Gmez Recuperacin de instancias con RMAN
Recuperar el fichero init.ora:
Buscamos una copia del init.ora que tengamos, si no la tenemos podemos crearlo de la siguiente
manera:
1.-Nos conectamos al SQLPLUS desde la ventana de comandos de windows:
:!" sqlplus #nolog
SQL" conn s$s#s$s as s$sd%a
SQL" startup nomount&
SQL" create p'ile()c:!init.ora) 'rom sp'ile&
*.-La desconectamos $ la volvemos a levantar $ $a tenemos el 'ic+ero init.ora.
Cambiar de ubicacin los ficheros de control
Antes de empezar, para cambiar el nombre o cambiar de ubicacin a los redo logs, debemos tener el
privilegio ALTER DATABASE. Adems, necesitamos privilegios del sistema operativo para copiar
los archivos a la ubicacin deseada y privilegios para abrir y respaldar la base de datos.
1.- Desconectamos la base de datos:
-shutdown
2.- Copiar los redo redo log files a la nueva localizacin manualmente.
3.- Levantamos la BD:
- startup mount;
4.- Utilizando la sentencia ALTER DATABASE con la clusula RENAME FILE renombramos los
SGBD 12
Isabel Terrero Gmez Recuperacin de instancias con RMAN
redo logs:
-ALTER DATABASE
RENAME FILE /origen/log1a.rdo, /origen/log2a.rdo
TO /destino/log1c.rdo, /destino/log2c.rdo;
5.- Por ltimo abrimos la base de datos y ya esta finalizado el proceso de reubicacin del redolog:
ALTER DATABASE OPEN;
SGBD 13

También podría gustarte