导读:某客户单位数据库出现异常,大致现象是:数据库状态是open的,但是其中一个数据文件无法访问,本文分享排查原因与解决问题的整个过程。 
通过ls 查看文件都报错,如下所示:
[oracle@oracledata01 oracle]$ lsls: 无法访问zf4.dbf: 输入/输出错误
同时dd命令也无法读取该文件:
[oracle@oracledata01 fd]$ dd if=zf4.dbf bs=8192 count=1 skip=1|od -x|header -1bash: header: command not founddd: 正在打开"zf4.dbf": 没有那个文件或目录
此时在从数据库层面看到的信息类似如下:
Tue Apr 28 16:49:51 2020Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_ora_9146.trc:ORA-01157: 无法标识/锁定数据文件 11 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 11: '/oracle_data/oracle/zf4.dbf'ORA-1157 signalled during: ALTER DATABASE OPEN...Tue Apr 28 16:49:51 2020Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_m000_9152.trc:ORA-27037: 无法获得文件状态Linux-x86_64 Error: 5: Input/output errorAdditional information: 3ORA-01122: 数据库文件 11 验证失败ORA-01110: 数据文件 11: '/oracle_data/oracle/zf4.dbf'ORA-01565: 标识文件 '/oracle_data/oracle/zf4.dbf' 时出错ORA-27037: 无法获得文件状态Linux-x86_64 Error: 5: Input/output errorAdditional information: 3Tue Apr 28 16:50:19 2020USER (ospid: 9309): terminating the instance
从上述信息来看,数据库第11号文件无法读取。
在我们进行恢复之前,客户进行了多次尝试,还遭遇了一些数据库坏块,也遇到了不少ora-00600 错误:

本文讲述了如何排查和解决数据库因Linux文件系统异常导致的数据文件无法访问的问题。在数据库显示open状态下,文件访问出错,通过odu扫描、dd命令及bbed工具进行文件恢复和数据修复。建议使用ASM作为更优的数据库存储选择。
最低0.47元/天 解锁文章
734

被折叠的 条评论
为什么被折叠?



