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!
Excelente, gracias
ResponderEliminar