Cómo utilizar la consulta de flashback en 12c oráculo

¿Alguna vez has querido una máquina del tiempo? No existe tal cosa. O lo hace? El tiempo de Oracle 12c máquina conocida como Escena retrospectiva le permite rebobinar, adelantar, y recuperarse de situaciones con facilidad. Escena retrospectiva puede sonar intimidante, pero la función es simple.

Una característica llamada Flashback Query es una de la más simple y más fácil de usar variaciones de la tecnología Oracle Flashback. En pocas palabras, le permite consultar una tabla en un punto en el pasado. Esto significa que, a pesar de las actualizaciones, inserciones y eliminaciones que pudieron haber sucedido, se ve la mesa, ya que existía en el momento de su elección.

He aquí una demostración rápida con el ejemplo de esquema, HR:

  1. Conéctese a SQL * Plus como el usuario de recursos humanos.

  2. Mira los datos de su mesa de departamentos.

  3. Restringir la consulta tanto a minimizar la producción y hacer la demostración más evidente. Escriba lo siguiente:

    Debería ver algo como esto:

    DEPARTMENT_ID DEPARTMENT_NAME ------------- ------------------------------ 120 Treasury130 Corporativa de Control Tax140 Y filas Credit150 Services160 Accionista Benefits170 Manufacturing180 Construction190 Contracting200 Operations210 TI Support220 NOC230 TI Helpdesk240 Gobierno Sales250 Retail Sales260 Recruiting270 Payroll16 seleccionados.
  4. Modificar la tabla mediante la eliminación de las filas seleccionadas en la salida anterior. Para quitar la filas, el tipo

    Usted debe ver esto:

    16 filas borradas.
  5. Comprometerse sus cambios escribiendo

    Usted debe ver esto:

    Comprometerse completa.
  6. Ejecutar la consulta original de nuevo.

    Usted debe ver esto:

    no hay filas seleccionadas

    El siguiente paso es el que utiliza la magia de Flashback Query. Piense en el tiempo antes de que ocurriera la eliminación. En este caso de ejemplo, lo que era hace cinco minutos.

  7. Escriba algo similar a la siguiente para ver los datos tal como existía hace cinco minutos:

Usted ve las filas tal como existían en el paso 2. La clave está en los AS DE cláusula TIMESTAMP. Para el objetivo de la marca de tiempo, se puede ver que el ejemplo se utiliza matemáticas en la función SYSDATE. SYSDATE representa la hora actual, en este momento.

Restando 1 de SYSDATE significa ayer. El ejemplo resta la fracción 1/288, lo que significa cinco minutos, desde SYSDATE. Para obtener esa fracción, el ejemplo se utiliza la siguiente fórmula:

24 (horas en un día) x 60 (minutos dentro y hora) = 1440 (minutos) en un día

Así, más de 1.440 5 es igual a 1 sobre 288.

También puede utilizar una marca de tiempo explícito en lugar de una función SYSDATE. Por ejemplo:

seleccione department_id, departmentsAS department_namefrom DE TIMESTAMP TO_DATE ('16 -AUG-2013 20:04:00 ',' DD-MON-AAAA HH24: MI: SS ') donde MANAGER_ID es null-

He aquí un buen truco. Supongamos que has borrado accidentalmente esas filas y desea insertar de nuevo en su mesa. Puede utilizar Flashback Query para hacer tal cosa. Esto va a ser mucho más rápido que hacer una recuperación RMAN a un punto en el tiempo.

Para insertar sus filas eliminadas de nuevo en su mesa, el tipo

lt; insertar en departmentsselect * desde departmentsAS DE TIMESTAMP TO_DATE ('16 -AUG-2013 20:04:00 ',' DD-MON-AAAA HH24: MI: SS ') donde MANAGER_ID es null->

Usted debe ver esto:

16 filas creados.

Consulta la mesa y, cuando esté satisfecho, cometen los cambios.

Sólo se puede producir un retroceso en cuanto a su configuración para el parámetro de ejemplar UNDO_RETENTION. De forma predeterminada, este parámetro se establece en 15 minutos (900 segundos). Si el tiempo que deseen volver a está más allá de su UNDO_RETENTION, es posible que no sea capaz de ver sus datos y recibirá un error en su lugar.

Antes de dar el consejo anterior y fija su UNDO_RETENTION para reflejar el valor de un mes de tiempo, tenga en cuenta que esto hará que el espacio de tabla UNDO para crecer porque tiene que almacenar imágenes de sus datos antiguos. Usted debe equilibrar cuidadosamente un ajuste con el consumo de espacio UNDO_RETENTION realista.




» » » Cómo utilizar la consulta de flashback en 12c oráculo