您的位置:首页 > 数据库

关于最近一次数据库表的丢失的教训

2011-07-02 13:29 302 查看
前天数据库表数据丢失的杯具就发生在偶的身上.这也证明了,无知识的可怕性与无胆量的杯具.
这一段时间,我一直都是在负责管理数据库,主要是管理数据库中的生产数据,而对于数据库本身的管理,可以说是一无所知(这也是俺下一个阶段打算学习的).而前几天发生的事情却让我倍受折磨.
我在最近一次导数据中,不经意间删掉了一张生产数据表的所有数据.因为系统前一段时间上线,写了一个脚本作为系统初始化数据用的,为了每次测试的方便,所以就是数据初始化前面加了一段delete ....commit;
正是因为这一段,才有了下面的杯具.
脚本是经过bat通过sqlplus连接到数据库进行数据操作了,而最近,又希望从别的库中的向这个系统的这个表的导数据,所以就把原先的脚本找来改改就用了,但是那一段delete sql没有删掉,所以杯具就发生了.
让我发现在sql执行的结果时,不应当的后果时,心跳马上就加速了,第一反应就是完蛋了,这次死定了,我怎么才能把数据给补上呢?我一心直想着自已如何才能把数据给补上,我该怎么办呢?????
东拼西凑,数据也还是不够,就这样一天的工作日子就这样过去了.晚上回到家可是寝食难安呀,心想,要不给经理发个email,然后摆出一副死猪不怕活水烫,等着他来处理....再要不就卷铺盖走了,大不了老子不干了....
忽然,脑子灵光一闪,有了,oracle数据库数据恢复不是有好多办法吗?为什么白天没有想到,到网上baidu一下,果然oracle数据库数据恢复有好多办法,但是现在已经是夜里2点,只好等到天亮了.原先我发现,现在才是真正的杯具开始,明明已经有了办法补救,可是也能慢慢的等,时间真的好好漫长长长长长长长长呀....................
7点多一点点,就到公司了,打算用网上讲的办法恢复数据库的数据,例如闪回,可是黄金时间已经过了(已经过了24小时了),早死菜了,想要找恢复日志,因为管理员密码没有,如果这果不是经理们都知道了这件事了, 那也可能数据修好了,也要死菜......怎么办呢????
山重水复疑无路,柳暗花明又一村.可能是老天帮我.在我打算放弃的时候,把这件事告诉了我的同事,因为他是作这个项目的需求的,所以数据他是很清楚的,他晃然间给我点提示.
原来,我删掉的那个表是一张部表,大约7张表的总表,那么我只需要把好7张表的数据找到,然后按照数据汇总的规则生成总据不就o了,(当时设计这个表就是为系统oltp的访问性能,并且数据生成规则全部写在java里,而是处理单行记录,啊啊啊,我只好自已写了????不是吗??还好,有思路了,经过半天的奋斗,数据终于整理完了,写进库里了,这样可以放松了.

但是我回想了这件事情,其实这件事情很简单,如果当时我不心跳加速,平心静气,1分秒就可能搞定这件事情了.
比如可以这样恢复数据 select * from table_name as of timestamp to_timestamp('2011-06-30 09:01:30','yyyy-mm-dd hh24:mi:ss');
当时心一加速,一切都忘了....................这就是导致杯具的主要原因.人要学会承担.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐