Oracle备份和EMC存储到底谁说的对?

windows oracle 11g,备份到 emc的ssd闪存阵列,(1)Oracle rman报错,磁盘有坏块,作为一个长期使用oracle的人来说,这是铁证;(2)em派专家仔细的通过各种工具检查ssd磁盘,均没有发现问题,情况陷入死局,到底信谁,扯皮严重。估计是光纤的扰动,但完全没有信息,大家遇到过这类情况吗?...显示全部

windows oracle 11g,备份到 emc的ssd闪存阵列,(1)Oracle rman报错,磁盘有坏块,作为一个长期使用oracle的人来说,这是铁证;(2)em派专家仔细的通过各种工具检查ssd磁盘,均没有发现问题,情况陷入死局,到底信谁,扯皮严重。

估计是光纤的扰动,但完全没有信息,大家遇到过这类情况吗?

收起
参与13

查看其它 3 个回答wangql的回答

wangqlwangql系统工程师NULL

这个确实不好说,毕竟谁的问题都得讲证据,况且还有个大锅在上面,肯定得先紧着撇清自己,每个产品都有自己的检查校验工具,从emc工程师的角度看,跑完测试没问题,确实也能甩一甩了。

1. 从Oracle写的路径链条看: 文件系统(asm)----> 设备驱动 ----> 适配器链路 ----> 存储控制器 ----> 磁盘,如果有硬件故障,或者链条里的一个任何一个环节有bug,都会导致写异常。

2. 从oracle的角度看,oracle的坏块分两种:
物理损坏:每个块头有校验字段,每次从内存写入磁盘会计算一个值写进去,下次从磁盘读的时候再计算对比,两个值对不上了就是物理损坏,校验和或块头损坏都可能导致这个问题,Oracle识别不了这个块了。这种的硬件可能性会偏大点, 一般会报1578的错,alert和trc有明细。 比如早些年遇到的ds系列存储的一个经典故障,不可读坏块,会在存储层对不可读的块清零,从而导致Oracle出现坏块,整个数据块全是0,而且存储也有报错,这种责任就很容易界定了。

记得Oracle有个文章专门描述了数据块损坏的各种类型,可以翻翻看看

逻辑损坏:块头校验没问题,块内容不一致了,比如软件bug导致的写丢失等。

rman备份的时候会先把块拷到缓冲区,相当于默认做了物理一致性检查,所以物理块损坏的可能大点,建议结合日志和trc再好好看看,查一下mos,看看是否命中bug之类的,当然这样不是说责任在oracle,毕竟准备的越充分,后面讨论的把握会更大一些。

IT咨询服务 · 2021-03-25
浏览1859

回答者

wangql
wangql41446
系统工程师NULL
擅长领域: 存储备份软件定义存储

wangql 最近回答过的问题

回答状态

  • 发布时间:2021-03-25
  • 关注会员:6 人
  • 回答浏览:1859
  • X社区推广