存儲故障導致oracle 數據文件處於recover狀態


環境:系統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日志。已經恢復正常,不再報之前的錯誤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM