星期四, 四月 27, 2006
利用9i 的 flashback query 闪回来恢复数据
今天上午接到客服工程师的电话,说误更新了部分重要数据,并且已经提交,需要恢复。
询问数据库版本,是Oracle9iR2,考虑尝试使用flashback query闪回来恢复数据。
询问误操作发生时间,大概是上午 10:52 左右,看看时间,现在是 11:20,大概 28 分钟以前
误操作的表是 mv_workitem
下面是给她的操作步骤
1、create table mv_workitem_bak as
SELECT * FROM mv_workitem AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '30' MINUTE);
2、查看 mv_workitem_bak 中的数据是否是更新前的数据
3、如果是更新前的数据,删除 mv_workitem 中的数据
delete from mv_workitem;
4、insert into mv_workitem select * from mv_workitem_bak;
5、select * from mv_workitem;
6、如果数据没有问题, commit
现场经过操作,客服工程师报告数据恢复。
厉害,只是不知这“她”是谁? 给扣绩效了吧?
顺便问一下:DB2有没有这么好用的功能哇?该怎么实现?
Comment by
jato_su
(09/13/2007 16:12)



