Recuperación de datos en oracle

Tengo funcionando un job en una base de datos oracle, el cual realiza una copia de seguridad junto con el controlfile.
Mi duda es como puedo recuperar datos que se hayan perdido o se hayan borrado de las tablas, o una tabla, o un procedimiento, ¿un usuario o un esquema?
He intentado esto y no me funciona::
1.- En funcionamiento normal de la base de datos, borro una tabla por de un esquema de un usuario, e incluso he borrado el usuario y su esquema.
2.- Cierro la base de datos.
3.- Monto la base de datos.
4.- Ejecuto el asistente de recuperación.
Una vez terminado el asistente me deja la base de datos tal y como esta, no me recupera lo que haya borrado.

1 respuesta

Respuesta
1
Hay varias dudas:
1.- ¿El job que es lo que respalda?.
2.- ¿La Base de Datos es ARCHIVEDLOG?
Lo mejor en estos casos es tener la BD en ARCHIVEDLOG, así podrás recuperar la información justo antes del borrado.
De todas formar en estos casos tendrás que recuperar la BD y aplicar los archives hasta el momento antes del error o borrado.
Existe otra posibilidad opero esa es con Oracle 9i o 10G, los cuales te ofrecen Base de Datos del Tiempo.
La base de datos es de oracle 9i, funcionando en modo archivelog, el job realiza respaldos de la base de datos cada cierto tiempo en el modo archivelog.
Me guarda un único archivelog de la base de datos.
Puedes explicarme bien como es que funciona el modo archivelog, porque según lo que he leído en ese modo unicamente se respalda la estructura de la base de datos más los datos en si.
Y podrías explicarme también como puedo hacer el tipo de respaldo que te menciono, tanto esquemas, usuarios, tablas, datos de tablas, por favor. Es urgente¡
Los respaldos Archived log, son simplemente. Un respaldo de todas las transacciones que se realizan en la BD. Los archivelog son respaldos en caliente de los REDOLOG files. Para contar con ellos debes hacer con cierta frecuencia un respaldo en frio de la BD. Es decir, cada cierto tiempo debes bajar la BD y hacer respaldo FULL. A partir de ese momento todos los archived que se generen deben ser cargados a cinta para posteriores recuperaciones; a menos que tengas espacio en disco suficiente para guardarlos.
Cuando necesites volver atrás, entonces debes montar la BD del último backup FULL offline e ir aplicando los archived hasta llegar un instante antes del evento que te causa problemas.
Disculpa mi insistencia pero realmente soy novato en oracle, se como hacer los respaldos en frio de la base de datos y como volver a cargarlos, lo que no se es como ir aplicando los archived log, y como se que es lo que contiene cada archived log. te pongo este ejemplo:
1.- Hago un respaldo de mi base de datos en frio.
2.- En una tabla llamada empleados tengo 5000 registros.
3.- Se produce un error por parte de un usuario y borra 4000
4.- Subo mi respaldo que del paso 1.
5.-
a)¿Cómo subo los archive log?
b)¿Cómo se en que archive log quedo la instrucción de borrado?
Gracias por tu ayuda, es lo ultimo que necesito.
Para este ejemplo. Debes saber un aproximado de la hora en la cual el usuario hizo el borrado. Luego te vas al alert de la BD y observas las trazas de los switch de los redologs y tomas el numero de secuencia de REDOLOG que se generó justo antes de la hora en que el usuario borro la data.
Así sabes hasta cual secuencia debes recuperar. Luego montas tu ultimo respaldo y aplicas los archives hasta esa secuencia.
Como se aplican los archives.
1.- Haces restore de la BD del ultimo backup en frio.
2.- Ejecutas el SVRMGRL.
3.- Subes la BD en modo MOUNT.
4.- Ejecutas la instrucción:
recover database using backup controlfile until cancel.
Cada cierto tiempo la BD te va a preguntar por el archive a aplicar y te muestra el archivo con su nombre, tu le debes undicar si aceptas o no. Tu le vas indicando cada archivo hasta que llegas al que tiene la secuencia que viste en el alert. En ese momento lo aplicas y cuando te pregunte por el siguiente escribe CANCEL. Listo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas