Está en la página 1de 13

Isabel Terrero Gó mez

Recuperació n de instancias con RMAN

Recuperaci ó n de instancias dañadas usando RMAN

Isabel Terrero Gó mez

Isabel Terrero Gó mez

Herramientas de recuperaci ón :

­Ficheros redo­logs:

Recuperació n de instancias con RMAN

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 reutilizació n(modo arcrivelog).

­Ficheros de control:

Almacena el estado de la estructura física de la BD.

Contiene:

Nombre de la BD

Localizació n de los ficheros de datos y redo log

Nombre de los Tablespaces

N ú mero de secuencia de log actual

Log histó rico

Informació n de las copias de seguridad (backup)

Es necesario para montar, abrir y mantener la BD

Gu ían la recuperació n. Sin este fichero la BD no podr á ser montada y la recuperació n sería dificultosa.

Se recomienda como mínimo 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 informació n de la BD necesaria para reconstruir la BD a partir de un estado no utilizable de la misma.

Clasificació n. Tipos de Backups

Del SO En Fr ío En Caliente

F ísicos:

Ló gicos: Import/Export

La copia de seguridad puede convertirse en la ú nica oportunidad contra fallo de del sistema.

Isabel Terrero Gó mez

­Copias de seguridad del backup:

Recuperació n de instancias con RMAN

Backup F ísicos: Copian físicamente los datos de la BD.

Backup en frío: 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 ló gicos se hacen con la herramienta export que copia los datos y la definició n 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)

­ Catálogo de RMAN y las vistas dinámicas de la base de datos.

El catálogo de RMAN es donde se almacena este repositorio y aunque existe la posibilidad de almacenar parte de esta informació n en el control file de la base de datos de la cual se obtienen los backups (target database), esta opció n se recomienda ú nicamente para bases de datos muy pequeñ as. 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 dinámicas 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

Isabel Terrero Gó mez

Recuperació n de instancias con RMAN

Terrero G ó mez Recuperaci ó n de instancias con RMAN 2.­Si la bd esta arrancada

2.­Si la bd esta arrancada la paramos: (sql plus) shutdown immediate ; 3.­Montamos la bd:(sql plus) startup mount;

immediate ; 3.­Montamos la bd:(sql plus) startup mount; 4.­Despues ejecutamos lo siguiente: alter database

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;

Isabel Terrero Gó mez

Recuperació n de instancias con RMAN

Terrero G ó mez Recuperaci ó n de instancias con RMAN ya debe estar activado el

ya debe estar activado el modo archivelog, lo puedes comprobar en el enterprise manager:

archivelog, lo puedes comprobar en el enterprise manager: Si por algun caso concreto debemos desactivar el

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 automático

alter system archive log stop;

Isabel Terrero Gó mez

Recuperació n de instancias con RMAN

Terrero G ó mez Recuperaci ó n de instancias con RMAN Copias de seguridad 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/contraseñ a@Nombre_Base_Datos

2.­Vamos a realizar una copia de seguridad mediante un script:

A continuació n 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 parámetro 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 creació n del fichero.

Isabel Terrero Gó mez

Recuperació n de instancias con RMAN

Terrero G ó mez Recuperaci ó n de instancias con RMAN Con ese script tan sencillo

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:

comprobamos que realmente ha creado la copia de seguridad: C ó mo recuperar un fichero corrupto/da

Cómo recuperar un fichero corrupto/dañado/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/contraseñ a@base_datos as sysdba

Isabel Terrero Gó mez

Recuperació n 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:

dba_tablespaces; Con ese comando obtenemos lo siguiente: Para mostrar los ficheros de los tablespaces, la ubicaci

Para mostrar los ficheros de los tablespaces, la ubicació n y el estado dejecutaremos la sentencia SQL:

­ select file#, status, enabled, name from v$datafile;

ubicaci ó n y el estado dejecutaremos la sentencia SQL: ­ select file#, status, enabled, name

Isabel Terrero Gó mez

Recuperació n de instancias con RMAN

4.­ A continuació n voy a parar la BD para comenzar a simular una pérdida de un tablespace

users01.dbf

­ shutdown immediate;

5.­ Después elimino el tablespace manualmente

immediate; 5.­ Despu é s elimino el tablespace manualmente 6.­ Si intentamos inciar la base de

6.­ Si intentamos inciar la base de datos ahora con el comando:

­ startup;

Nos aparecerá el siguiente mensaje de error:

Isabel Terrero Gó mez

Recuperació n de instancias con RMAN

Terrero G ó mez Recuperaci ó n de instancias con RMAN Indica que falta un fichero

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 :

comandos: ­ RMAN Nos conectaremos a la base de datos : Para mostrar las copias de

Para mostrar las copias de seguridad actuales ejecutamos el comando:

Isabel Terrero Gó mez

­ list backup;

Recuperació n de instancias con RMAN

mez ­ list backup; Recuperaci ó n de instancias con RMAN En la imagen observamos que

En la imagen observamos que el tablespace que hemos borrado se encuentra en el archivo de control 4 de catálogo de recuperació n, 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 recuperació n del medio físico recuperació n del medio físico 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;

recover terminado en 14/02/10 Por ú ltimo abriremos la base de datos con el comando: ­

Isabel Terrero Gó mez

Recuperació n 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:

C:\> sqlplus /nolog SQL> conn sys/sys as sysdba SQL> startup nomount;

SQL> conn sys/sys as sysdba SQL> startup nomount; SQL> create pfile='c:\init.ora' from spfile;

SQL> create pfile='c:\init.ora' from spfile;

2.-La desconectamos y la volvemos a levantar y ya tenemos el fichero init.ora.

Cambiar de ubicación los ficheros de control

Antes de empezar, para cambiar el nombre o cambiar de ubicació n a los redo logs, debemos tener el privilegio ALTER DATABASE. Además, necesitamos privilegios del sistema operativo para copiar los archivos a la ubicació n 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 localizació n manualmente.

3.­ Levantamos la BD:

­ startup mount;

4.­ Utilizando la sentencia ALTER DATABASE con la cláusula RENAME FILE renombramos los

Isabel Terrero Gó mez

redo logs:

Recuperació n de instancias con RMAN

­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 reubicació n del redolog:

ALTER DATABASE OPEN;