Oracle restaura datos de una determinada tabla en la base de datos en un momento determinado

Si elimina datos accidentalmente durante la prueba, o necesita restaurar los datos y probar el SQL repetidamente, puede usar la función flashback de Oracle para restaurar la base de datos a un momento determinado.

Recuperar datos hasta un determinado momento

-- 假设表名为 HOLIDAY

-- 开启行移动
ALTER TABLE HOLIDAY ENABLE ROW MOVEMENT;
-- 恢复数据到某一时刻
FLASHBACK TABLE HOLIDAY TO TIMESTAMP TO_TIMESTAMP('2024-01-15 08:00:00', 'yyyy-mm-dd hh24:mi:ss');
-- 关闭行移动
ALTER TABLE HOLIDAY DISABLE ROW MOVEMENT;
MOVIMIENTO DE FILA

Si el movimiento de filas no está habilitado, se informará un error ORA-08189: cannot flashback the table because row movement is not enabled.

Respecto al movimiento de filas, la respuesta de ChatGPT es la siguiente:

En la base de datos Oracle, habilitar el movimiento de filas (ROW MOVEMENT) es una opción utilizada para modificar la definición de la tabla. Permite realizar operaciones específicas sobre la tabla, como actualizar, eliminar e insertar filas, manteniendo un alto grado de disponibilidad de la mesa. Cuando habilita el movimiento de filas, tiene más flexibilidad para modificar la estructura de la tabla, incluida la modificación de la ubicación de almacenamiento físico de las filas de la tabla.

Consultar datos en un momento determinado.

-- 查询某一时刻的数据
SELECT * FROM HOLIDAY AS OF TIMESTAMP TO_TIMESTAMP('2024-01-15 08:00:00', 'yyyy-mm-dd hh24:mi:ss');

Supongo que te gusta

Origin blog.csdn.net/weixin_45883310/article/details/136097618
Recomendado
Clasificación