误删数据--恢复方法

要达到删除数据,有以下几种方式都可以:
1、delete
2、drop一个表
3、truncate一个表

重要的不是怎么删除一个表,而是误删除数据后怎么立即恢复(不考虑全库备份和利用归档日志)。
对于delete方法,可以利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的块没被覆写),就可以利用闪回方式直接找回删除的数据:
     A、确定删除数据的时间(在删除数据之前的时间就行,不过最好是删除数据的时间点)
     B、用以下语句找出删除的数据:select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')
     C、把删除的数据重新插入原表:
         insert into  表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')) ;注意要保证主键不重复。
     以上方式也可以给where条件来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值