Oracle Live

22/12/2008

Recuperar Control Files

Filed under: Backup & Recovery — mogukiller @ 11:46 am

Tal vez los ficheros de control file sean los elementos mas criticos de una base de datos Oracle. Contienen todo el mapa fisico de la base de datos, direcciones fisicas de todos los ficheros incluyendo data files, redo logs, control files, indica si la base de datos se encuentra en ARCHIVELOG mode, tambien posee la iformacion de metadatos de los backup realizados con RMAN.

A continuación vamos a mostrar a través de ejemplos varias formas de recuperar los control file en caso de perdida de los mismos.

EJEMPLO 1

Utilizaremos RMAN, lo configuraremos para que realice de forma automatica el backup de los control files.

Si en el proceso de backup con RMAN no utilizamos el catalogo, es decir que estamos almacenando la informacion de backup en los control files debemos configurar el database identifier (DBID) que aparece cuando hacemos:

RAMN>connect target

1) Configuramos el RMAN para que meta en los backups los control files de forma automatica:

RMAN> connect sys/oracle@orcl
RMAN> configure controlfile autobackup on;

2) Realizamos un backup:

RMAN>run
{
	allocate channel c1 type disk;
	backup database;
	backup (archivelog all);
}

3) Simulamos la perdida de todos los control files:

c:\> rm *.ctl

4) Iniciamos la base de datos en nomount

SQL> starup nomount

5) Hacemos una recuperacion de la base de datos con RMAN.

RMAN > set dbid=XXXXXXXX;
RMAN> restore controlfile from autobackup;

6) Montamos la base de datos y hacemos un recovery:

RMAN> alter database mount;
RMAN> recover database;

7) Abrimos la base de datos con la opcion RESETLOGS.

RMAN> alter database open resetlogs;

EJEMPLO 2

Vamos a hacer un backup de un control file con la opcion

sql>ALTER DATABASE BACKUP CONTROLFILE TO TRACE

Al ejecutar este comando se genera en el directorio UDUMP un fichero que contiene el backup editable de un control file. Este backup posee dos secciones NORESETLOGS utilizada para operaciones completas de backup y la RESETLOGS para recuperaciones incompletas.

El siguiente paso el crear un fichero con la seccion que nos interese.

Vamos a simular la perdida y recuperacion de los control files:

1) Borramos todos los control files:

rm *.ctl
sqlplus / as sysdba
@backup_controlfile_noreset.ctl (NORESETLOGS porque vamos a recuperar hasta el momento del fallo)

Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Crea un blog o un sitio web gratuitos con WordPress.com.

A %d blogueros les gusta esto: