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

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

2012-05-29 22:09 495 查看
可以解决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,之后都恢复了,一切搞定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: