今天是2007年10月9号,中午下班的时间到了,我象往常一样离开座位,准备下楼吃饭了,此时我们开发部的一个同事走了过来需要我现在帮他直接从后台改几个表的数据,于是我便打开了电脑开始了操作,select,delete,update,做了几个表后,还有好几个表,此时的我有点心急了,就想快点做完,赶快下楼吃饭去,当做又一个表的UPDATE的时候,我WHERE条件还没写就啪的一下按下了回车,此时只听我身后的开发的 同事一声残叫':哎呀,坏了!!!',我还没回过神来,"怎么啦?",我问到,"你还没加条件就回车了,把整张表都UPDATE了!"我一看,傻眼了 !!!此时我的脑袋轰下就就响了起来,"这该怎么办",我心里反复的问自己,不行,越是这个时候越要冷静,我心里对自己说,我马上先把数据库的这个表做了个备份,然后停库,对日志进行了COPY,然后又查了下时间,于是我就开始了艰苦的恢复历程了!!因为我们有些电子商务的业务所以我必须要把数据的更改给尽快的恢复回来!我先把昨天的数据在另一台上就进行了恢复,然后接着对日志中关于这个表的数据进行了提取,在然后对时间进行了分类的提取,做后把提取的最终的结果给找了出来,还好不是很多,从我昨天的备分表恢复到现在的更改也就30多条记录,终于经过一个多小时的努力,数据得以恢复了!!!
心得:
做为DBA,一定要为自己在后台数据库上的操作的每一个命令,要仔细再仔细的进行检查,千万不能心急,无论在任何情况下!
特别要注意DELETE,UPDAE这样的DML命令一定要注意不要忘了WHERE条件!!!切记!切记!!!
在进行了误操作后一定不能心慌,要一定冷静,再冷静!!
在误操作后,要立马看下系统的时间,以便后面的恢复用到
在误操作后,要赶快进行相关数据(表,日志)的备份.
在恢复后,不要忘了进行经验的总结,以免再犯!
阅读(1318) | 评论(0) | 转发(0) |