Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Administración de bases de datos
Auxiliatura
Univ. Luis Alex Chura Quispe
Ingenieria de sistemas
Universidad publica de El Alto
Flashback en Oracle
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 1 / 31
Avance del día de hoy
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones Introduccion
Flashback
Ejercicios
Dudas y aclaraciones
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 2 / 31
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Introduccion
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 3 / 31
Flashback
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones Flashback: es una característica de Oracle Database que permite recuperar de
manera rápida y sencilla la base de datos a un estado anterior. Con Flashback, se
pueden recuperar tablas o bases de datos enteras a un estado anterior sin
necesidad de realizar una restauración completa de la copia de seguridad.
La recuperación con Flashback es posible gracias a que Oracle mantiene un
registro de cambios (undo) en la base de datos. Este registro de cambios se utiliza
para deshacer los cambios realizados en una transacción o en una tabla específica.
Al utilizar Flashback, se puede revertir la base de datos a un punto anterior en el
tiempo sin tener que restaurar toda la base de datos desde una copia de seguridad.
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 4 / 31
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Flashback
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 5 / 31
Parametros de Flashback
Introduccion
Flashback
Los parámetros de Oracle Flashback son variables de configuración que permiten a
Ejercicios
los administradores de bases de datos personalizar el comportamiento de esta
tecnología. Algunos de los parámetros más comunes son:
Dudas y
aclaraciones
DB_FLASHBACK_RETENTION_TARGET Este parámetro controla la
cantidad de tiempo que los datos de flashback permanecen en la base de
datos. Si se establece en 24 horas, por ejemplo, los datos de flashback se
mantendrán en la base de datos durante un máximo de 24 horas antes de que
se eliminen.
DB_FLASHBACK_LOG_RETENTION_TARGET Este parámetro controla
la cantidad de tiempo que se mantienen los registros de flashback en la base
de datos. Si se establece en 12 horas, por ejemplo, los registros de flashback
se mantendrán en la base de datos durante un máximo de 12 horas antes de
que se eliminen.
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 6 / 31
Parametros de Flashback
Introduccion
Flashback
DB_FLASHBACK_CACHE_SIZE Este parámetro controla el tamaño
Ejercicios
Dudas y
máximo del caché de flashback en la memoria de la base de datos. Si se
aclaraciones establece en 1 GB, por ejemplo, el caché de flashback no ocupará más de 1
GB de memoria en la base de datos.
DB_FLASHBACK_TRANSACTION_RETENTION Este parámetro controla
la cantidad de tiempo que las transacciones de flashback se mantienen en la
base de datos. Si se establece en 30 minutos, por ejemplo, las transacciones
de flashback se mantendrán en la base de datos durante un máximo de 30
minutos antes de que se eliminen.
DB_FLASHBACK_KEEP_BUFFERS Este parámetro controla si los datos
de flashback deben mantenerse en caché en la memoria de la base de datos.
Si se establece en TRUE, por ejemplo, los datos de flashback se mantendrán
en caché en la memoria de la base de datos.
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 7 / 31
Tablespace UNDO
Introduccion
Flashback
Ejercicios
Dudas y El tablespace undo es fundamental para el funcionamiento del mecanismo de
aclaraciones
flashback en Oracle, ya que proporciona la información necesaria para revertir una
base de datos a un momento anterior en el tiempo.
El mecanismo de flashback en Oracle permite a los usuarios recuperar una base de
datos a un estado anterior sin necesidad de restaurar una copia de seguridad. En
lugar de eso, el mecanismo de flashback utiliza la información almacenada en el
tablespace undo para deshacer los cambios realizados en la base de datos desde el
momento en que se desea retroceder. De esta manera, se puede recuperar la base
de datos a un estado anterior sin perder los cambios realizados desde ese
momento en adelante.
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 8 / 31
Tablespace UNDO
Introduccion
Flashback
Ejercicios
Dudas y Cuando se activa el mecanismo de flashback en una base de datos Oracle, se
asigna un área específica del tablespace undo para almacenar la información de
aclaraciones
flashback. Esta área se conoce como el Flashback Area. La configuración del
tamaño de la Flashback Area y del tablespace undo en general es crítica para
garantizar que se pueda realizar un flashback de manera efectiva y para mantener
un rendimiento adecuado en la base de datos.
Además, es importante tener en cuenta que el mecanismo de flashback solo puede
revertir los cambios realizados en la base de datos desde el último checkpoint. Por
lo tanto, es recomendable configurar el tablespace undo para que mantenga
suficiente información para permitir un flashback a un punto en el tiempo deseado.
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 9 / 31
Consulta Tablespace UNDO
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Para consultar la ubicacion de nuestro Tablespace UNDOTBS1 ejecutamos la
siguiente sentencia:
SELECT f i l e _ n a m e
FROM DBA_DATA_FILES
WHERE t a b l e s p a c e _ n a m e = ’UNDOTBS1 ’ ;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 10 / 31
Consulta Tablespace UNDO
Introduccion
Asi tambien para saber el tamaño de nuestro tablespace UNDOTBS1 ejecutamos
Flashback
Ejercicios
la siguiente sentencia:
Dudas y SELECT t a b l e s p a c e _ n a m e ,
aclaraciones
r o u n d (SUM( b y t e s ) / 1 0 2 4 / 1 0 2 4 , 2 ) AS " S i z e ␣ (MB) " ,
r o u n d (SUM( m a xb y t es ) / 1 0 2 4 / 1 0 2 4 , 2 ) AS " M a x s i z e ␣ (MB) "
FROM d b a _ d a t a _ f i l e s
WHERE t a b l e s p a c e _ n a m e = ’UNDOTBS1 ’
GROUP BY t a b l e s p a c e _ n a m e ;
En GB:
SELECT t a b l e s p a c e _ n a m e ,
r o u n d (SUM( b y t e s ) / 1 0 2 4 / 1 0 2 4 / 1 0 2 4 , 2 ) AS " S i z e ␣ (GB) " ,
r o u n d (SUM( m a xb y t es ) / 1 0 2 4 / 1 0 2 4 / 1 0 2 4 , 2 ) AS " M a x s i z e ␣ (GB
FROM d b a _ d a t a _ f i l e s
WHERE t a b l e s p a c e _ n a m e = ’UNDOTBS1 ’
GROUP BY t a b l e s p a c e _ n a m e ;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 11 / 31
Creacion Tablespace UNDO
Introduccion
Flashback
Ejercicios
Dudas y Para poder crear nuestro propio tablespace UNDO, debemos ejecutar la siguiente
aclaraciones
sentencia, a continuacion la analizamos:
CREATE UNDO TABLESPACE UNDOTBS
DATAFILE ’RUTA␣DEL␣ARCHIVO/ u n d o t b s 0 2 . d b f ’ SIZE 2G
AUTOEXTEND ON
NEXT 1G
RETENTION GUARANTEE,
SEGMENT SPACE MANAGEMENT AUTO,
MAXSIZE 4G ;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 12 / 31
Creacion Tablespace UNDO
Introduccion
Flashback CREATE UNDO TABLESPACE UNDOTBS2: es la sintaxis básica para crear
Ejercicios un tablespace UNDO llamado UNDOTBS2.
DATAFILE ’/u01/app/oracle/oradata/dbname/undotbs02.dbf’: especifica el
Dudas y
aclaraciones
archivo de datos donde se almacenará el tablespace UNDO.
SIZE 2G: especifica el tamaño inicial del archivo de datos en gigabytes (GB).
AUTOEXTEND ON NEXT 1G: indica que el archivo de datos se extenderá
automáticamente en incrementos de 1 GB cuando se necesite más espacio.
RETENTION GUARANTEE: garantiza que los datos del tablespace UNDO se
mantendrán en el tablespace durante el tiempo especificado en la retención.
SEGMENT SPACE MANAGEMENT AUTO: especifica que la administración
de espacio del segmento se gestionará automáticamente.
MAXSIZE 4G: especifica el tamaño máximo que puede alcanzar el tablespace
UNDO en gigabytes (GB).
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 13 / 31
Cambio de Tablespace UNDO
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Para poder cambiar nuestro tablespace UNDOTBS1 por otro que vayamos a crear
se debe ejecutar la siguiente sentecia:
ALTER SYSTEM SET UNDO_TABLESPACE = TBSUNDO
SCOPE = ( MODIFICABLE ) ;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 14 / 31
Creacion Tablespace UNDO
Introduccion
Flashback
Ejercicios
Dudas y Donde, SCOPE es modificable a 3 tipos:
aclaraciones
NONE Cambia el valor de un parámetro solo para la duración de la sentencia
ALTER SYSTEM. El cambio se aplica inmediatamente, pero no se almacena
en la memoria, ni en el archivo de inicialización, ni en la base de datos. Es útil
para hacer cambios temporales que no se quieren guardar en ninguna parte.
BOTH Cambia el valor de un parámetro tanto para la sesión actual como
para el archivo de inicialización. El cambio se aplica inmediatamente y
también se almacena en el archivo de inicialización. El valor del parámetro
persistirá incluso después de reiniciar la base de datos.
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 15 / 31
Creacion Tablespace UNDO
Introduccion
Flashback
Ejercicios
Dudas y Donde, SCOPE es modificable a 3 tipos:
aclaraciones
SPFILE Cambia el valor de un parámetro solo para el archivo de inicialización.
El cambio se almacena en el archivo de inicialización, pero no se aplica hasta
que se reinicia la base de datos. Una vez reiniciada la base de datos, el valor
del parámetro permanecerá igual hasta que se cambie de nuevo.
MEMORY Cambia el valor de un parámetro solo para la sesión actual. El
cambio se aplica inmediatamente y solo se mantiene en memoria mientras
dure la sesión actual. Si se inicia una nueva sesión, el parámetro volverá a su
valor original.
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 16 / 31
Verificacion de tiempo de retencion del TBSUNDO
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Para poder ver cuanto tiempo de retencion nos ofrece nuestro TBSUNDO1,
ejecutamos la siguiente sentencia:
SELECT ∗
FROM V$PARAMETER
WHERE NAME = ’ u n d o _ r e t e n t i o n ’ ;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 17 / 31
Verificacion de tiempo de retencion del TBSUNDO
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Para cambiar el tiempo de retencion por defecto (15 min), ejecutamos la siguiente
sentencia:
ALTER SYSTEM SET UNDO_RETENTION = 2592000
SCOPE = NONE;
Con esta sentencia estamos haciendo que el tiempo de retencion de nuestro
TBSUNDO pase de 15 min a 30 dias.
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 18 / 31
Papelera de reciclaje
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Para verificar si nuestra papelera de reciclaje esta habilitada podemos consultar el
parametro "RECYCLEBIN", para lo cual ejecutamos:
−− DESDE SQL PLUS
SHOW PARAMETER RECYCLEBIN ;
En caso de tener la papelera deshabilitada, ejecutamos:
ALTER SESSION SET RECYCLEBIN=ON;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 19 / 31
Uso de nuestra papelera de reciclaje
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Para poder hacer uso de nuestra papelera, crearemos una tabla con los siguientes
parametros:
Nombre de la tabla: LACQ_datos
Campos: ID, nombres, apellidos, CI
Insertaremos nuestros datos.
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 20 / 31
Uso de nuestra papelera de reciclaje
Introduccion
Creamos nuestra tabla:
Flashback
Ejercicios −− i n i c i a m o s con l a c r e a c i o n de una s e c u e n c i a
Dudas y CREATE SEQUENCE l a c q _ i d _ s e q
aclaraciones
START WITH 1 INCREMENT BY 1 ;
−− c r e a m o s l a t a b l a
CREATE TABLE LACQ_DATOS (
ID NUMBER DEFAULT l a c q _ i d _ s e q . NEXTVAL PRIMARY KEY,
NOMBRE VARCHAR2( 1 5 0 ) ,
APELLIDOS VARCHAR2( 1 5 0 ) ,
CI NUMBER
);
Insertamos nuestros datos:
INSERT INTO LACQ_DATOS ( nombre , a p e l l i d o s , CI )
VALUES ( ’ L u i s ␣ A l e x ’ , ’ Chura ␣ Q u i s p e ’ , 9 2 4 6 2 3 2 ) ;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 21 / 31
Uso de nuestra papelera de reciclaje
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Ahora eliminamos nuestra tabla:
DROP TABLE LACQ_DATOS ;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 22 / 31
Uso de nuestra papelera de reciclaje
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Ahora eliminamos nuestra tabla:
DROP TABLE LACQ_DATOS ;
Verificamos en nuestra papelera de reciclaje:
SELECT ∗
FROM RECYCLEBIN ;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 23 / 31
Uso de nuestra papelera de reciclaje
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Ahora consultamos a nuestra tabla en la papelera para ver la estancia de nuestros
datos:
SELECT ∗
FROM "NOMBRE␣ASIGNADO" ;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 24 / 31
Recuperamos la tabla
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Para sacar nuestra tabla y volverla al estado anterior, ejecutamos:
FLASHBACK TABLE LACQ_DATOS
TO BEFORE DROP;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 25 / 31
Limpiar papelera de reciclaje
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
En caso de querer limpiar la papelera de reciclaje, ejecutamos:
PURGE RECYCLEBIN ;
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 26 / 31
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Ejercicios
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 27 / 31
Introduccion
Flashback
Ejercicios
Dudas y Ejercicios:
aclaraciones
CREAR UN TABLESPACE UNDO CON LOS PARAMETROS:
NOMBRE: INICIALES_UNDO
CON UN TAMAÑO DE 1GB
AUTOEXTEND ENCENDIDO
SALTOS DE 100MB
CON RETENTION GUARANTEE
MAXSIZE 4G
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 28 / 31
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Ejercicios:
CONFIGURAR EL ENTORNO:
ASIGNAR EL TABLESPACE CREADO PARA LA FUNCION DURANTE LA
SESION
ESTABLECER LA RETENCION PARA 15 DIAS DURANTE LA SESION
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 29 / 31
Introduccion
Flashback
Ejercicios:
Ejercicios
CONFIGURAR EL ENTORNO:
Dudas y
aclaraciones CREAR TABLA INICIALES_UNDO
CON LOS MISMOS CAMPOS DE LA TABLA DE EJEMPLO
ASI TAMBIEN INTRODUCIR 5 REGISTROS DE LOS CUALES 1 DEBE
ESTAR CON SUS DATOS
ELIMINAR LA TABLA
CONSULTAR LOS REGISTROS DE LA TABLA ELIMINADA
RECUPERAR LA TABLA
LA ENTREGA HASTA LA MEDIA NOCHE DEL DIA DOMINGO, CON
CAPTURAS DE TODO EL PROCEDIMIENTO EN PDF A MI WHATSAPP
PERSONAL
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 30 / 31
Introduccion
Flashback
Ejercicios
Dudas y
aclaraciones
Dudas y aclaraciones
Univ. Luis Alex Chura Quispe (UPEA) Flashback en Oracle 13 de mayo de 2023 31 / 31