日期:2014-05-16  浏览次数:20495 次

data block corrupted解决方法

不知道什么原因,程序中报了以下错误:

ORACLE data block corrupted (file # 8, block # 181)
data file 6:'*******.dbf'

?

查了一下,解决办法是:

1、运行select * from dba_extents where file_id=8 and 181 between block_id and block_id+blocks-1;

???? 目的是:找到坏块出现的文件号和块号(我查到的是一个索引有问题)。

2、删掉这个索引,重启数据库,再建上这个索引。

?

就偶了。

?

然后又找了一下产生错误的原因,这么说的:

?????当ORACLE访问一个数据块时,由于1、硬件的I/O错误;2、操作系统的I/O错误或缓冲问题;3、内存或paging问题;4、ORACLE试图访问一个未被格式化的系统块失败;5、数据文件部分溢出等上述几种情况的一种引起了逻辑坏块或者物理坏块,这时就会报ORA-01578的错误。

?

乖乖,上面的5条听都没听说过,留着以后参考吧。