兴奋啊,使用oracle的flashback搞定误删数据的恢复

本文介绍在PLSQL Developer中如何处理未提交的删除操作及使用闪回功能恢复表到特定时间点的方法。包括如何正确使用rollback进行回滚,以及如何通过使能行移动功能并指定正确的日期格式来实现表的闪回。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可以解决PLSQL Developer使用delete commit或者没有commit但是退出的情况(退出是默认commit)。

如果删除之后没有commit,并且当时没有退出PLSQL Developer,可以直接使用写入commit图标边的rollback回写

Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
Connected as xmv502@NC52
 
SQL> rollback;
 
Rollback complete
 
SQL> FLASHBACK TABLE bd_jobbasfil  TO TIMESTAMP '2012-04-05 14:00:00';
 
FLASHBACK TABLE bd_jobbasfil  TO TIMESTAMP '2012-04-05 14:00:00'
 
ORA-08189: 因为未启用行移动功能, 不能闪回表
 
SQL> alter table bd_jobbasfil enable row movement; 
 
Table altered
 
SQL>  FLASHBACK TABLE bd_jobbasfil  TO TIMESTAMP '2012-04-05 14:00:00';
 
FLASHBACK TABLE bd_jobbasfil  TO TIMESTAMP '2012-04-05 14:00:00'
 
ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 CHAR
 
SQL> FLASHBACK TABLE bd_jobbasfil  TO TIMESTAMP to_date('2012-04-05 14:00:00');
 
FLASHBACK TABLE bd_jobbasfil  TO TIMESTAMP to_date('2012-04-05 14:00:00')
 
ORA-01861: 文字与格式字符串不匹配
 
SQL> FLASHBACK TABLE bd_jobbasfil  TO TIMESTAMP to_date('201204051400','yyyymmddhh24mi');
 
Done
 
SQL> 

done,之后都恢复了,一切搞定。

转载于:https://www.cnblogs.com/sumsen/archive/2012/05/29/2524731.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值