Mostrando entradas con la etiqueta RMAN. Mostrar todas las entradas
Mostrando entradas con la etiqueta RMAN. Mostrar todas las entradas

martes, 15 de marzo de 2011

Restaurar una base de datos usando RMAN y el control file

Pues el día de hoy se perdieron datos en la empresa, por lo cual fue necesario restaurar la base de datos a un punto anterior.

NOTA:Se contaba con respaldos generados por RMAN usando el control file.

1.-Primero se accede a la Base de datos y se verifican en donde estan los data_files, tan fácil como:

SQL> select file_name from dba_data_files;

FILE_NAME
--------------------------------------------------------------------------------
/u031/data/oracle/OPROD/users01.dbf
/u031/data/oracle/OPROD/undotbs01.dbf
/u031/data/oracle/OPROD/sysaux01.dbf
/u031/data/oracle/OPROD/system01.dbf
/u030/data/oracle/OPROD/data01.dbf
/u030/data/oracle/OPROD/data02.dbf
/u030/data/oracle/OPROD/indexes01.dbf
/u030/data/oracle/OPROD/indexes02.dbf
/u031/data/oracle/OPROD/rman_ts.dbf


En este caso se tenian los data files en diferentes directorios,regularmente es uno mismo.

Lo recomendable es mover las data files a otro directorio antes de restaurar la base de datos por si las moscas de que no salga bien.

Si se va a mover de directorio o renombrar se debe de verificar el espacio disponible y el tamaño de la base de datos

SQL> select sum(bytes)/1024/1024/1024 from dba_data_files;

SUM(BYTES)/1024/1024/1024
-------------------------
3.76098633

oracle@schnitzler:~$ df -h
/dev/sdb6 74G 2.1G 68G 3% /u030
/dev/sda7 73G 8.3G 61G 12% /u031

Vemos que si hay suficiente espacio, asi que seguimos XD

Como comentamos antes, necesitamos mover los data files a otro directorio :

Primero damos de baja la base de datos
SQL> shutdown immediate;

ahora renombramos los directorios con mv

mv /u031/data/oracle/OPROD /u031/data/oracle/OPROD_bk
mv /u030/data/oracle/OPROD /u030/data/oracle/OPROD_bk

y creamos los directorios para que no tengas problemas

mkdir /u031/data/oracle/OPROD
mkdir /u030/data/oracle/OPROD

NOTA:estos estarán vacios

Listo, ahora nos conectamos a RMAN y restauramos usando el control file

rman target / nocatalog
RMAN> startup nomount;

RMAN> restore controlfile from '/u050/respaldos_rman/backups/03_10_2011/OPROD.ctl';

Bien, en este momento se creo en control file, apartir de el crearemos la base de datos

RMAN> alter database mount;
RMAN> restore database;

Aqui se tardará un ratin dependiendo del tamaño de la base de datos, una vez terminado continuamos:

RMAN> recover database until sequence 380;
RMAN> alter database open resetlogs;
Y listo!!!! si se verifican los directorios ahi se verán los data_files XD

Bien ahora damos de baja la base de datos desde RMAN:

RMAN> shutdown immediate;

Ahora nos conectamos a Oracle y lo iniciamos podrán ver que todo esta super mega bien.

Por último no olviden reiniciar el listener!