存储故障导致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日志。已经恢复正常,不再报之前的错误。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~