環境:系統Linux 2.6.28.10 數據庫版本:Oracle10g rac
故障描述:數據庫連接不上,查看數據庫日志ORA-00376: file 10 cannot be read at this time
ORA-01110: data file 10: '+DATA01/********'
故障分析:查看硬件共享存儲,由於更換硬盤,raid降級,正在做數據同步。同步過程中有報錯 unreadable sector(s) detected ,扇區有報錯。應該就是由此導致的。
在系統里查看asm存儲,
#export ORACLE_SID=+ASM1 #asmcmd >lsdg
共享磁盤狀態是正常的,接着查看數據文件狀態
set pagesize 999; set linesize 300; col name for a100; select file#,name,status from v$datafile;
10 +DATA01/********* RECOVER
數據文件10 status處於recover狀態,其他的數據文件都是online狀態
故障解決:先嘗試將datafile 10 offline
alter database datafile 10 offline;
執行成功后查看datafile的狀態,依然是recover狀態,看日志剛才的offline命令確實也執行成功了。先不管,
繼續嘗試直接recover,如果不行考慮從備份中restore再recover。
rman target / recover datafile 10;
執行過程中觀察有沒有報錯。這次是直接執行成功了,沒有報錯。接着使datafile online
alter database datafile 10 online;
執行成功后查看alert日志。已經恢復正常,不再報之前的錯誤。