Oracle 怎么找回现已删除了的表记载ITeye - 凯发娱乐

Oracle 怎么找回现已删除了的表记载ITeye

2019年03月24日13时12分19秒 | 作者: 凯时 | 标签: 记载,删去,分钟 | 浏览: 2236

有的时分咱们不小心把数据库表(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。。。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章