rman備份後發現壞塊的處理

paulyibinyi發表於2009-06-14

    今天下午,遷移資料完成後,再給使用者做rman備份,備份到一半後,報

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on t2 channel at 06/14/2009 15:49:09
ORA-19566: exceeded limit of 0 corrupt blocks for file /ora9idata02/oradata/stjj/ntiis_01.dbf

 

檢查日誌中發現以下表空間檔案號和塊號

Corrupt block relative dba: 0x1a43d4e3 (file 24, block 359808)
Fractured block found during backing up datafile
Data in bad block -
 type: 0 format: 0 rdba: 0x00000000
 last change scn: 0x0000.00000000 seq: 0x0 flg: 0x00
 consistency value in tail: 0x00000000
 check value in block header: 0x0, block checksum disabled
 spare1: 0x0, spare2: 0x0, spare3: 0x0
***

然後用dbv檢查發現至少有四,五個壞塊

dbv file=/ora9idata02/oradata/stjj/ntiis_01.dbf  blocksize=8192

然後用以下sql檢查,看是什麼物件損壞

select * from dba_extents where file_id=24 and 359808 between block_id and block_id+blocks-1;
透過檢查沒有任何行輸出
 
如果所有的壞塊執行這個sql檢查出來的結果都是返回0行,說明沒有物件在壞塊上。
 
因為資料剛導完,應用還在測試,這個使用者下的表沒資料更新,
而且這個表空間只屬於這個使用者,就採取刪除,重建表空間的方法和資料重新匯入
 
然後用rman備份資料正常
 
也可採用小荷的方法:
 

 

 

 

 


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

相關文章