<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://dosideas.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Oracle_Flashback_Database</id>
		<title>Oracle Flashback Database - Historial de revisiones</title>
		<link rel="self" type="application/atom+xml" href="https://dosideas.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Oracle_Flashback_Database"/>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Database&amp;action=history"/>
		<updated>2026-05-09T15:05:20Z</updated>
		<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Database&amp;diff=2991&amp;oldid=prev</id>
		<title>Admin en 18:11 26 ago 2009</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Database&amp;diff=2991&amp;oldid=prev"/>
				<updated>2009-08-26T18:11:13Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='es'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión del 18:11 26 ago 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Línea 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Oracle]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Flashback Database nos permite rebobinar la base de datos completa a un momento del pasado, revirtiendo los efectos de cambios no deseados dentro de una ventana de tiempo determinada.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Flashback Database nos permite rebobinar la base de datos completa a un momento del pasado, revirtiendo los efectos de cambios no deseados dentro de una ventana de tiempo determinada.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Database&amp;diff=291&amp;oldid=prev</id>
		<title>201.251.185.130: Página nueva: Flashback Database nos permite rebobinar la base de datos completa a un momento del pasado, revirtiendo los efectos de cambios no deseados dentro de una ventana de tiempo determinada....</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Database&amp;diff=291&amp;oldid=prev"/>
				<updated>2008-07-25T15:14:18Z</updated>
		
		<summary type="html">&lt;p&gt;Página nueva: Flashback Database nos permite rebobinar la base de datos completa a un momento del pasado, revirtiendo los efectos de cambios no deseados dentro de una ventana de tiempo determinada....&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Flashback Database nos permite rebobinar la base de datos completa a un momento del pasado, revirtiendo los efectos de cambios no deseados dentro de una ventana de tiempo determinada.&lt;br /&gt;
&lt;br /&gt;
Flashback Database (a partir de [[Oracle10g]]) provee una alternativa más directa y eficiente para realizar un database point-in-time recovery. Con la tecnología flashback esta tarea se realiza mas rápido porque no es necesario restaurar los datafiles del backup, y requiere poca aplicación de redo comparado con un media recovery.&lt;br /&gt;
&lt;br /&gt;
Flashback Database usa su propio mecanismo de logging, creando Flashback Logs, los cuales son almacenados en la Flash Recovery Area&lt;br /&gt;
&lt;br /&gt;
Para habilitar el Flashback Database se debe:&lt;br /&gt;
1)Configurar la Flash Recovery Area&lt;br /&gt;
 ALTER DATABASE FLASHBACK ON;&lt;br /&gt;
&lt;br /&gt;
Ejecutar esta sentencia con la base Montada pero no Abierta.&lt;br /&gt;
&lt;br /&gt;
2) Setear un flashback retention target, para especificar que tan lejos en el tiempo queremos poder restaurar la base de datos con Flashback Database&lt;br /&gt;
&lt;br /&gt;
 DB_FLASHBACK_RETENTION_TARGET = &amp;lt;minutos&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
Por default este parámetro de configuración está seteado en 1 día (1440 minutos).&lt;br /&gt;
&lt;br /&gt;
3) La base de datos debe estar en Archiving.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Flash Recovery Area=&lt;br /&gt;
&lt;br /&gt;
Es el directorio que actúa como contenedor de los Flashback Logs.  Su ubicación y tamaño se configura mediante los siguiente parámetros:&lt;br /&gt;
&lt;br /&gt;
 DB_RECOVERY_FILE_DEST = &amp;lt;directorio&amp;gt;\flash_recovery_area&lt;br /&gt;
 DB_RECOVERY_FILE_DEST_SIZE = 2Gb (default)&lt;br /&gt;
&lt;br /&gt;
=Flashback Logs=&lt;br /&gt;
&lt;br /&gt;
Desde que Flashback Database está configurado, la base de datos copia a intervalos regulares al Flash Recovery Area, logs con imágenes de cada bloque alterado en cada datafile.&lt;br /&gt;
&lt;br /&gt;
Estas imágenes de los bloques pueden usarse luego para reconstruir el contenido del datafile a como estaba en el momento en que los logs fueron capturados.&lt;br /&gt;
&lt;br /&gt;
Cuando la base de datos es restaurada al estado que tenía en un momento del pasado, usando Flashback Database, cada bloque modificado desde el momento establecido del pasado hasta hoy se cambia por la imagen en los flashback logs más inmediata anterior al momento establecido del pasado. Luego se aplican los redo log (generados por el archiving u onlines) para re-aplicar los cambios desde el momento en que la imagen fue copiada hasta el momento establecido del pasado.&lt;br /&gt;
&lt;br /&gt;
=Flashback Database Window=&lt;br /&gt;
&lt;br /&gt;
El rango de SCNs para los cuales hay suficientes Flashback Logs para soportar el comando FLASHBACK DATABASE, es denominado Flashback Database Window.&lt;br /&gt;
&lt;br /&gt;
Si el espacio libre de la Flashback Recovery Area es bajo, entonces Oracle automáticamente borra Flashback Logs para liberar espacio (los más viejos primero).&lt;br /&gt;
&lt;br /&gt;
Como resultado el Flashback Database Window es tan largo como lo defina el db_flashback_retention_target, dependiendo del tamaño de la Flash Recovery Area. Esto significa que si se generan muchos flashback logs en un corto tiempo, puede ser que estos llenen la Flash Recovery Area antes del db_flashback_retention_target, y entonces los logs son borrados y la ventana no esta definida por el parámetro sino por el tamaño del Area.&lt;br /&gt;
&lt;br /&gt;
No se puede tener Flashback Logs fuera del Flashback Recovery Area, por lo tanto para incrementar la ventana se debe aumentar el tamaño de la Flash Recovery Area.&lt;br /&gt;
&lt;br /&gt;
Para verificar los SCN incluidos en la ventana realizar una consulta sobre V$FLASHBACK_DATABASE_LOG:&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; desc v$flashback_database_log;&lt;br /&gt;
&lt;br /&gt;
 Nombre                     Nulo Tipo&lt;br /&gt;
 -------------------------- ---- -------&lt;br /&gt;
 OLDEST_FLASHBACK_SCN            NUMBER&lt;br /&gt;
 OLDEST_FLASHBACK_TIME           DATE&lt;br /&gt;
 RETENTION_TARGET                NUMBER&lt;br /&gt;
 FLASHBACK_SIZE                  NUMBER&lt;br /&gt;
 ESTIMATED_FLASHBACK_SIZE        NUMBER&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; select oldest_flashback_scn, oldest_flashback_time&lt;br /&gt;
  2  from v$flashback_database_log;&lt;br /&gt;
&lt;br /&gt;
 OLDEST_FLASHBACK_SCN OLDEST_F&lt;br /&gt;
 -------------------- --------&lt;br /&gt;
             1753887 12/09/07&lt;br /&gt;
&lt;br /&gt;
=Preparación de Ambiente=&lt;br /&gt;
&lt;br /&gt;
La base de datos LAB10g fue creada con Flashback Database y Archivelog habilitados.&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; SELECT name, flashback_on FROM v$database;&lt;br /&gt;
 NAME      FLASHBACK_ON&lt;br /&gt;
 --------- ------------------&lt;br /&gt;
 LAB10G    YES&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; archive log list&lt;br /&gt;
&lt;br /&gt;
==Modo log de la base de datos==&lt;br /&gt;
 Modo de Archivado automático    Activado&lt;br /&gt;
 Destino del archivo                       D:\ora10g\LAB10g\admin\arch&lt;br /&gt;
 Secuencia de log en línea mas antigua    74&lt;br /&gt;
 Siguiente secuencia de log para archivar 76&lt;br /&gt;
 Secuencia de log actual                  76&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Parámetros de configuración==&lt;br /&gt;
 NAME                           TYPE        VALUE&lt;br /&gt;
 ------------------------------ ----------- ----------------------------&lt;br /&gt;
 db_flashback_retention_target  integer     1440&lt;br /&gt;
 db_recovery_file_dest          string          D:\ora10g\LAB10g\admin\flash_recovery_area&lt;br /&gt;
 db_recovery_file_dest_size     big integer 2G&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ejemplo=&lt;br /&gt;
==Datos Iniciales==&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from emp;&lt;br /&gt;
&lt;br /&gt;
 EMPNO ENAME      JOB         MGR HIREDATE   SAL  COMM  DEPTNO&lt;br /&gt;
------ ---------- --------- ----- -------- ----- ----- -------&lt;br /&gt;
  7369 SMITH      CLERK      7902 17/12/80   800            20&lt;br /&gt;
  7499 ALLEN      SALESMAN   7698 20/02/81  1600   300      30&lt;br /&gt;
  7521 WARD       SALESMAN   7698 22/02/81  1250   500      30&lt;br /&gt;
  7566 JONES      MANAGER    7839 02/04/81  2975            20&lt;br /&gt;
  7654 MARTIN     SALESMAN   7698 28/09/81  1250  1400      30&lt;br /&gt;
  7698 BLAKE      MANAGER    7839 01/05/81  2850            30&lt;br /&gt;
  7782 CLARK      MANAGER    7839 09/06/81  2450            10&lt;br /&gt;
  7788 SCOTT      ANALYST    7566 19/04/87  3000            20&lt;br /&gt;
  7839 KING       PRESIDENT       17/11/81  5000            10&lt;br /&gt;
  7844 TURNER     SALESMAN   7698 08/09/81  1500     0      30&lt;br /&gt;
  7876 ADAMS      CLERK      7788 23/05/87  1100            20&lt;br /&gt;
  7900 JAMES      CLERK      7698 03/12/81   950            30&lt;br /&gt;
  7902 FORD       ANALYST    7566 03/12/81  3000            20&lt;br /&gt;
  7934 MILLER     CLERK      7782 23/01/82  1300            10&lt;br /&gt;
&lt;br /&gt;
 14 filas seleccionadas.&lt;br /&gt;
&lt;br /&gt;
==Borro filas de la tabla EMP==&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select current_scn from v$database;&lt;br /&gt;
 CURRENT_SCN&lt;br /&gt;
 -----------&lt;br /&gt;
     1754456&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; delete from emp where job='SALESMAN';&lt;br /&gt;
 4 filas suprimidas.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; commit;&lt;br /&gt;
 Confirmación terminada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from emp;&lt;br /&gt;
  EMPNO ENAME      JOB         MGR HIREDATE   SAL  COMM  DEPTNO&lt;br /&gt;
 ------ ---------- --------- ----- -------- ----- ----- -------&lt;br /&gt;
   7369 SMITH      CLERK      7902 17/12/80   800            20&lt;br /&gt;
   7566 JONES      MANAGER    7839 02/04/81  2975            20&lt;br /&gt;
   7698 BLAKE      MANAGER    7839 01/05/81  2850            30&lt;br /&gt;
   7782 CLARK      MANAGER    7839 09/06/81  2450            10&lt;br /&gt;
   7788 SCOTT      ANALYST    7566 19/04/87  3000            20&lt;br /&gt;
   7839 KING       PRESIDENT       17/11/81  5000            10&lt;br /&gt;
   7876 ADAMS      CLERK      7788 23/05/87  1100            20&lt;br /&gt;
   7900 JAMES      CLERK      7698 03/12/81   950            30&lt;br /&gt;
   7902 FORD       ANALYST    7566 03/12/81  3000            20&lt;br /&gt;
   7934 MILLER     CLERK      7782 23/01/82  1300            10&lt;br /&gt;
 10 filas seleccionadas.&lt;br /&gt;
&lt;br /&gt;
Con usuario SYS (usuario con privilegios) realizo lo siguiente:&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; shutdown immediate;&lt;br /&gt;
 Base de datos cerrada.&lt;br /&gt;
 Base de datos desmontada.&lt;br /&gt;
 Instancia ORACLE cerrada.&lt;br /&gt;
 sys@LAB10G&amp;gt; startup mount;&lt;br /&gt;
 Instancia ORACLE iniciada.&lt;br /&gt;
 Total System Global Area  167772160 bytes&lt;br /&gt;
 Fixed Size                  1289508 bytes&lt;br /&gt;
 Variable Size             142607068 bytes&lt;br /&gt;
 Database Buffers           20971520 bytes&lt;br /&gt;
 Redo Buffers                2904064 bytes&lt;br /&gt;
 Base de datos montada.&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; flashback database to scn 1754456;&lt;br /&gt;
 Flashback terminado.&lt;br /&gt;
  sys@LAB10G&amp;gt; alter database open resetlogs;&lt;br /&gt;
 Base de datos modificada.&lt;br /&gt;
&lt;br /&gt;
Con usuario SCOTT verifico que la tabla EMP este completa:&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select count(1) from emp;&lt;br /&gt;
   COUNT(1)&lt;br /&gt;
 ----------&lt;br /&gt;
        14&lt;br /&gt;
&lt;br /&gt;
==Trunco la tabla EMP==&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select current_scn from v$database;&lt;br /&gt;
 CURRENT_SCN&lt;br /&gt;
 -----------&lt;br /&gt;
     1754655&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; truncate table emp;&lt;br /&gt;
 Tabla truncada.&lt;br /&gt;
&lt;br /&gt;
Con usuario SYS (usuario con privilegios) realizo lo siguiente:&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; shutdown immediate;&lt;br /&gt;
 Base de datos cerrada.&lt;br /&gt;
 Base de datos desmontada.&lt;br /&gt;
 Instancia ORACLE cerrada.&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; startup mount;&lt;br /&gt;
 Instancia ORACLE iniciada.&lt;br /&gt;
 Total System Global Area  167772160 bytes&lt;br /&gt;
 Fixed Size                  1289508 bytes&lt;br /&gt;
 Variable Size             146801372 bytes&lt;br /&gt;
 Database Buffers           16777216 bytes&lt;br /&gt;
 Redo Buffers                2904064 bytes&lt;br /&gt;
 Base de datos montada.&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; flashback database to scn 1754655;&lt;br /&gt;
 Flashback terminado.&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; alter database open resetlogs;&lt;br /&gt;
 Base de datos modificada.&lt;br /&gt;
&lt;br /&gt;
Con usuario SCOTT verifico que la tabla EMP este completa:&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select count(1) from emp;&lt;br /&gt;
   COUNT(1)&lt;br /&gt;
 ----------&lt;br /&gt;
         14&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para poder realizar un FLASHBACK DATABASE es necesario bajar la base y no abrirla, sino solo montarla. Luego del FLASHBACK puede abrirse la base y dejarla disponible para el resto de los usuarios.&lt;br /&gt;
&lt;br /&gt;
No solo puede hacerse Flashback Database a un SCN determinado, también puede usarse una fecha o un Restore Point previamente establecido.&lt;br /&gt;
&lt;br /&gt;
Antes de realizar el OPEN RESETLOGS podemos ir moviéndonos en la ventana hasta quedar donde deseamos:&lt;br /&gt;
*Si fuimos muy lejos en el FLASHBACK y queremos adelantarnos a un SCN más nuevo podemos usar un RECOVER DATABASE UNTIL TO SCN &amp;lt;scn&amp;gt;.&lt;br /&gt;
*Si no fuimos lo suficientemente lejos volvemos a usar el FLASHBACK DATABASE TO SCN &amp;lt;scn&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para deshacer los efectos del FLASHBACK DATABASE y volver el estado de la base al presente se debe utilizar un RECOVER DATABASE (sin UNTIL).&lt;br /&gt;
&lt;br /&gt;
Para deshacer los efectos de un OPEN RESTELOGS e ir “mas atrás del último open resetlogs” se usa el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
 FLAHBACK DATABASE TO BEFORE  RESETLOGS;&lt;br /&gt;
&lt;br /&gt;
Para verificar cuando fue el último OPEN RESETLOGS realizar la siguiente consulta:&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; select resetlogs_change# from v$database;&lt;br /&gt;
&lt;br /&gt;
 RESETLOGS_CHANGE#&lt;br /&gt;
 -----------------&lt;br /&gt;
           1754658&lt;br /&gt;
&lt;br /&gt;
=Ver también=&lt;br /&gt;
* [[Oracle Flashback Technology]]&lt;/div&gt;</summary>
		<author><name>201.251.185.130</name></author>	</entry>

	</feed>