您的位置:首页 > 数据库 > Oracle

Oracle误删数据、误修改数据恢复

2015-11-14 21:30 423 查看
select * from com_parameter(表名) as of timestamp TO_TIMESTAMP('2015-08-03 9:00:00','YYYY-MM-DD HH24:MI:SS')


这条sql语句是用于查找某个表在某个特点的时间点的表数据,假如在9:05分的时候不小心误删了表数据,可以使用这条sql来找回误删之前的数据,
但是要注意,时间不能间隔太长,最好是一个小时或者半个小时以内的,更长的时间我没有试过,各位有兴趣的话可以试试。

这里有两个办法,最简单粗暴的当然就是把现在的表整个清空,然后把查出来的误删前的数据整个覆盖,但是这样做总是会让人感觉心里不踏实,
当然如果是测试数据那就随便搞咯。

第二种办法,也是推荐办法,使用另外一条sql


update a
set a.value=b.value
from table1 a,table2 b where a.id=b.id


这条sql可以将数据库中A表的某列字段,更新到数据库中B表的某列字段,后面的where条件可以省略,如果只更新特定的几行记录,就加上where条件
使用第二种方法可以在较为安全的情况下恢复误删数据,同样的道理,误修改的数据也可以用这个办法恢复
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: