但是设想一下,如果添加到ASM磁盘组的磁盘没有提前被清空,会出现什么样的情况呢?...本文分享一起客户近期碰到的未清空磁盘被添加到磁盘组触发坏块(Read datafile mirror)的案例,在此提醒大家注意。...登陆环境后检查发现告警日志不断的刷新日志,刷新的内容为检测到有坏块。...mirror 'xxx3' (file x4, block 4xx4) found valid data Hex dump of (file x4, block 4xx4) 仔细观察发现,每次的坏块报错都十分相似...xxx2与其他磁盘名中都发现了相同的数据块, 并且这些数据块中有效的数据块都在其他磁盘中,反而无效的数据坏块却全都在磁盘/dev/axxx1 (也就是磁盘名:xxx2) , 因此猜测可能和这块磁盘的相关操作有关
题目部分 在Oracle中,什么是坏块?坏块可以分为哪几类?...答案部分 Oracle数据文件的坏块可以分为物理坏块(Physical Block Corruptions)和逻辑坏块(Logical Block Corruptions)。...物理坏块一般是由于内存问题、OS问题、I/O子系统问题或硬件引起的,逻辑坏块一般是由Oracle Bug等原因引起的。物理块损坏也可以称为介质块损坏(Media Corrupt Block)。...逻辑坏块指的是块内的数据在逻辑上存在问题,比如说索引块的索引值没有按顺序排列导致的逻辑坏块。...逻辑坏块通常包含一个正确的checksum和结构,但是块头以下的部分(块的内容)被损坏,可能引起不同的ORA-600错误。
导读当mysql存在坏块的时候, 查询对应的表就会报错,然后数据库就crash了....比如:也就是只有我们查询有坏块的表的时候才会发现有坏块,启动的时候并不会做坏块检查, 那么我们要怎么知道数据库有哪些表有坏块了呢? 有坏块后怎么处理呢?...坏块校验原理有时候我们并不能关闭数据库, 但就是想要校验坏块, 总不能去查询所有表吧, 而且如果有坏块的话, 数据库就挂了啊. 这还得了.那就只能来挖innodbchecksum的源码了....总结mysql ibd文件的坏块校验 就是FIL_HEADER的crc32c值^FIL_DATA的crc32c值....遇到坏块的话, 可以使用ibd2sql工具去解析还正常的页的数据. 用法讲过很多次了. 就不再介绍了.
之前分享了第一篇 使用shell批量监控磁盘坏块(一),今天来简单说说这个需求的实现内容 。 首先主要思路是通过中控的机器来发送监控的细节,然后返回结果。
最近几天发现库里有坏块了,环境是11gR2, linux平台的64位的库。...BL.PROCESS_ID = APP.NXT_PGM_NAME AND APP.FILE_STATUS IN ('RD', 'IU', 'CN') GROUP BY xxxxxxx -->尝试查看坏块的...-->查询生成的坏块表,里面有相应的记录。指向的坏块确实是日志中指定的。...--------------------------------------------------------------------- 570051 6148 -->修复坏块...-->对于坏块的操作都能够skip SQL> BEGIN DBMS_REPAIR.SKIP_CORRUPT_BLOCKS ( 2 3 SCHEMA_NAME => '&schema_name
对我们来说一个比较直接而且相对来说容易实现的方式就是硬盘的监控了,其中的磁盘坏块就是一个典型例子了。 硬件坏块的监控做好了,其它的监控其实也就是触类旁通,缝缝补补即可。...首先在中控的机器中采用远程调用的方式来调用各个服务器端的megacli,得到坏块的情况 然后大批量的服务器就会生成一个报告来,得到了报告就可以做进一步的改进,把它格式化一番,我们可以通过邮件的方式来显示...短信中可以得到一个概要的信息,可以直接统计出一个概要的坏块数作为参考,如果坏块数小于10个,暂时可以不需要进一步处理。
♣ 题目部分 在Oracle中,什么是坏块?坏块可以分为哪几类?...♣ 答案部分 Oracle数据文件的坏块可以分为物理坏块(Physical Block Corruptions)和逻辑坏块(Logical Block Corruptions)。...物理坏块一般是由于内存问题、OS问题、I/O子系统问题或硬件引起的,逻辑坏块一般是由Oracle Bug等原因引起的。物理块损坏也可以称为介质块损坏(Media Corrupt Block)。...逻辑坏块指的是块内的数据在逻辑上存在问题,比如说索引块的索引值没有按顺序排列导致的逻辑坏块。...逻辑坏块通常包含一个正确的checksum和结构,但是块头以下的部分(块的内容)被损坏,可能引起不同的ORA-600错误。
可参考基于RMAN实现坏块介质恢复(blockrecover) 。这是比较理想的情形。如果没有任何备份怎么办?我们可以使用Oracle自带的DBMS_REPAIR包来实现修复。...这里的修复是有损修复也就是说将受损的数据块标记为坏块,不对其进行访问而已。就好比我们磁盘有坏道,找个磁盘修复工具将坏道标出来不使用,同理。...# 6, block # 131) ORA-01110: data file 6: '/u02/database/usbo/oradata/tbs_tmp.dbf' 4、使用DBMS_REPAIR修复坏块...--过程FIX_CORRUPT_BLOCKS用于标记坏块,在这个演示中,我们在CHECK_OBJECT已经被标注了,如没有执行下面的过程 --由于上一步已经标注,所以下面的输出为0 sys@USBO>...b、DBMS_REPAIR包并不是真正意思上的坏块修复,而是标记坏块,损坏的这部分数据被丢失。
看了很多坏块管理的文章,加上自己的理解,把整个坏块管理做了个总结。...2、新增坏块 使用过程中因为磨损造成的新增坏块,或者使用坏块。 3、假性坏块 异常掉电等原因被主控误判的假性坏块。...坏块管理 1、建立和更新坏块表(Bad Block Table) 对出厂坏块和新增坏块集中(或分别)管理。 ...2、坏块表内容 (1)用1bit标识:0表示好块,1表示坏块; (2)用2bit标识:00表示好块,01表示Program失败的坏块,10表示Read失败的坏块,11表示Erase失败的坏块。...4、坏块管理策略 (1)坏块跳过策略:遇到坏块跳过,存放进好块里。 (2)坏块替换策略:替换之后,FTL会将坏块地址重新映射到好块地址。 基于NAND Flash来讲,用SA区中的好块替换坏块。
本文演示了产生坏块即使用RMAN实现坏块恢复的全过程。...b、对于受损的表对象进行聚合等相关运算时收到错误提示,因为坏块上的数据无法被统计。如果你聚合的是索引列,索引未损坏的情形则可正常返回。...d、对于多个数据块的损坏,先执行backup validate校验数据库或相应的数据文件以便标记受损的坏块后,填充v$database_block_corruption以及后续恢复。...e、对于使用backup validate 校验后的情形,坏块恢复时可以直接使用blockrecover corruption list一次性恢复所有的坏块。...f、缺省情况下,存在坏块的数据文件无法成功备份,也会导致自动备份脚本失败。
reason:原因有多种;最有可能的是在程序对表进行插入或者修改时强制重启数据库;或者程序大规模修改非聚集索引列等引起I/O错误;
131 8 AAATR2AAdAAAACDAAJ 29 131 9 AAATR2AAdAAAACDAAK 29 131 10 ... 4.模拟数据文件物理坏块...使用dd模拟数据文件的物理坏块: dd if=/dev/zero of=/flash/oradata/DEMO/awr/tbs_test01.dbf bs=8192 conv=notrunc seek...recovery successful for (file# 29, block# 131) 日志中显示自动启用了ABMR(Automatic block media recovery)成功修复了物理坏块...Detection, Prevention, and Automatic Repair - in a Data Guard Configuration (Doc ID 1302539.1) 文档中有说明,物理坏块默认...ADG就能检测,逻辑坏块要配合这些参数设置。
,另一个错误是控制文件不是最新状态,好像还有个错误是系统表空间SYSTEM出现坏块(印象已经不深了)。...2.查询有坏块的数据文件信息 使用dbv检测这一个有问题的数据文件, ? ? 从V$DATABASE_BLOCK_CORRUPTION视图查看坏块信息, ?...使用如下SQL可以查看这些坏块中具体存在什么信息, ? 说明坏块中存在的一张表使用的索引。 3.尝试修复坏块 尝试重建索引看看, ?...说到修复坏块,江湖上还是有一些神器的,查了下, (1) ODU:ORACLE DATABASE UNLOADER,老熊和dbsnake现在负责维护。...4.尝试屏蔽坏块数据文件 既然是索引,不是数据,尝试下是不是可以屏蔽这个存在坏块的数据文件。
之前写过一篇通过shell来监控磁盘坏块的文章 http://blog.itpub.net/23718752/viewspace-1872978/ 从使用情况来看,也确实发现了一些坏块很多的问题,这也给我们的工作带来一些清晰的指导...比如前段时间碰到一个问题,白天刚做过磁盘巡检,没有发现任何坏块,结果到晚上服务器就崩了。也没有任何的前兆,收到一条ICMP的报警之后,服务器就彻 底失去连接了。...对于这种问题,我们可以肯定的是磁盘没有坏块,所以数据肯定是没有丢,不过后续又做了确认,这个库已经没有业务在上面了,所以也算是侥幸逃 过了一个忙碌而又纠结的恢复过程。...从告警来看,应该是硬盘直接坏掉了,但是从我之前的磁盘坏块监控来看,是没有发现存在磁盘坏块的。 ? 可见这个部分就是一个遗漏的地方。 原本是通过下面的命令来监控磁盘坏块的。.../opt/MegaRAID/MegaCli/MegaCli64 -CfgDsply -a0|grep Error 但是如果通过下面的命令去查磁盘的状态就会发现有一块磁盘确实已经坏了。
Android badblock磁盘坏道检测工具 2.1. 命令检测方法 3. linux e2fsck磁盘维护命令 4. 问题调试检测方法 5....从问题现象看需要针对该分区进行磁盘坏道检测,分析是否是因为磁盘损坏导致。 1....Android badblock磁盘坏道检测工具 1.Android提供了badblock工具,检查emmc磁盘是否有坏道,可以以读的方式检查,也可以以写的方式检查 代码路径:....device [last_block [first_block]] [磁盘装置][磁盘区块数 [启始区块]] 典型命令: badblocks -s -v -o sdbbadblocks.log /dev...参考 调试笔记 — eMMC坏块测试 Android性能分析之emmc坏块测试 badblocks坏道检测 用badblocks检测硬盘坏道 Linux 磁盘维护 : e2fsck 命令详解
Linux磁盘-小结 总结 1.通过前面我们对磁盘的介绍,我们初步掌握了在Liunx服务器里面,如何让一个磁盘为我所用。...2.在日常运维使用中,掌握磁盘的使用情况,并根据磁盘在实际使用的情况进行调整。 3.文字描述部分大部分是基于GPT生成的,但是比较重要或者经常遇到的问题都用红色进行标注。...4.磁盘使用满,虽然这个是最常见的问题,但是在排查问题的时候往往会被忽略,可以养成一个习惯,如果服务器有异常可以先检查磁盘情况。...磁盘讲完以后,会讲讲Linux基本的网络操作命令,敬请期待。
SQL> select bytes/8192 from v$datafile where file#=1; BYTES/8192 ---------- 113920 --检查数据文件是否有坏块...: 0 Highest block SCN : 2369647 (0.2369647) 3、检查控制文件,blocksize=16384kb --检测控制文件是否坏块...HEADER_BLOCK ---------- ----------- ------------ 0 10 33600 --检查segment是否坏块
一、挂载磁盘 1.查看磁盘列表、查看是否有硬盘未被挂载: >fdisk -l 可以看到/dev/sdb硬盘没有被挂载。 ...2.目标磁盘分区 >fdisk /dev/sdb 如下图,粉红色箭头处为输入命令,黄色箭头处直接回车 3.格式化目标磁盘 >mkfs.ext4 /dev/sdb1 .../fstab 添加一行 /dev/sdb1 /user_disk_10G ext4 defaults 0 0 二、卸载磁盘... 1.磁盘列表 >df -h 2、卸载磁盘sdb1 > umount /dev/sdb1 版权声明: 此文为本站源创文章[或由本站编辑从网络整理改编
>关于校验和与坏块 所谓坏块指的是块中的数据改变了,跟Oracle预期想要查找的数据不同,坏块产生的原因包含但不局限于以下几种: 磁盘和磁盘控制器故障 内存故障 Oracle数据库软件的缺陷 DB_BLOCK_CHECKSUM...如果DB_BLOCK_CHECKSUM是Typical的,那么数据库在正常操作期间计算每个块的校验和,并在写入磁盘之前将其存储在块头中。...当数据库稍后从磁盘读取块时,会重新计算校验和并与存储的值进行比较。 如果值不匹配,则块已损坏。 默认情况下,BACKUP命令计算每个块的校验和,并将其存储在备份中。...如果在备份期间RMAN遇到未标记的损坏块时超过MAXCORRUPT限制,则RMAN终止备份。 否则,RMAN将新检测到的损坏块写入备份,并使用特殊标头指示该块已标记为已损坏。...在验证磁盘或磁带上的文件时,RMAN读取备份片段或映像副本中的所有块。 RMAN还验证异地备份, 验证与真正的恢复操作相同,除了RMAN不写入输出文件。 RMAN还允许指定要验证的备份片段的副本号。
领取专属 10元无门槛券
手把手带您无忧上云