Oracle 数据回溯

创表法

步骤

  1. 根据修改语句查出你需要恢复的时间点
select * from V$SQL where SQL_TEXT like '\%\%'--根据修改语句查出你需要恢复的时间点
  1. 根据恢复时间创建新表
create table new_table as select * from table as of timestamp to_timestamp('2020-09-10 11:44:25','yyyy-mm-dd hh24:mi:ss');
   --new_table :新建表的名;
   --table :误操作的表名;  
   --2020-09-10 11:44:25:保存这个时间点的数据到新表。
  1. 将原表的数据全部删除
delete table ; --将原表的数据全部删除
  1. 把恢复的数据保存到原表
insert into table select * from new_table ; --把恢复的数据保存到原表。

注意事项:

  • 如果操作的表数据量很大,建议停服操作,因为删除表数据的时候会非常费时间。

闪回法

Oracle 回滚数据库到某个具体的时间点,需要确保中间没有人修改数据,否则中间修改的数据会丢失

alter table xxx enable row movement;
flashback table xxx to timestamp to_timestamp('2023-02-21 17:00:00','yyyy-mm-dd HH24:MI:SS');
posted @   Thousand_Mesh  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示