<?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_Table</id>
		<title>Oracle Flashback Table - 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_Table"/>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Table&amp;action=history"/>
		<updated>2026-05-09T14:56:31Z</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_Table&amp;diff=2989&amp;oldid=prev</id>
		<title>Admin en 18:10 26 ago 2009</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Table&amp;diff=2989&amp;oldid=prev"/>
				<updated>2009-08-26T18:10:43Z</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:10 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;La alternativa Flashback Table, es introducida en [Oracle10g] y retorna los datos de una tabla al estado en que estaba en un tiempo pasado descripto por un SCN o un timestamp . Esta alternativa también utiliza AUM (Automatic Undo Management) para realizar la vuelta atrás. Por lo tanto las limitaciones del tiempo al que puede volverse atrás cumple con las mismas limitaciones que para Flashback Query.&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;La alternativa Flashback Table, es introducida en [Oracle10g] y retorna los datos de una tabla al estado en que estaba en un tiempo pasado descripto por un SCN o un timestamp . Esta alternativa también utiliza AUM (Automatic Undo Management) para realizar la vuelta atrás. Por lo tanto las limitaciones del tiempo al que puede volverse atrás cumple con las mismas limitaciones que para Flashback Query.&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_Table&amp;diff=1955&amp;oldid=prev</id>
		<title>201.247.158.11: /* Preparación de Ambiente */</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Table&amp;diff=1955&amp;oldid=prev"/>
				<updated>2009-03-02T21:44:47Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Preparación de Ambiente&lt;/span&gt;&lt;/span&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 21:44 2 mar 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-l24&quot; &gt;Línea 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 24:&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;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;Para observar el comportamiento del trigger creamos una tabla de log donde el trigger irá logueando su actividad.&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;Para observar el comportamiento del trigger creamos una tabla de log donde el trigger irá logueando su actividad.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&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: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;segun como corresponda la tabla&lt;/del&gt;&lt;/div&gt;&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;&amp;#160;&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;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;==Privilegios==&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;==Privilegios==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>201.247.158.11</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Table&amp;diff=1954&amp;oldid=prev</id>
		<title>201.247.158.11: /* Preparación de Ambiente */</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Table&amp;diff=1954&amp;oldid=prev"/>
				<updated>2009-03-02T21:44:06Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Preparación de Ambiente&lt;/span&gt;&lt;/span&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 21:44 2 mar 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-l24&quot; &gt;Línea 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 24:&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;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;Para observar el comportamiento del trigger creamos una tabla de log donde el trigger irá logueando su actividad.&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;Para observar el comportamiento del trigger creamos una tabla de log donde el trigger irá logueando su actividad.&lt;/div&gt;&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;segun como corresponda la tabla&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;/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;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;==Privilegios==&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;==Privilegios==&lt;/div&gt;&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-l138&quot; &gt;Línea 138:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 139:&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;&amp;#160;&amp;#160;  7902 FORD&amp;#160; &amp;#160; &amp;#160;  ANALYST&amp;#160; &amp;#160; 7566 03-DIC-81&amp;#160; 3000&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 20&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;&amp;#160;&amp;#160;  7902 FORD&amp;#160; &amp;#160; &amp;#160;  ANALYST&amp;#160; &amp;#160; 7566 03-DIC-81&amp;#160; 3000&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 20&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;&amp;#160;&amp;#160;  7934 MILLER&amp;#160; &amp;#160;  CLERK&amp;#160; &amp;#160; &amp;#160; 7782 23-ENE-82&amp;#160; 1300&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 10&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;&amp;#160;&amp;#160;  7934 MILLER&amp;#160; &amp;#160;  CLERK&amp;#160; &amp;#160; &amp;#160; 7782 23-ENE-82&amp;#160; 1300&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 10&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&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: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;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;=Ejemplo=&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;=Ejemplo=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>201.247.158.11</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Table&amp;diff=289&amp;oldid=prev</id>
		<title>201.251.185.130: /* Ver también */</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Table&amp;diff=289&amp;oldid=prev"/>
				<updated>2008-07-25T15:09:50Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Ver también&lt;/span&gt;&lt;/span&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 15:09 25 jul 2008&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-l323&quot; &gt;Línea 323:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 323:&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;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;=Ver también=&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;=Ver también=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&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: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [Oracle Flashback Technology]]&lt;/div&gt;&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 class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/ins&gt;[Oracle Flashback Technology]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>201.251.185.130</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Table&amp;diff=288&amp;oldid=prev</id>
		<title>201.251.185.130: Página nueva: La alternativa Flashback Table, es introducida en [Oracle10g] y retorna los datos de una tabla al estado en que estaba en un tiempo pasado descripto por un SCN o un timestamp . Esta a...</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Oracle_Flashback_Table&amp;diff=288&amp;oldid=prev"/>
				<updated>2008-07-25T15:09:22Z</updated>
		
		<summary type="html">&lt;p&gt;Página nueva: La alternativa Flashback Table, es introducida en [Oracle10g] y retorna los datos de una tabla al estado en que estaba en un tiempo pasado descripto por un SCN o un timestamp . Esta a...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;La alternativa Flashback Table, es introducida en [Oracle10g] y retorna los datos de una tabla al estado en que estaba en un tiempo pasado descripto por un SCN o un timestamp . Esta alternativa también utiliza AUM (Automatic Undo Management) para realizar la vuelta atrás. Por lo tanto las limitaciones del tiempo al que puede volverse atrás cumple con las mismas limitaciones que para Flashback Query.&lt;br /&gt;
&lt;br /&gt;
La operación de restore implícita en el FLASHBACK TABLE, se realiza en forma online, o sea que en ningún momento hay que poner offline alguna parte de la base. Lo que si hay que tener en cuenta, que esta sentencia adquiere un lock DML exclusivo sobre la tabla en que se está haciendo el FLASHBACK TABLE.&lt;br /&gt;
&lt;br /&gt;
El Flashback Table mantinene automáticamente todos los atributos de la tabla, como por ejemplo los índices, triggers y constraints. Mantiene la integridad de los datos como están especificadas por las constraints, o sea que las tablas vuelven atrás siempre y cuando no viole ninguna de las constraints actuales. Esto incluye las constraints de integridad referencial (FK) especificadas entre la tabla incluída en el FLASHBACK y otra tabla que no esta incluída en el FLASHBACK.&lt;br /&gt;
&lt;br /&gt;
Para poder realizar un flashback table el usuario y la tabla deben tener los siguientes privilegios:&lt;br /&gt;
&lt;br /&gt;
 ALTER TABLE &amp;lt;nombre_tabla&amp;gt; ENABLE ROW MOVEMENT;&lt;br /&gt;
 GRANT SELECT, INSERT, DELETE, UPDATE ON &amp;lt;nombre_tabla&amp;gt; TO &amp;lt;usuario&amp;gt;;&lt;br /&gt;
 GRANT FLASHBACK ON &amp;lt;nombre_tabla&amp;gt; TO &amp;lt;usuario&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
El ultimo privilegio no es necesario si el usuario ya tiene el siguiente privilegio:&lt;br /&gt;
&lt;br /&gt;
 GRANT FLASHBACK ANY TABLE TO &amp;lt;usuario&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
Aun luego de la operación de FLASHBACK, los datos originales no se pierden. Uno puede revertir los datos al estado original.&lt;br /&gt;
&lt;br /&gt;
=Preparación de Ambiente=&lt;br /&gt;
&lt;br /&gt;
Para realizar las pruebas vamos a crear dos tablas relacionadas a través de una FK, y una de las tablas tendrá un trigger.&lt;br /&gt;
&lt;br /&gt;
De esta manera podremos observar que pasa cuando se vuelve para atrás el estado de la tabla con las constraints y la ejecución de los triggers.&lt;br /&gt;
&lt;br /&gt;
Para observar el comportamiento del trigger creamos una tabla de log donde el trigger irá logueando su actividad.&lt;br /&gt;
&lt;br /&gt;
==Privilegios==&lt;br /&gt;
&lt;br /&gt;
Para poder consultar el SCN actual:&lt;br /&gt;
 system@LAB10G&amp;gt; grant select on v_$database to scott;&lt;br /&gt;
 Concesion terminada correctamente.&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; grant flashback any table to scott;&lt;br /&gt;
 Concesion terminada correctamente.&lt;br /&gt;
&lt;br /&gt;
==Creación de Tablas de Prueba==&lt;br /&gt;
&lt;br /&gt;
 sys@LAB10G&amp;gt; connect scott/tiger&lt;br /&gt;
 Conectado.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; CREATE TABLE dept_flash&lt;br /&gt;
  2  ( DEPTNO  NUMBER(2),&lt;br /&gt;
  3    DNAME   VARCHAR2(14),&lt;br /&gt;
  4    LOC     VARCHAR2(13)&lt;br /&gt;
  5  );&lt;br /&gt;
 Tabla creada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; ALTER TABLE dept_flash ADD CONSTRAINT pk_dept_flash PRIMARY KEY (DEPTNO);&lt;br /&gt;
 Tabla modificada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; INSERT INTO dept_flash (select * from dept);&lt;br /&gt;
 4 filas creadas.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; COMMIT;&lt;br /&gt;
 Confirmacion terminada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; CREATE TABLE emp_flash&lt;br /&gt;
  2  ( EMPNO     NUMBER(4),&lt;br /&gt;
  3    ENAME     VARCHAR2(10),&lt;br /&gt;
  4    JOB       VARCHAR2(9),&lt;br /&gt;
  5    MGR       NUMBER(4),&lt;br /&gt;
  6    HIREDATE  DATE,&lt;br /&gt;
  7    SAL       NUMBER(7,2),&lt;br /&gt;
  8    COMM      NUMBER(7,2),&lt;br /&gt;
  9    DEPTNO    NUMBER(2)&lt;br /&gt;
 10  );&lt;br /&gt;
 Tabla creada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; ALTER TABLE emp_flash ADD CONSTRAINT emp_flash_pk PRIMARY KEY (EMPNO);&lt;br /&gt;
 Tabla modificada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; ALTER TABLE emp_flash ADD CONSTRAINT emp_flash_fk&lt;br /&gt;
  2  FOREIGN KEY (DEPTNO) REFERENCES dept_flash (DEPTNO);&lt;br /&gt;
 Tabla modificada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; INSERT INTO emp_flash (select * from emp);&lt;br /&gt;
 14 filas creadas.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; COMMIT;&lt;br /&gt;
 Confirmacion terminada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; create table emp_flash_log&lt;br /&gt;
  2  (fecha varchar2(20),&lt;br /&gt;
  3  operacion varchar2(50));&lt;br /&gt;
 Tabla creada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; CREATE OR REPLACE TRIGGER emp_flash_trg&lt;br /&gt;
  2    BEFORE INSERT OR UPDATE OR DELETE ON emp_flash FOR EACH ROW&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4     if INSERTING then&lt;br /&gt;
  5        insert into emp_flash_log&lt;br /&gt;
  6        values&lt;br /&gt;
  7        (to_char(sysdate,'DD/MM/YYYY HH24:MI:SS'),&lt;br /&gt;
  8         'Operacion Insert '||to_char(:NEW.empno));&lt;br /&gt;
  9     end if;&lt;br /&gt;
 10     if DELETING then&lt;br /&gt;
 11        insert into emp_flash_log&lt;br /&gt;
 12        values&lt;br /&gt;
 13        (to_char(sysdate,'DD/MM/YYYY HH24:MI:SS'),&lt;br /&gt;
 14         'Operacion Delete '||to_char(:OLD.empno));&lt;br /&gt;
 15     end if;&lt;br /&gt;
 16     if UPDATING then&lt;br /&gt;
 17        insert into emp_flash_log&lt;br /&gt;
 18        values&lt;br /&gt;
 19        (to_char(sysdate,'DD/MM/YYYY HH24:MI:SS'),&lt;br /&gt;
 20        'Operacion Update '||to_char(:OLD.empno)||' '||to_char(:NEW.empno));&lt;br /&gt;
 21     end if;&lt;br /&gt;
 22  END emp_flash_trg;&lt;br /&gt;
 23  /&lt;br /&gt;
 Disparador creado.&lt;br /&gt;
&lt;br /&gt;
==Datos==&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from dept_flash;&lt;br /&gt;
  DEPTNO DNAME          LOC&lt;br /&gt;
 ------- -------------- -------------&lt;br /&gt;
      10 ACCOUNTING     NEW YORK&lt;br /&gt;
      20 RESEARCH       DALLAS&lt;br /&gt;
      30 SALES          CHICAGO&lt;br /&gt;
      40 OPERATIONS     BOSTON&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from emp_flash&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-DIC-80   800            20&lt;br /&gt;
   7499 ALLEN      SALESMAN   7698 20-FEB-81  1600   300      30&lt;br /&gt;
   7521 WARD       SALESMAN   7698 22-FEB-81  1250   500      30&lt;br /&gt;
   7566 JONES      MANAGER    7839 02-ABR-81  2975            20&lt;br /&gt;
   7654 MARTIN     SALESMAN   7698 28-SEP-81  1250  1400      30&lt;br /&gt;
   7698 BLAKE      MANAGER    7839 01-MAY-81  2850            30&lt;br /&gt;
   7782 CLARK      MANAGER    7839 09-JUN-81  2450            10&lt;br /&gt;
   7788 SCOTT      ANALYST    7566 19-ABR-87  3000            20&lt;br /&gt;
   7839 KING       PRESIDENT       17-NOV-81  5000            10&lt;br /&gt;
   7844 TURNER     SALESMAN   7698 08-SEP-81  1500     0      30&lt;br /&gt;
   7876 ADAMS      CLERK      7788 23-MAY-87  1100            20&lt;br /&gt;
   7900 JAMES      CLERK      7698 03-DIC-81   950            30&lt;br /&gt;
   7902 FORD       ANALYST    7566 03-DIC-81  3000            20&lt;br /&gt;
   7934 MILLER     CLERK      7782 23-ENE-82  1300            10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ejemplo=&lt;br /&gt;
&lt;br /&gt;
==Realizo Flashback table de EMP_FLASH. Comportamiento trigger I==&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;
     1223943&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; insert into emp_flash values&lt;br /&gt;
  2  (8888,'Gonzalez','Contador', 7782, sysdate, 1000, null, 10);&lt;br /&gt;
 1 fila creada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; commit;&lt;br /&gt;
 Confirmacion terminada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from emp_flash_log;&lt;br /&gt;
 FECHA                OPERACION&lt;br /&gt;
 -------------------- ---------------------&lt;br /&gt;
 29/08/2007 16:33:07  Operacion Insert 8888&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; flashback table emp_flash to scn 1223943;&lt;br /&gt;
 flashback table emp_flash to scn 1223943&lt;br /&gt;
                 *&lt;br /&gt;
 ERROR en linea 1:&lt;br /&gt;
 ORA-08189: no se puede realizar flashback en la tabla&lt;br /&gt;
 porque el movimiento de filas no esta activado&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; alter table emp_flash enable row movement;&lt;br /&gt;
 Tabla modificada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; flashback table emp_flash to scn 1223943;&lt;br /&gt;
 Flashback terminado.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from emp_flash_log;&lt;br /&gt;
 FECHA                OPERACION&lt;br /&gt;
 -------------------- ---------------------&lt;br /&gt;
 29/08/2007 16:33:07  Operacion Insert 8888&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from emp_flash where empno=8888;&lt;br /&gt;
 ninguna fila seleccionada&lt;br /&gt;
&lt;br /&gt;
Antes que nada con este ejemplo mostramos que si la tabla no tiene habilitado el ROW MOVEMENT, la sentencia FLASHBACK TABLE no funciona.&lt;br /&gt;
&lt;br /&gt;
Con respecto al comportamiento del trigger de la tabla sobre la que estamos haciendo el FLASHBACK TABLE podemos decir lo siguiente:&lt;br /&gt;
&lt;br /&gt;
Cuando ejecuto un INSERT sobre la tabla, se ejecuta el trigger, pero cuando hago la vuelta atrás con el FLASHBACK, el trigger no realiza ninguna operación.&lt;br /&gt;
&lt;br /&gt;
Este es el comportamiento default de la sentencia FLASHBACK TABLE. Antes de realizar la vuelta atrás se deshabilita el trigger, y una vez finalizada la vuelta atrás, lo vuelve a habilitar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Realizo Flashback table de EMP_FLASH. Comportamiento trigger II==&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;
     1224004&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; insert into emp_flash&lt;br /&gt;
  2    values (9999,'Perez','Abogado', 7782, sysdate, 1000, null, 10);&lt;br /&gt;
 1 fila creada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; commit;&lt;br /&gt;
 Confirmacion terminada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from emp_flash_log;&lt;br /&gt;
 FECHA                OPERACION&lt;br /&gt;
 -------------------- ---------------------&lt;br /&gt;
 29/08/2007 16:33:07  Operacion Insert 8888&lt;br /&gt;
 29/08/2007 16:35:25  Operacion Insert 9999&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; flashback table emp_flash to scn 1224004 enable triggers;&lt;br /&gt;
 Flashback terminado.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from emp_flash_log;&lt;br /&gt;
 FECHA                OPERACION&lt;br /&gt;
 -------------------- ---------------------&lt;br /&gt;
 29/08/2007 16:33:07  Operacion Insert 8888&lt;br /&gt;
 29/08/2007 16:35:25  Operacion Insert 9999&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7369&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7499&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7521&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7566&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7654&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7698&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7782&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7788&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7839&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7844&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7876&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7900&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7902&lt;br /&gt;
 29/08/2007 16:36:16  Operacion Insert 7934&lt;br /&gt;
 16 filas seleccionadas.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from emp_flash where empno in (8888,9999);&lt;br /&gt;
 ninguna fila seleccionada&lt;br /&gt;
&lt;br /&gt;
Para romper el comportamiento default existe la opción ENABLE TRIGGERS de lasentencia FLASHBACK TABLE:&lt;br /&gt;
&lt;br /&gt;
 FLASHBACK TABLE &amp;lt;tabla&amp;gt; TO SCN nnnnnnn ENABLE TRIGGERS;&lt;br /&gt;
&lt;br /&gt;
Lo que me resulta extraño de esta opción es que parecería que el FLASHBACK TABLE trunca la tabla y luego hace INSERT de cada una de las filas existentes antes del SCN informado. De esta manera no se como puede hacerlo utilizando solo la información de UNDO. Tema a seguir investigando, pero es mas sobre el funcionamiento interno de Oracle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Realizo Flashback table de DEPT_FLASH. Comportamiento constraints.==&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;
     1224882&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; insert into dept_flash values  (60, 'Sistemas','Buenos Aires')&lt;br /&gt;
 1 fila creada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; commit;&lt;br /&gt;
 Confirmacion terminada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; insert into emp_flash values (7777,'Garcia','Sistemas', 7782, sysdate, 1000,null, 60);&lt;br /&gt;
 1 fila creada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; commit;&lt;br /&gt;
 Confirmacion terminada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; flashback table dept_flash to scn 1224882;&lt;br /&gt;
 flashback table dept_flash to scn 1224882&lt;br /&gt;
                 *&lt;br /&gt;
 ERROR en linea 1:&lt;br /&gt;
 ORA-08189: no se puede realizar flashback en la tabla porque el movimiento de filas no esta activado&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; alter table dept_flash enable row movement;&lt;br /&gt;
 Tabla modificada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; flashback table dept_flash to scn 1224882;&lt;br /&gt;
 flashback table dept_flash to scn 1224882&lt;br /&gt;
 *&lt;br /&gt;
 ERROR en linea 1:&lt;br /&gt;
 ORA-02091: transaccion con rollback&lt;br /&gt;
 ORA-02292: restriccion de integridad (SCOTT.EMP_FLASH_FK) violada - registro secundario encontrado&lt;br /&gt;
&lt;br /&gt;
Con este ejemplo queda claro que la vuelta atrás con FLASHBACK TABLE mantiene la integridad, no permitiendo eliminar o cambiar filas que tienen “hijos” asociados a su valor actual.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Rollback de la sentencia Flashback table.=&lt;br /&gt;
&lt;br /&gt;
Para poder realizar el “rollback” de la sentencia Flashback, se utilize un flashback al momento inmediato anterior a realizar la sentencia.&lt;br /&gt;
&lt;br /&gt;
Por este motivo siempre es conveniente consultar el SCN antes de realizar el FLASHBACK TABLE.&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;
     1252763&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; insert into emp_flash&lt;br /&gt;
  2  values&lt;br /&gt;
  3  (8888, 'Lopez', 'Vendedor', 7698, sysdate, 1000, null, 30);&lt;br /&gt;
 1 fila creada.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; commit;&lt;br /&gt;
 Confirmacion terminada.&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;
     1252784&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; flashback table emp_flash to scn 1252763;&lt;br /&gt;
 Flashback terminado.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from emp_flash where empno=8888;&lt;br /&gt;
 ninguna fila seleccionada&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; flashback table emp_flash to scn  1252784;&lt;br /&gt;
 Flashback terminado.&lt;br /&gt;
&lt;br /&gt;
 scott@LAB10G&amp;gt; select * from emp_flash where empno=8888;&lt;br /&gt;
  EMPNO ENAME      JOB         MGR HIREDATE   SAL  COMM  DEPTNO&lt;br /&gt;
 ------ ---------- --------- ----- -------- ----- ----- -------&lt;br /&gt;
   8888 Lopez      Vendedor   7698 30/08/07  1000            30&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>