存储故障导致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存储,

1
2
3
#export ORACLE_SID=+ASM1
#asmcmd
>lsdg

  

共享磁盘状态是正常的,接着查看数据文件状态

1
2
3
4
set pagesize 999;
set linesize 300;
col name for a100;
select file#,name,status from v$datafile;<br><br>
1
10 +DATA01/*********       RECOVER  

数据文件10 status处于recover状态,其他的数据文件都是online状态

故障解决:先尝试将datafile 10 offline

1
alter database datafile 10 offline;

  执行成功后查看datafile的状态,依然是recover状态,看日志刚才的offline命令确实也执行成功了。先不管,

继续尝试直接recover,如果不行考虑从备份中restore再recover。

1
2
rman target /
recover datafile 10;

  执行过程中观察有没有报错。这次是直接执行成功了,没有报错。接着使datafile online

1
alter database datafile 10 online;

  执行成功后查看alert日志。已经恢复正常,不再报之前的错误。

posted @   wazz_s  阅读(1243)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示