Oracle restaura dados de uma determinada tabela no banco de dados em um determinado momento

Se você acidentalmente excluir dados durante o teste ou precisar restaurar os dados e testar o SQL repetidamente, poderá usar a função de flashback do Oracle para restaurar o banco de dados para um determinado momento.

Recuperar dados até um 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;
MOVIMENTO DE LINHA

Se o movimento de linha não estiver habilitado, um erro será relatado ORA-08189: cannot flashback the table because row movement is not enabled.

Em relação à movimentação de linhas, a resposta do ChatGPT é a seguinte:

No banco de dados Oracle, habilitar a movimentação de linhas (ROW MOVEMENT) é uma opção utilizada para modificar a definição da tabela, permitindo que operações específicas sejam realizadas na tabela, como atualização, exclusão e inserção de linhas, mantendo um alto grau de disponibilidade de a mesa. Ao ativar a movimentação de linhas, você tem mais flexibilidade para modificar a estrutura da tabela, incluindo a modificação do local de armazenamento físico das linhas da tabela.

Consultar dados em um determinado momento

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

Acho que você gosta

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