昨天公司机房停电,由于一台数据库主机事先没有shutdown,操作系统是red hat 5,通电后重启,发现数据库instance启不来了,一个报controlfile01 和 controlfile03不一致,另一个报的是啥内部错误,忘了具体错误号了。几经努力,两个库都能startup了,一个是恢复正常了,但另一个却很多操作都不能做,譬如事务之类的,,这个库可是非常极其重要的啊,于是让另一个同事exp 导数据,好几十G那。。。,然后重建实例,再把数据导进去。。
今天又接到他的电话,说是根目录/满了,而且root用户都不能删任何文件或目录,报read-only file system.记得昨天空间还是够的嘛,今天一看确是100%了,而且他昨天也没动啥啊,上网查了说是fs mount为read only的,但mount查看时fs却是rw的呵。不能删任何数据,不能写任何数据,oracle也就启不来了,启不来就用不了,,他还说,这些个数据都还是没备份的!!!冒汗。。
于是,只能试着重启一把主机进入维护模式看能不能修复了,重启时确实发现文件系统出问题了,很多inode都是混乱的,按它提示一个个修复,系统启起来后,发现还是不能删东西,于是再fsck,重启,,,
哈,看到红帽子界面了,估计是有戏了,总是在想,系统总不会这么脆弱吧!果是,可以删文件了,于是清理掉一些'垃圾'文件,腾出空间来,先备份下另一个库吧,startup另一个instance,exp导数据,监控文件系统使用情况,发现根目录/又开始涨了,查查发现原来是exp时oracle在bdump目录写日志文件,于是豁然明白昨天就是因为在导出数据时这样子把根目录给撑爆了(原先这个文件系统空闲空间本就不多)。
数据导出来,这才松了一大半口气,剩下的就是重建instance,重导数据了。。。
断电对于数据库系统来说,简直,就是,一场灾难啊,断电后,系统、数据库是否能够正常启动可都是个X,先前几次的断电,放在iSCS盘阵的文件系统坏了,数据全丢了就是教训!要是在生产环境,就是重大故障了啊!!强烈建议,有条件,机房一定要配UPS,主机都要接n+1路不同电源,断电前先把数据库停掉,然后shutdown主机,定期做好备份工作。。
叹一声,我的 5.1 。。。
阅读(771) | 评论(1) | 转发(0) |