RMAN-03002: backup plus archivelog 命令 (在 08/24/2015 03:31:00 上) 失败
ORA-19501: 文件 "XXXXXX.DBF", 块编号 335324 (块大小=8192) 上出现读取错误
ORA-27070: 异步读取/写入失败
OSD-04016: 异步 I/O 请求排队时出错。
O/S-Error: (OS 23) 数据错误(循环冗余检查)。

类似英文报错:
RMAN-03009: failure of backup command on ORA_DISK_4 channel at 12/27/2006 
19:34:55
ORA-19501: read error on file "\\.\ACTGINDX2", blockno 890881 (blocksize=8192)
ORA-27070: skgfdisp: async read/write failed
OSD-04016: Error queuing an asynchronous I/O request.
O/S-Error: (OS 23) Data error (cyclic redundancy check).

使用dd或者dbv检查数据文件完整性
dbv file=XXXX/XXXX.dbf blocksize=8192
dd if=XXXX/XXXX.dbf of=check.dbf bs=8192(此命令慎用!!)
检查数据文件是否损坏

检查报错的数据文件:
C:\Users\Administrator>dbv file=XXXX.DBF blocksize=8192

DBVERIFY: Release 11.2.0.4.0 - Production on 星期二 8月 25 11:20:22 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

DBVERIFY - 开始验证: FILE =XXXX.DBF

DBV-00600: 致命错误 - [28] [27070] [0] [0]

检查正常的数据文件:
C:\Users\Administrator>dbv file=xxxx.DBF blocksize=8192

DBVERIFY: Release 11.2.0.4.0 - Production on 星期二 8月 25 11:22:54 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

DBVERIFY - 开始验证: FILE = xxxxx.DBF

DBVERIFY - 验证完成

检查的页总数: 352000
处理的页总数 (数据): 168714
失败的页总数 (数据): 0
处理的页总数 (索引): 78722
失败的页总数 (索引): 0
处理的页总数 (其他): 1164
处理的总页数 (段)  : 0
失败的总页数 (段)  : 0
空的页总数: 103400
标记为损坏的总页数: 0
流入的页总数: 0
加密的总页数        : 0
最高块 SCN            : 1102691533 (1473.1102691533)

根据报错信息查到相关表:

select owner,segment_name,partition_name from dba_extents where file_id=your_file_id and block_id<=335488 and block_id+blocks-1>=335488

对涉及到的表进行全表扫,并未出现报错信息:
SELECT /*+FULL(XXBC_ORDER_STACK_OUTPUT)*/ count(*) FROM XXBC_ORDER_STACK_OUTPUT
挺奇怪。

建议(慎用!!,先不要使用这种方法,风险太大):
首先对数据库全备。
备份完,如果有备份和归档可以:
select * from v$database_block_corruption;
确定坏块的文件id和块号,然后使用rman修复
RMAN>blockrecover datafile $file_id block $block_id;

Oracle处理方法:
1 看一下这个文件是否有其它的坏块(不加blocksize参数,逻辑查看): 
C:\Users\Administrator>dbv file=E:\APP\ADMINISTRATOR\ORADATA\TB5CWMS\TBBCD03.DBF 
DBVERIFY: Release 11.2.0.4.0 - Production on 星期三 8月 26 17:33:36 2015 
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. 
DBVERIFY - 开始验证: FILE = E:\APP\ADMINISTRATOR\ORADATA\TB5CWMS\TBBCD03.DBF 
DBVERIFY - 验证完成 
检查的页总数: 390400 
处理的页总数 (数据): 154363 
失败的页总数 (数据): 0 
处理的页总数 (索引): 148171 
失败的页总数 (索引): 0 
处理的页总数 (其他): 1404 
处理的总页数 (段) : 0 
失败的总页数 (段) : 0 
空的页总数: 86462 
标记为损坏的总页数: 0 
流入的页总数: 0 
加密的总页数 : 0 
最高块 SCN : 1471212331 (1473.1471212331) 
2 联系OS管理员,检查磁盘; 
3 查看操作系统的日志,包括system和application的日志; 
4 查看数据库实例的完整的告警日志;

根据windows系统日志(查看方法:一、开始---控制面板---管理工具---事件查看器---系统日志;二、开始---运行---cmd---eventvwr---即可查看系统日志。)

查找到系统的坏块。
但是对表进行全表扫没有报错,说明涉及到的数据块可能已经cache到内存中,所以如果能尽快将涉及到的数据对象备份,理论上不会造成数据丢失。

但是考虑上次rman备份不一定会把所有坏块全部检查出,考虑使用如下方法检查出所有坏块。
RMAN> RUN 

SET MAXCORRUPT FOR DATAFILE 10 TO 2 <<<<<============= rman在备份的时候允许的最大坏块,这个格式表示在数据文件10上最多允许有2个坏块,如果超过2个坏块,Rman就会退出备 份 
backup datafile 10; 
.... 

处理思路:
根据扫描出的坏块,查找到数据对象,做备份,然后恢复。

O/S-Error: (OS 23) Data error (cyclic redundancy check)问题处理的更多相关文章

  1. Open Flash Chart IO ERROR Loading test data Error #2032

    http://blog.sina.com.cn/s/blog_6754464e0100qfvd.html Open Flash Chart 2 提示Open Flash Chart IO ERROR ...

  2. CRC(Cyclic Redundancy Check)循环冗余校验码与海明码的计算题

    (17)采用CRC进行差错校验,生成多项式为G(X)=X4+X+1,信息码字为10111,则计算出的CRC校验码是  (17)  .A.0000  B.0100   C.0010   D.1100试题 ...

  3. Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock32 error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

     今天安装完带图形界面的CentOS 7后,在Terminal中运行yum安装命令时报了以下错误: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

  4. CentOS报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock32 error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

    今天安装完带图形界面的CentOS 7后,在Terminal中运行yum安装命令时报了以下错误: Could not retrieve mirrorlist http://mirrorlist.cen ...

  5. Error: ORA-16501: the Data Guard broker operation failed ORA-16625: cannot reach database

    在备库上建配置文件 DGMGRL> create configuration 'sharkdbbork' as primary database is 'sharkdb' connect ide ...

  6. yum 安装报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

    [root@venn09 ~]# yum install -y vim Loaded plugins: fastestmirror Could not retrieve mirrorlist http ...

  7. Apache service named reported the following error(OS 10055)由于系统缓冲区空间不足或队列已满解决办法?

    apache启动失败报错: The Apache service named reported the following error:>>> AH00451: no listeni ...

  8. [Android Studio导入第三方类库方法] Error:(19, 23) 错误: 程序包org.apache.http不存在

    本文主要参考以下链接: http://m.blog.csdn.net/blog/BoxRice/48575027 https://drakeet.me/android-studio http://ww ...

  9. Apache错误:[error] (OS 10038)在一个非套接字上尝试了一个操作

    Apache错误:[error] (OS 10038)在一个非套接字上尝试了一个操作          博客分类: vb2005xu软件学习 OSApache防火墙PHPWindows  日志如下:[ ...

随机推荐

  1. SCU - 4439 最小点覆盖

    题意:求最小的染色顶点数满足所有的边至少有个一端点被染色 2015四川省赛,过题数17/120+,还以为是什么难题,这不就是裸的二分图最小点覆盖吗.. 掏出了尘封一年的破板子 #include< ...

  2. swiper、fullPage、hammer几种滑动插件对比

    1.使用hammer,自己实现滑动垂直切换页面 <!DOCTYPE html> <html lang="en"> <head> <titl ...

  3. self_vue@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`

    解决方案: 1.试一下 卸载npm uninstall webpack-dev-server,在安装这个npm i webpack-dev-server@2.9.7 2.删除node_modules目 ...

  4. [转] javascript中的变量和垃圾回收

    [From] http://www.imooc.com/article/4585 基本类型和引用类型 js中的变量虽然不区分类型,但是实际上Ecmascript包含两种类型,基本类型和引用类型. 基本 ...

  5. [V1-Team] 第一周总结

    第一周总结 写在前面 会议名称 会议时间 会议时长 会议地点 第一次周例会 2019/4/1 19:00 70min F楼2层沙发休息处 附Github仓库:WEDO 例会照片 工作情况总结 人员 上 ...

  6. PHP创建自己的Composer包方法

    原文地址:http://www.jb51.net/article/137923.htm

  7. unity文件 PlayerPrefs.SetInt 保存 And PlayerPrefs.GetInt读取

    unity文件保存读取PlayerPrefs.SetInt   And  PlayerPrefs.GetInt using UnityEngine; using System.Collections; ...

  8. net.sf.json.JSONException: There is a cycle in the hierarchy! 转json死循环问题解决

    解决上述问题遵照两个原则就可以: 1.页面不需要展示关联数据时 解决:将关联对象属性排除掉 2.页面需要展示关联数据时 解决:将关联对象改为立即加载,并且将关联对象中的属性排除

  9. 中文输入法无法在 QtCreator(Linux) 中输入汉字

    中文输入法无法在 QtCreator(Linux) 中输入汉字 环境 system: Deepin 15.7 Qt Creator 4.7.0 (GCC 5.3.1) 解决方法 下载 fcitx-qt ...

  10. Javascript模块化编程详解

    在这篇文章中,我将会回顾一下js模块化编程的基础,并且将会讲到一些真的非常值得一提的进阶话题,包括一个我认为是我自创的模式. 模块化编程是一种非常常见Javascript编程模式.它一般来说可以使得代 ...