DBA误操作 ODU救命记 (非广告)

仍然是多事9月5日上午

4号晚上睡的太晚,5号一来继续看那个DL580 G3 + Oracle 10.2.0.1裸奔机

发现一个索引应该没太大用处,Toad下DESC 这个表调出了Table,原本

想删掉那个无用索引,结果点了Toad中最右边Truncate的按钮,Index没删

掉,表却被截断了。

立刻认识到闯了祸,做DBA这么多年还是头一次犯这种低级错误。想用Undo

找回来可这是DDL操作Undo没用。马上打电话给开发的头,问这个表到底是做

什么用。一番电话得知是锡膏发料使用。非核心表,但数据也有用。开发头问可

否在Standby DB里面找回来,心中不禁一番苦笑,那Standby DB和Primary DB

都是实时应用,从Standby DB找根本没戏了。

只好先安慰开发,自己用ODU碰碰运气。这个表所在的Tablespace里面还有很

多表,不可能Offline,只好Online把数据文件拷贝到我的电脑上。拷贝过程中又

研究这个表,竟然发现一个Trigger当Update时记录原始记录,找开发确认,

他也看过这个历史记录表,但里面最近2天数据似乎不全。用历史记录恢复数据

这条路被阻死。

一番折腾后终于把文件拷贝到我的电脑上,试验了两次ODU终于恢复出9万多笔

数据,最迟的是9月4日下午18:45的,与开发确认可以接受,终于收工。

DBA对DDL操作一定要小心,Double Check后再做。个人也要休息好,不能太累。

脑子不清楚时一定要小心再小心。







请使用浏览器的分享功能分享到微信等