Oracle 数据回溯
创表法
步骤
- 根据修改语句查出你需要恢复的时间点
select * from V$SQL where SQL_TEXT like '\%\%'--根据修改语句查出你需要恢复的时间点
- 根据恢复时间创建新表
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:保存这个时间点的数据到新表。
- 将原表的数据全部删除
delete table ; --将原表的数据全部删除
- 把恢复的数据保存到原表
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');
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!