数据库崩溃灾难记实

发表于:2007-06-22来源:作者:点击数: 标签:
环境: digital unix 4.0f, oracle 7.3.4 , 双机,阵列, raid5 备份方法是每天半夜12点自动exp整个 数据库 。 上午8:55,数据库突然挂起,alert文件的报错信息如下: Fri Dec 21 08:33:57 2001 Thread 1 advanced to log sequence 2076 Current log# 3 seq#

   
  环境: digital unix 4.0f, oracle 7.3.4 , 双机,阵列, raid5
  备份方法是每天半夜12点自动exp整个数据库
  
  上午8:55,数据库突然挂起,alert文件的报错信息如下:
  Fri Dec 21 08:33:57 2001

  Thread 1 advanced to log sequence 2076
  Current log# 3 seq# 2076 mem# 0: /oradata/oracle7/oradata/ORA7/redoORA703.log
  Fri Dec 21 08:54:33 2001
  KCF: write/open error dba=0x8003dea block=0x3dea online=1
  file=2 /oradata/oracle7/oradata/ORA7/rbs01.dbf
  error=7376 txt: 'Digital Unix Error: 5: I/O error
  Additional information: 15850'
  
  立刻把此信息报告给unix系统管理A,A同事去机房处理....
  此时,我还没怎么着急,心想数据库虽然很重要,但我有备份,大不了imp一遍。
  我开始在网上查rbs损坏的处理方法,大约过了半个小时,A同事还没消息,我想还是把exp出来的数据准备好吧,te.net上去一看
  
  . . exporting table B_LIST
  EXP-00014: error on row 10 of table B_LIST
  
  EXP-00008: ORACLE error 1092 encountered
  ORA-01092: ORACLE instance terminated. Disconnection forced
  EXP-00222:
  System error message 2
  EXP-00008: ORACLE error 3114 encountered
  ORA-03114: not connected to ORACLE
  EXP-00222:
  System error message 2
  EXP-00000: Export terminated unsuclearcase/" target="_blank" >ccessfully
  
  EXP-00222:
  System error message 2
  
  差点晕倒,再往前看,好几天的exp都不成功,顿时冷汗全出来了,有点虚脱,既而手脚冰凉。my god! 下属40多个单位,60个帐套好几年的财务数据全在上面,而且所有的EDI数据也全在上面...
  。。。
  大脑空白5分钟
  。。。
  手有点抖,用最快的速度回想,发现最后一次全备份是12月11号,9天以前的,现在是年底,财务最忙的时候,要是让他们补9天的数据还不把我给吃了.....A同事还是没消息。。
  开始深深自责,为什么昨天、前天、大前天、大大前天没看一下备份成功没有呢?!若看了不就能防患于未然,今天的事故不就不会发生了吗?!为什么那么要懒那么一下呢?!......
  两分钟后,开始打电话搬救兵,咨询出一个认为是最好的恢复办法,查资料,看这个方法的可行性,在纸上写出详细步骤,在笔记本上重写一遍,推敲步骤是否正确。
  A同事那边还是没消息。。。
  等待。。。
  祈祷他那边一切顺利,数据文件完好无损,我祈祷。。。
  时间过得好慢呀!
  n年过去了,电话还没响。。。
  等。。。
  
  电话终于响了,A同事说文件已经恢复了,让我试一下。
  当时很激动,深呼吸两口,好象稍微平静了点。 telnet上去
  svrmgrl>connect internal
  svrmgrl>startup
  眼睛盯着屏幕,instance start, database mount..............database open, 长嘘一口气,心放了下来,又有点虚脱...
  看看表,11:00,整整两个小时,大悲大喜,深刻领悟了什么是DBA。
  
  A同事回来了,说是磁盘有点故障,幸亏用的是RAID5,坏一块盘没问题。
  开始做EXP,我都是在A服务器上备份B服务器上的数据,B服务器备份A服务器上的数据,这次发现速度奇慢无比,以为是数据库问题,登录查询了几个大表,速度跟以前比没变化,在本机做EXP,一切OK。
  回过头来,再看看昨天、前天EXP的LOG文件,原来EXP太慢了,exp是数据库崩溃的时候才断的,所以有1092错误。my god!
  一个很奇怪的问题出现了,A机 EXP B机的数据没问题,但是B机 EXP A机的数据就速度奇慢,出现3113错误,问题到现在还不知原因。
  
  5:00下班。这就是一个DBA的一天。

原文转自:http://www.ltesting.net