Recuperacion de una tabla a partir de un backup de RMAN
Esta característica de DB 12c me llamó mucho la atención a mí personalmente. Si bien se podía realizar en versiones anteriores, en 12c se siguen los mismos pasos, pero esta vez RMAN se hace cargo de todo.
Estos son los pasos, desde cómo poner la base de datos en modo archive hasta la recuperación de la tabla:
- Conectarse a la base de datos como sysdba
- Verificar si la base de datos está en modo Archive
- Si no está en modo archive, bajar la base de datos, subirla en modo mount y ponerla en modo archivelog.
- Conectarse a RMAN
- Generar un backup de la base de datos:
- En una ventana conectarse como sys o system
- En otra ventana conectarse a la base de datos con el usuario y realizar una transacción u operación que afecte una tabla
- Y volver a revisar el timestamp en la ventana de system
- Prerrequisitos para la recuperación:
- Base de datos en modo archive
- Contar con el backup del que se quiere restaurar los datos
- Tener espacio para restaurar system, sysaux, temporal, undo y el tablespace donde estaba la tabla, se necesita este espacio de manera temporal, los archivos se borran automáticamente cuando se termina la restauración
- Tener espacio para recuperar la tabla en la base de datos
- En el caso de generar export , tener espacio para este archivo
- Tener el punto en el tiempo en que se quiere recueprar una tabla
NOTA: También se pueden recuperar particiones - Conectarse a RMAN, y recuperar al punto previo al update
- Notar que se hace el procedimiento, verificar el directorio de destino de base de datos auxiliar
- Otra forma de restaurar la tabla es generando un export de la tabla
- Notar que se hace el procedimiento, verificar directorio del destino de base de datos auxiliar, y al final del proceso que el export se haya generado Pasos ejecutados:
- Crea base de datos auxiliar
- Recupera los datafiles de system, sysaux, undo hasta el punto en el tiempo que se requiere
- Abre la base de datos auxiliar en modo lectura e identfica el tablespace donde está la tabla o las particiones y lo restaura y recupera
- Abre la base de datos
- Exporta los datos
- Importa los datos
- También podemos hacer recuperación en el tiempo:
- No se restauran tablas de SYS
- Tablas y particiones en tablespaces SYSTEM Y SYSAUX no se recuperan
- Las particiones de una tabla se pueden recuperar sólo para bases de datos desde 11g R1
- Tablas con contraints not null no se pueden recuperar con la opción de REMAP
- Si la tabla tienen índices solo se recupera si los tablespaces donde están los índices están incluidos en el backup
- Borrar la base de datos auxiliar y sus datafiles.
sqlplus / as sysdba
archive log list
shutdown immediate -- a los startup mount --just one node3 alter database archivelog; alter database open archive log list exit
rman target=/
Backup database
select timestamp_to_scn(sysdate) from v$database;
RECOVER TABLE 'SCOTT'.'EMP' UNTIL SCN 1759715 AUXILIARY DESTINATION '/u01/aux' REMAP TABLE 'SCOTT'.'EMP':'REC_EMP';
RECOVER TABLE 'SCOTT'.'EMP' UNTIL SCN 1759715 AUXILIARY DESTINATION '/u01/aux' DATAPUMP DESTINATION '/u01/exp' DUMP FILE 'scott_emp_prev.dmp' NOTABLEIMPORT;
RECOVER TABLE 'SCOTT'.'EMP' UNTIL TIME to_date('08/17/2014 21:01:15','mm/dd/yyyy hh24:mi:ss')" AUXILIARY DESTINATION '/u01/aux' REMAP TABLE 'SCOTT'.'EMP':'REC_EMP';Limitaciones:
Más información en :
https://docs.oracle.com/database/121/BRADV/rcmresind.htm#BRADV686
No hay comentarios:
Publicar un comentario