O/S-Error: (OS 23) Data error (cyclic redundancy check)问题处理
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 /*+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)问题处理的更多相关文章
- 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 ...
- CRC(Cyclic Redundancy Check)循环冗余校验码与海明码的计算题
(17)采用CRC进行差错校验,生成多项式为G(X)=X4+X+1,信息码字为10111,则计算出的CRC校验码是 (17) .A.0000 B.0100 C.0010 D.1100试题 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- Apache service named reported the following error(OS 10055)由于系统缓冲区空间不足或队列已满解决办法?
apache启动失败报错: The Apache service named reported the following error:>>> AH00451: no listeni ...
- [Android Studio导入第三方类库方法] Error:(19, 23) 错误: 程序包org.apache.http不存在
本文主要参考以下链接: http://m.blog.csdn.net/blog/BoxRice/48575027 https://drakeet.me/android-studio http://ww ...
- Apache错误:[error] (OS 10038)在一个非套接字上尝试了一个操作
Apache错误:[error] (OS 10038)在一个非套接字上尝试了一个操作 博客分类: vb2005xu软件学习 OSApache防火墙PHPWindows 日志如下:[ ...
随机推荐
- UESTC - 1724 GCD区间求和
依然是神奇的欧拉函数 若GCD(n,i)=k 则GCD(n/k,i/k)=1, 令i/k=x,有GCD(n/k,x)=1, →k*GCD(n/k,x)=1中x的个数 = GCD(n,i)=k的和 范围 ...
- 在python3.5中pip安装scrapy,遇到 error: Microsoft Visual C++ 14.0 is required
本来在python3.5中安装scrapy一路顺畅(pip install scrapy),中间遇到一个 error: Microsoft Visual C++ 14.0 is required. x ...
- python之拷贝(深浅)
深浅拷贝 深浅拷贝分为两部分,一部分是数字和字符串另一部分是列表.元组.字典等其他数据类型. 数字和字符串 对于数字和字符串而言,赋值.浅拷贝和深拷贝无意义,因为他们的值永远都会指向同一个内存地址. ...
- C++ GUI Qt4编程(03)-1.3layout
1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7: Qt版本:5.5.13. 程序:layout.cpp #include <QApplication> #i ...
- poj2718
一.题意:给定一串数字,数字没有重复,个数为2~10个.求这些数字分为两份,组合成的两个数的差最小是多少 二.思路:首先可以肯定的是,将这n个数平均分成两份,所得到的最小差一定在其某个组合当中.因此可 ...
- 微信小程序中如何使用setData修改数组或对象中的某一参数
本人也是刚开始接触微信小程序,在微信小程序中经常会遇到修改数组中某一项的值,比如array[0]或者是对象中object.item的值.这些值在微信小程序中都需要使用一个名为setData的方法,而这 ...
- RedisClient 连接redis 提示 ERR Client sent AUTH, but no password is set
- Python编程:基础学习常见错误整理
# Python学习之错误整理: # 错误一:# TypeError: cannot concatenate 'str' and 'int' objects# 不能连接str和int对象age = 2 ...
- 并列 inline-block 元素互相影响问题
今天在做页面时发现一个很奇怪的问题:当两个设置了display: inline-block; 属性的元素并列排放时,它们的位置能够互相影响. 我们先来看看元素结构: <div class=&qu ...
- mysql 索引、查询优化
查询计划Explain mysql查询过程中,如若想了解当前sql的执行计划,可以通过explain your_sql的方式查看,具体可以参考mysql官方解释:https://dev.mysql.c ...