Beruflich Dokumente
Kultur Dokumente
M Carmen Gabarrn
Flashback
Flashback
La operacin de flashback de base de datos:
Flashback Query est implementado usando las estructuras de undo (rollback) que Oracle utiliza habitualmente para el soporte transaccional
Flashback
Flashback. Tipos
La tecnologa de flashback permite consultar versiones anteriores de objetos de esquema, consultar datos histricos o realizar anlisis de cambios. Cada transaccin genera de forma lgica una nueva versin de la base de datos. Con la tecnologa de flashback, puede navegar por estas versiones para buscar un error y su causa:
1. Consulta de flashback
o
Ver todas las versiones de una fila entre dos horas o dos SCN.
Flashback
Flashback. Tipos
4. Flashback de borrado
Restaura las tablas borradas por accidente.
5. Flashback de tabla
Recupera una tabla a un punto en el tiempo pasado sin tener que restaurar una copia de seguridad.
Flashback
Flashback. Parmetros
UNDO_MANAGEMENT
AUTO o NULL, permite la gestin automtica de deshacer. (Valor predeterminado). MANUAL, modo de gestin manual.
UNDO_TABLESPACE
Especifica el nombre de un tablespaces undo. Se utiliza nicamente cuando la base de datos tiene mltiples tablespaces de deshacer y desea seleccionar uno. Opcional, y es vlido nicamente en automtico deshacer modo de gestin. Especifica cuanto tiempo (en segundos) las transacciones confirmadas deben ser retenidas en los segmentos de undo antes de ser sobrescritas. Por defecto 900 segundos, 15 minutos).
UNDO_RETENTION
Flashback
Flashback. Parmetros
select name, value from v$parameter where name like 'undo%';
UNDO_MANAGEMENT debe estar en modo AUTO para usar las prestaciones flashback
Flashback
1. Consulta de flashback
Consultar todos los datos en un punto en el tiempo determinado.
2. 3. 4. 5. 6.
Consulta de flashback de versiones Consulta de flashback de transacciones Flashback de borrado Flashback de tabla Flashback de base de datos
Flashback
1. Consulta de Flashback.
A la orden SELECT se aade la clusula AS OF.
Flashback
1. Consulta de Flashback.
Al utilizar la clusula AS OF de la sentencia SELECT, puede especificar la fecha y hora para el que desea visualizar los datos. Resulta til para analizar una discrepancia en los datos. Nota: A la clusula AS OF le pueden seguir TIMESTAMP o SCN.
Flashback
Devolvemos el salario del empleado 200 al que tena en la fecha y hora indicas.
Flashback
1. Consulta de Flashback.
Aunque con la consulta de flashback slo podemos ver los datos que haba es posible recuperar estos datos usando un cursor.
DECLARE cursor c_flash IS select * from emp as of timestamp to_date('29/01/13 07:23', 'dd/mm/yy HH:MI'); r_emp emp%ROWTYPE; BEGIN OPEN c_flash; LOOP fetch c_flash into r_emp; exit when c_flash%notfound; insert into emp values (r_emp.empno, r_emp.ename, r_emp.job, r_emp.mgr, r_emp.hiredate, r_emp.sal, r_emp.comm, r_emp.deptno); END LOOP; CLOSE c_flash; commit; END; /
Flashback
1. Consulta de Flashback.
FLASHBACK ANY TABLE (permite ejecutarla sobre cualquier tabla, vista o vista materializada en cualquier esquema).
Flashback
3. 4. 5. 6.
Consulta de flashback de transacciones Flashback de borrado Flashback de tabla Flashback de base de datos
Flashback
VERSIONS permite recuperar mltiples versiones confirmadas de las filas entre dos SCN o momentos en el tiempo. MINVALUE y MAXVALUE se refieren a los datos ms antiguo y ms reciente respectivamente.
Flashback
Flashback
Puede realizar consultas a partir de un intervalo de tiempo o un rango de nmeros de cambio del sistema (SCN).
Las filas devueltas por la consulta de flashback de versiones representan un historial de cambios de las filas entre transacciones.
Flashback
Slo recupera las incidencias confirmadas de las filas. Las versiones no confirmadas de las filas de una transaccin no se muestran. Las filas devueltas tambin incluyen las versiones suprimidas y las posteriormente insertadas en dichas filas. Puede utilizase para recuperar el historial de filas. Ofrece una forma de auditar las filas de una tabla y recuperar informacin sobre las transacciones que han afectado a las filas.
Flashback
Flashback
La clusula VERSIONS no se puede utilizar para realizar consultas en: Tablas externas Tablas temporales Tablas fijas Vistas
La clusula VERSIONS no puede abarcar comandos DDL. Si se modific la estructura de la tabla, la consulta deja de producir filas cuando alcanza la hora del pasado en que se cambi la estructura.
Flashback
4. Flashback de borrado
5. Flashback de tabla
6. Flashback de base de datos
Flashback
La consulta de flashback de transacciones se utiliza para ver los cambios realizados en la base de datos a nivel de transaccin. Permite diagnosticar los problemas de la base de datos y realizar anlisis y auditoras de transacciones. La vista flashback_transaction_query almacena las sentencias SQL necesarias para deshacer los cambios realizados por una transaccin concreta o durante un perodo de tiempo especfico.
Flashback
XID Identificador de transaccin START_SCN (NUMBER) Nmero SCN de inicio de la transaccin (system change number ) START_TIMESTAMP (DATE) Momento de inicio de la transaccin COMMIT_SCN (NUMBER) SCN de validacin de la transaccin (nulo para aquellas que estn activas) COMMIT_TIMESTAMP (DATE) Tiempo de validacin de la transaccin (nulo para aquellas que estn activas) LOGON_USER Usuario conectado
Flashback
UNDO_CHANGE# Undo SCN (1 o superior) OPERATION Operacin realizada (D Delete, I Insert, U Update o B desconocida) TABLE_NAME Nombre de la tabla a la que se le aplica la operacin DML TABLE_OWNER Propietario de la tabla ROW_ID Rowid de la fila modificada UNDO_SQL SQL para deshacer la operacin DML indicada por OPERATION
Flashback
Flashback
Identificamos la transaccin
Flashback