文件系统损坏,oracle数据库恢复

Posted 惜分飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件系统损坏,oracle数据库恢复相关的知识,希望对你有一定的参考价值。

今天接到一个客户的服务请求,由于服务器被强制重启,数据库无法启动
ORA-1200报错
技术分享图片


这是一个常见的ORA-1200错误,但是文件大小相差的有离谱实际大小729600个block,但是现在只有149760个block.不像是一般主机重启导致的数据库异常.通过再次咨询客户实际是什么情况,客户那边如实描述:三个磁盘的raid 5由于两个盘掉线,后来使用最后一个好的盘和最后掉线的盘,强制拉起raid,系统启动通过长时间的自检之后,就是出现这样的情况.通过进一步检查发现,发现大多数数据文件异常.
文件系统中数据文件截图
技术分享图片


通过查询数据库确定文件大小情况
技术分享图片


对比文件系统中的文件和数据库查询结果,可以发现绿色框中的文件全部大于文件系统中文件,蓝色框中的文件在文件系统中丢失.对于这样的情况,由于被强制online的磁盘中有坏道,导致文件系统损坏,从而出现大量文件大小异常甚至文件丢失;或者是由于选择错了上线的磁盘出现该问题(通过分析存在的文件,判断确定上线的盘没有问题),那就是文件系统故障导致.
底层重组恢复
解决该问题的方法是通过底层block恢复,重组oracle数据文件,并且检查恢复文件坏块情况.参考:Oracle 数据文件大小为0kb或者文件丢失恢复
技术分享图片


分析文件坏块原因
技术分享图片


由于文件所在block被覆盖或者磁盘坏道导致这部分block直接被空块填充.
这个客户比较幸运,直接open数据库成功,坏坏块进行分析判断业务表空间数据文件的坏块全部为index,业务数据0丢失.

如果您遇到此类情况,无法解决请联系我们,提供专业ORACLE数据库恢复技术支持
Phone:13429648788    Q Q:107644445技术分享图片    E-Mail:[email protected]

以上是关于文件系统损坏,oracle数据库恢复的主要内容,如果未能解决你的问题,请参考以下文章

ORA-01578: ORACLE 数据块损坏 (文件号 4, 块号 1322) ORA-01110: 数据文件 损坏

Oracle 数据块损坏与恢复具体解释

细数基于ORACLE 数据库环境的常见数据灾难解决方式

Oracle文件介质损坏的修复方法

Oracle 10.2.0.5 非归档current redolog损坏处理一例

案例:Oracle exp dmp文件损坏 通过CPFL工具抽取dmp中的数据表进行恢复