磁碟壞道引起的ora-01242 media failure

dotaddjj發表於2012-06-25

早上連線生產庫發現出現錯誤,資料庫意外關閉了。

Alertsqlplus中提示如下錯誤:

Errors in file /db/oracle10g/admin/benguo/bdump/benguo_dbw0_2029.trc:

ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode

ORA-01114: IO error writing block to file 2 (block # 36874)

ORA-01110: data file 2: '/db/oracle10g/oradata/benguo/undotbs01.dbf'

ORA-27072: File I/O error

Linux-x86_64 Error: 5: Input/output error

其實根據最後的Linux-x86_64 Error: 5: Input/output erroros上的IO出現錯誤,根據前面的ora-01242中的media failuredatabase in NOARCHIVELOG mode很有可能是介質崩潰導致的例項啟動後無法自動recover,而並不是crash導致的undo表空間問題。

檢視os上的日誌看看

[root@server24 ~]# dmesg|tail -n 100

…..

sd 0:0:1:0: SCSI error: return code = 0x08000002

sdb: Current: sense key: Medium Error

Add. Sense: Read retries exhausted

Info fld=0xcf74067

end_request: I/O error, dev sdb, sector 217530471

sdb: Current: sense key: Recovered Error

Add. Sense: Failure prediction threshold exceeded

sdb: Current: sense key: Recovered Error

Add. Sense: Failure prediction threshold exceeded

sdb: Current: sense key: Recovered Error

Add. Sense: Failure prediction threshold exceeded

Sdb盤的IO出現問題,也就是raid出現了問題,可能存在邏輯或者物理的扇區壞塊。

透過badblocks –sv /dev/sdb並沒有出現所謂的pass completed, 0 bad blocks found而是發現存在n多的壞塊,由於沒有明確的明確的起始塊直接全盤檢測。

嘗試再次啟動資料庫到mount,然後做一個簡單的recover然後資料庫正常開啟,但是由於此塊磁碟存在壞塊,如果是邏輯壞塊直接fsck –a /dev/sdb,不過如果是物理壞塊或者磁軌損壞(0磁軌損壞無法檢測到硬碟),就需要儘快備份資料然後更換磁碟了,物理壞塊是會傳遞的!

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1058637/,如需轉載,請註明出處,否則將追究法律責任。

相關文章