墨墨导读:某客户单位数据库出现异常,大致现象是:数据库状态是open的,但是其中一个数据文件无法访问,本文分享排查原因与解决问题的整个过程。

通过ls 查看文件都报错,如下所示:

[oracle@oracledata01 oracle]$ ls
ls: 无法访问zf4.dbf: 输入/输出错误

同时dd命令也无法读取该文件:

[oracle@oracledata01 fd]$ dd if=zf4.dbf bs=8192 count=1 skip=1|od -x|header -1
bash: header: command not found
dd: 正在打开"zf4.dbf": 没有那个文件或目录

此时在从数据库层面看到的信息类似如下:

Tue Apr 28 16:49:51 2020
Errors 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 2020
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_m000_9152.trc:
ORA-27037: 无法获得文件状态
Linux-x86_64 Error: 5: Input/output error
Additional information: 3
ORA-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 error
Additional information: 3
Tue Apr 28 16:50:19 2020
USER (ospid: 9309): terminating the instance

从上述信息来看,数据库第11号文件无法读取。

在我们进行恢复之前,客户进行了多次尝试,还遭遇了一些数据库坏块,也遇到了不少ora-00600 错误:

Wed Apr 29 03:10:12 2020
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_j009_65816.trc:
ORA-12012: 自动执行作业 "ZX_XT"."JS_XT_XZGLXX_XZXK_FR" 出错
ORA-06502: PL/SQL: 数字或值错误 :  字符串缓冲区太小
ORA-06512: 在 "ZX_XT.PKG_双公示接收_邢_2019", line 1071
ORA-00942: 表或视图不存在
ORA-02063: 紧接着 line (起自 BM_SJJH)
alter database datafile 11 resize 20g
Completed: alter database datafile 11 resize 20g
Wed Apr 29 03:10:15 2020
Corrupt Block Found
CONT = 0, TSN = 1, TSNAME = SYSAUX
RFN = 3, BLK = 3, RDBA = 12582915
OBJN = 1, OBJD = -1, OBJECT = _NEXT_OBJECT, SUBOBJECT =
SEGMENT OWNER = SYS, SEGMENT TYPE = Invalid Type
Wed Apr 29 03:10:15 2020
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_m006_66106.trc  (incident=246250):
ORA-00600: 内部错误代码, 参数: [kdBlkCheckError], [3], [3], [18018], [], [], [], [], [], [], [], []
Incident details in: /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/incident/incdir_246250/orcl_m006_66106_i246250.trc
Wed Apr 29 03:10:15 2020
......
Wed Apr 29 03:11:00 2020
Doing block recovery for file 3 block 3
Resuming block recovery (PMON) for file 3 block 3
Block recovery from logseq 50078, block 15827 to scn 14514058257813
Wed Apr 29 03:11:00 2020
Recovery of Online Redo Log: Thread 1 Group 3 Seq 50078 Reading mem 0
Mem# 0: /oracle_data/oradata/orcl/redo03.log
Block recovery completed at rba 50078.23957.16, scn 3379.1363764630
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_m004_66271.trc  (incident=245043):
ORA-00600: 内部错误代码, 参数: [kdBlkCheckError], [3], [3], [18018], [], [], [], [], [], [], [], []
Incident details in: /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/incident/incdir_245043/orcl_m004_66271_i245043.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Wed Apr 29 03:11:01 2020
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_m004_66271.trc:
ORA-00600: 内部错误代码, 参数: [kdBlkCheckError], [3], [3], [18018], [], [], [], [], [], [], [], []
Wed Apr 29 03:11:02 2020
......
Wed Apr 29 03:15:49 2020
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_j000_65779.trc  (incident=245026):
ORA-00600: internal error code, arguments: [13011], [7907], [12713924], [44], [12687314], [0], [], [], [], [], [], []
ORA-01403: no data found
ORA-06512: at "SYS.DBMS_AQ_INV", line 1248
ORA-06512: at line 1
Incident details in: /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/incident/incdir_245026/orcl_j000_65779_i245026.trc
Wed Apr 29 03:15:52 2020
Dumping diagnostic data in directory=[cdmp_20200429031552], requested by (instance=1, osid=65779 (J000)), summary=[incident=245026].
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_j000_65779.trc  (incident=245027):
ORA-00600: internal error code, arguments: [13011], [7907], [12713924], [44], [12687314], [0], [], [], [], [], [], []
ORA-01403: no data found
ORA-06512: at "SYS.DBMS_AQ_INV", line 1248
ORA-06512: at line 1
Incident details in: /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/incident/incdir_245027/orcl_j000_65779_i245027.trc
Use ADRCI or Support Workbench to package the incident.
......
Wed Apr 29 04:05:07 2020
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_m003_76294.trc:
ORA-00600: 内部错误代码, 参数: [kdBlkCheckError], [3], [3], [18018], [], [], [], [], [], [], [], []
Wed Apr 29 04:05:08 2020
Dumping diagnostic data in directory=[cdmp_20200429040508], requested by (instance=1, osid=76263), summary=[incident=282250].
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_ora_76263.trc  (incident=282251):
ORA-00600: 内部错误代码, 参数: [qosdFindObjRead: objcnt mismatch], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/incident/incdir_282251/orcl_ora_76263_i282251.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Wed Apr 29 04:05:10 2020
Sweep [inc][282251]: completed
Sweep [inc2][282265]: completed
Sweep [inc2][282251]: completed
Wed Apr 29 04:05:10 2020
Dumping diagnostic data in directory=[cdmp_20200429040510], requested by (instance=1, osid=76263), summary=[incident=282251].
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_ora_76263.trc  (incident=282252):
ORA-00600: 内部错误代码, 参数: [qosdFindObjRead: objcnt mismatch], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/incident/incdir_282252/orcl_ora_76263_i282252.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Wed Apr 29 04:07:26 2020
......
Wed Apr 29 04:24:01 2020
Sweep [inc][279857]: completed
Sweep [inc2][279857]: completed
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_ora_78503.trc  (incident=279858):
ORA-00600: 内部错误代码, 参数: [qosdFindObjRead: objcnt mismatch], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/incident/incdir_279858/orcl_ora_78503_i279858.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Wed Apr 29 04:24:03 2020
Sweep [inc][279858]: completed
Sweep [inc2][279858]: completed
Wed Apr 29 04:24:04 2020
Dumping diagnostic data in directory=[cdmp_20200429042404], requested by (instance=1, osid=78503), summary=[incident=279858].
Wed Apr 29 04:25:57 2020
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_ora_78738.trc  (incident=282222):
ORA-00600: 内部错误代码, 参数: [qosdFindObjRead: objcnt mismatch], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/incident/incdir_282222/orcl_ora_78738_i282222.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Wed Apr 29 04:25:58 2020
Sweep [inc][282222]: completed
Sweep [inc2][282222]: completed
Wed Apr 29 04:25:58 2020
Dumping diagnostic data in directory=[cdmp_20200429042558], requested by (instance=1, osid=78738), summary=[incident=282222].
Errors in file /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/trace/orcl_ora_78738.trc  (incident=282223):
ORA-00600: 内部错误代码, 参数: [qosdFindObjRead: objcnt mismatch], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /oracle_app/Oracle12c/diag/rdbms/orcl/orcl/incident/incdir_282223/orcl_ora_78738_i282223.trc

上述ora-00600 错误,总的来都是常见的,几乎都可以定性为数据坏块。

对于file 3的坏块,处理相对简单,直接drop或者truncate相关对象即可,然后重建awr。

但是对于第11号数据文件,怎么办呢?这里我们的处理方法是当文件丢失处理(很久之前处理过Windows环境数据文件大小为 0 kb的问题,这几种情况都类似。)

这里我说一下简单的处理思路:

1. 通过odu 扫盘,分别以不同offset方式来扫(0和4096)。

2. 对比两次扫描结果,组合extent信息,抽取文件。

由于这里文件只有1个,大小20g左右,通过dd 拼接即可。

最终文件拼接完成后,由于这里是非归档环境,无法进行正常recover,因此还需要通过bbed来修改数据文件头的checkpoint信息。

对于文件系统来讲,目前已经不是Oracle存储的最佳选择了,建议使用ASM。当然,其他数据库比如MySQL、PostgreSQL除外。

推荐阅读:144页!分享珍藏已久的数据库技术年刊

数据和云

ID:OraNews

如有收获,请划至底部,点击“在看”,谢谢!

点击下图查看更多 ↓

云和恩墨大讲堂 | 一个分享交流的地方

长按,识别二维码,加入万人交流社群

请备注:云和恩墨大讲堂

  点个“在看”

你的喜欢会被看到❤

案例详解:Linux文件系统异常导致数据库文件无法访问相关推荐

  1. 详解Linux文件系统

    文章目录 思维导图下载: 磁盘组成与分区 磁盘的组成: 为啥要进行格式化 FHS文件系统层级标准 ext文件系统结构 ext文件系统与目录的关系 术语 ext系列文件系统的区别 ext文件系统 ext ...

  2. linux 文件系统cache,终于找到一篇详解Linux文件系统Cache的文章

    级别: 初级 2006 年 5 月 11 日 文件 Cache 管理是 Linux 内核中一个很重要并且较难理解的组成部分.本文详细介绍了 Linux 内核中文件 Cache 管理的各个方面,希望能够 ...

  3. 恢复专家详解.malox勒索病毒对数据库文件的加密方式和解决方案

    当企业的服务器遭遇勒索病毒入侵攻击时,往往最为重要的莫过于数据库文件,所以数据库文件也往往是勒索病毒的目标文件,数据库文件被.malox勒索病毒加密了.这时候,企业需要尽快找到解决方案,尽快恢复数据. ...

  4. 32 块大小_详解Linux文件系统的完整结构--引导块、超级块、GDT等

    概述 今天主要介绍一下Linux系统的文件系统,一起来看看吧~ 文件系统组成 网上看到的一张完整的文件系统图,如下: 首先,该图中有Boot Block.Super Block.GDT.Reserve ...

  5. 案例详解:MTU不一致导致主机和RAC不断重启

    AIX 操作系统因 MTU 不一致导致主机和 RAC 数据库不断重启,事件就是发生在上周日.操作系统工程师因监控发现有一台主机不断重启,排查硬件后无问题,便将事件转至数据库工程师排查了.当时主机是一套 ...

  6. 两个主机mtu不相同_案例详解:MTU不一致导致主机和RAC不断重启

    文章来源:JiekeXu之路 ,作者JiekeXu 内容更多查看:https://www.modb.pro/(复制至浏览器,即可查看) AIX 操作系统因 MTU 不一致导致主机和 RAC 数据库不断 ...

  7. rdp远程连接windows和linux,详解 Linux 和 Windows 间的远程桌面访问

    在Windows上面,我们都用过系统自带的远程桌面连接或者TeamViewer这样的工具,可以方便的让我们用图形化方式远程操作其他计算机.但是在Linux上,我们一般都是使用SSH来操作终端.那么在L ...

  8. rsync+inotify实现实时同步案例详解

    rsync+inotify实现实时同步案例详解 转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也 ...

  9. 详解Linux运维工程师打怪升级篇

    详解 Linux 运维工程师打怪升级篇 积累经验篇 做运维也快4年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师 是从一个呆逼进化为苦逼再成长为牛逼 ...

最新文章

  1. html 传参数 菜单自动展开,【HTML5】Jquery打造竖向伸缩/展开菜单
  2. GetCurrentProcessID、OpenProcessToken、LookupPrivilegeValue
  3. 动态规划系列---求数组中两个元素差的最大值
  4. php 定义数组使用逗号,
  5. linux 基础知识点杂项记
  6. mysql数据库常用操作
  7. linux下编译与运行,Linux操作系统驱动编译与运行是怎样的?
  8. 华为畅享8plus停产了吗_牢记华为手机“三不买”原则,不花冤枉钱,选错要吃亏!...
  9. 【Java】Java数据库访问体系重点总结
  10. nrm : 无法加载文件 C:\Users\hc\AppData\Roaming\npm\nrm.ps1 ,因为在此系统上禁止运行脚本。
  11. arraylist删除指定元素_【追凶】ArrayList使用增强for遍历删除元素异常ConcurrentModification...
  12. Nodejs开发框架Express3.0开发手记
  13. scrapy分布式爬虫设置
  14. ad中电容用什么封装_【AD封装】贴片插件晶振(带3D)
  15. iNav飞控AOCODARC-F7MINI固件编译
  16. html桌面共享文件夹,win7共享文件夹在哪? win7和win10怎么共享文件夹
  17. 采访Java Collection的作者Joshua Bloch
  18. trs java_TRS Java应用开发接口概述
  19. Idea导包自动去除Import xxx.*里的星号
  20. 安装openssh-server报Depends: openssh-client (= 1:6.6p1-2ubuntu2.8)错误

热门文章

  1. 云原生应用程序_什么是云原生应用程序?
  2. groovy语言 累加_使用Groovy管理数据:查找和累加器
  3. (32)Gulp CSS hack 与 Autoprefixer
  4. (37) BFC IFC GFC FFC概念
  5. thinkphp 事件
  6. Bootstrap CSS 编码规范之Class 命名规范
  7. redis 首次请求_Redis主从复制
  8. 插值法补齐缺失数据_数据处理——缺失值处理
  9. java多状态机_一个java状态机样例的代码
  10. 如何感性地理解EM算法?