love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客

Phone:18180207355 提供专业Oracle/MySQL/PostgreSQL数据恢复、性能优化、迁移升级、紧急救援等服务

sysaux大面积坏块的例子

本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客

本文链接地址: sysaux大面积坏块的例子

某网友的问题,一个11.2.0.3的windows数据库,出现异常,数据库最后经过多人多次抢救之后能够open了,但是查询v$instance,v$database,v$datafile等任何试图都报错,报如下的600错误:

这个错误其实是非常容易解决的,本质上就是Index的问题。当然他这里的问题并不止这一个,还有一个问题就是sysaux01.dbf文件居然存在1280个数据坏块,如下:

一般来讲出现大面积坏块的可能性是比较小的,而且这里的坏块数量也是很奇怪的。我通过bbed简单看楼下,发现后面的1280个坏块都是连续的,而且都是空块(非正常空块)。如下:

对于这个sysaux的坏文件,如果我们要进行处理,其实并不难,可以dd截取前面的138240 个block,然后同时修改数据文件头的kccfhbsz(单位为block),以及位于system数据文件中的
file$基表中的对应数据文件的大小信息即可。

当然,做完这些之后,你需要重建controlfile,来使信息保持一致。

Leave a Reply

You must be logged in to post a comment.