有的时候我们不小心把数据库表(emp)中重要的记录给删除了,怎么给找回来了,看下面这个例子你就会明白。
某一天,10点钟的时候,张三一不小心给数据库表emp的一条重要记录给删除了并且还提交了,此时也没有其他任何备份数据,
他十分惊恐,10:05分他的同事,也就是本人出现了在和他轻松的聊天中给出了如下解决方法,哈哈哈。。。
我:怎么了
张:我把数据emp表的某几条记录给删除了,我也不知道删除的是那几条。。。
我:不要急,大概是几点删除的
张:10点左右
我:恩,现在10:05分了,也就是5分钟前删除的,还不超过6分钟
张:怎么办啊,我怎么把那几条数据给找回来啊,下午客户那边还要等着做数据演示了
我:冷静点,让我想想。。。有了,如果我们能够找回6分钟前的没有删除时候的数据那问题就解决了
找回6分钟前的原始数据(注意6分钟一定要是操作距现在的有效时间时间区域段,如果大于5分钟不足6分钟,
这个中间有没有做任何操作那只能坚持就小原则写5,不然会报 ora-01466 : 无法读取数据-表定义已更改)
select * from emp as of timestamp sysdate - 6/1440 --timestamp 后面为时间点
我:现在你可以把原来的表哦删掉直接创建备份一个表就可以了
- create table emp as (select * from emp as of timestamp sysdate - 6/1440);
张:这到是一个好办法,但是我们公司有规定,表不能随表删除,不然我的绩效奖金就全部泡汤了。。。
张:能不能在补删除原表的基础上,把找回的记录插入到原表中了
我:让我,想想。。。有了。。。
我:我们可以做差,找到删除的记录=6分钟前的原始数据-现在表中的记录,再插入原来的表中,提交
- insert into emp
- select * --6分钟前删除的记录
- from(select * --6分钟前删除的记录
- from emp as of timestamp sysdate - 6 / 1440 --6分钟前的原始数据
- minus --减去
- select * from emp --现在表中的记录)
张:耶。。。可以了,thanks。。。
相关推荐
oracle找回删除的数据
oracle定时删除表空间的数据并释放表空间(oracle编程高手总结编写)
oracle如何将删除的表找回
Oracle数据库删除表中重复记录的方法三则.txt
使用oracle数据库时修改表结构,创建表空间等等
Oracle 查找与删除表中重复记录的步Oracle 查找与删除表中重复记录的步
ORACLE 数据库中如何统计表记录数的过程说明
有做数据库巡检的同学,资料来啦,填空就可以喽
oracle中 ,如何删除重复的记录信息
[Oracle]在亿级记录表中创建索引 [Oracle]如何在亿级记录表中创建索引 [Oracle]如何在亿级记录表中创建索引
oracle创建分区表
如何在Oracle数据表中随机抽取部分记录的方法
详细介绍如何正常删除Oracle 数据库表空间数据文件,OFFLINE和OFFLINE DROP的区别,OS级别删除了数据文件后的恢复,删除数据库表空间数据文件演示示例
删除oracle中用户下所有的表,不是系统用户哦!不然会删掉系统的数据表
ORACLE ERP 11i表结构字段中文名称,仅供参考。包含常用模块及相关表,最后还有一些开发和维护经验的分享。文档格式不太好,没有目录,见谅。
很好的的oracle快速删除表空间的帮助!
Oracle在线建立超大表的索引,为在线生产系统某核心大表建立索引
本包用于记录存储过程里面的日志,将日志信息写入日志表(mylog)。可以记录日志时间、过程名称、过程里面记录日志的行数、参数值。如果在异常处理部分记录日志,还可以记录异常代码、异常原因、异常产生的行数。 本人...
oracle查看表历史记录-Oracle查看表操作历史记录并恢复.pdf