Orcale恢复delete误删除的数据

orcal的删除有3种:delete、truncate、drop。

delete可以手动提交和回滚,且可以使用where;而truncate、drop执行即对表数据进行了修改,且不能使用where。

delete、truncate只删除表数据;而drop删除表数据和表结构。

所以删除表中某些数据多用delete,有时候delete误删除某些数据需要恢复。


 

例如:误删sv为'2021-04-21 17:12:28'的2条数据

使用   select * from 表名 as of timestamp to_timestamp('删除时间','yyyy-mm-dd hh24:mi:ss')    找到删除的数据

我知道我是11:29删除的,timestamp to_timestamp('删除时间','yyyy-mm-dd hh24:mi:ss') 中的【删除时间】不一定要特别精准,可以比实际删除时间小,但是要确定在你给定的时间有你想恢复的数据。且这个时间不能大于当前时间,不然会报【ORA-08186: invalid timestamp specified】的错,因为你给了一个未来时间。

查到数据后,通过where筛选数据插入到表中即可。

 

posted @ 2021-07-06 11:59  请叫我小马驹  阅读(370)  评论(0编辑  收藏  举报