昨天ibm磁盘阵列更换一块损坏的硬盘(11号硬盘),厂家换上去的硬盘数据同步失败(12磁盘 ==》11磁盘),而且发现磁阵中的热备盘也无显示同步失败,几小时后连接存储的相关oracle数据库RAC1开始大量报错,节点2直接dg 不能mount挂掉了,rac1日志:

Reread of rdba: 0x03801dbb (file xx, block xxxx) found same corrupted data
--xx和xxxx每次报错不相同

重启rac2无法读取controlfile 文件。重启rac1,mount不上,一直停留在

SMON: enabling tx recovery

还会出现

MMNL absent for 1211 secs; Foregrounds taking over

查看trace文件,发现arch进程超时,还是硬盘问题。


查看之前的备份日志,备份在本地还算正常。dd测试读共享存储的sde和sdd硬盘,不行。索性rac1重启,机器重启后,oracle正常打开,赶紧rman备份,看来应该是主机跟存储的连接问题。

严重怀疑12磁盘中有坏快,一组RAID卷在工作很长时间以会在没有读到的区域或者以前读取是良好的区域产生坏道,这类坏道因为没有读写过,所以在控制器看来是好的。产生这种坏磁道的最直接危害是在REBUILD过程中。当一块物理硬出现问题后,一般都考虑REBUILD,REBUILD是对全盘做全面同步,那些坏道会被读到,这时候REBUILD不能完成,新盘无法上线,因旧盘里又发现了坏道,出现上下两难的情况。

(1)更换磁盘前备份是最重要的

(2)不要把所有磁盘做一组raid 大家一起用 分开做么  raid5 --》log raid 10 --》datafile,不是很好么

(3)磁阵问题,解决不了,备份后重启试试

如确定后离线的硬盘,可通过强制上线恢复数据(有些控制器没有选项,就没办法了)

另外,同步时候 主机和磁阵连接应该出现问题了,看应用日志同步失败后速度越来愈慢,越来越慢,最后4小时候出现不能读写的问题