加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_安阳站长网 (https://www.0518zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

静默错误:Oracle数据库是如何应对和处理的 ?

发布时间:2018-08-25 22:42:23 所属栏目:站长百科 来源:盖国强
导读:副标题#e# 技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战 这两天,关于腾讯云『因为静默错误,把创业公司的数据彻底搞丢了』的事件已经传遍了整个互联网,引发了广泛的热议和讨论。 终极故障回放 腾讯云已经于8月7日公布了最近这

这是多方努力的结果,在 oracleasm-discover 中可以观察到相关信息:

  1. # oracleasm-discover  
  2. Using ASMLib from /opt/oracle/extapi/64/asm/orcl/1/libasm.so  
  3. [ASM Library - Generic Linux, version 2.0.8 (KABI_V2)] Discovered   
  4. disk: ORCL:P00 [20971520 blocks (10737418240 bytes), maxio 512, integrity DIX1-512/512-IP] Discovered disk: ORCL:P01 [20971520 blocks   
  5. (10737418240 bytes),   
  6. maxio 512, integrity DIX1-512/512-IP] [...] 

进一步的展开一下,看看Oracle的增强一致性检查实现。在复杂的数据流转过程中,每一个步骤都可能产生数据分歧:

静默错误:Oracle数据库是如何应对和处理的 ?

在典型的 I/O 处理栈中,最后在存储和驱动器层, 8 Byte 的 PI 校验位才被增加进去,而存储出现静默错误问题时,顶层是无法感知的。

静默错误:Oracle数据库是如何应对和处理的 ?

T10 的保护信息模型,就是增加额外 8 字节的校验位,从应用到HBA再到底层存储,层层校验保护:

静默错误:Oracle数据库是如何应对和处理的 ?

在最高的 T10 PI 保护级别上,校验位从应用层就开始被添加,实现了端到端的校验:

静默错误:Oracle数据库是如何应对和处理的 ?

在 Oracle 10g年代,Oracle 曾经推出 H.A.R.D. 计划,全程是 - Hardware Assisted Resilient Data ,被翻译为 硬件辅助弹性数据(HARD)计划,用于防止数据损坏。

在HARD 倡议下,Oracle与选定的系统和存储供应商合作,构建可以及早发现损坏并防止损坏的数据写入磁盘的操作系统和存储组件,并且此功能的实施对最终用户或DBA都是透明的。

静默错误:Oracle数据库是如何应对和处理的 ?

要使用HARD验证,所有数据文件和日志文件都放在符合HARD标准的存储上,同时启用HARD验证功能。当Oracle将数据写入存储时,存储系统会验证数据。如果它看起来已损坏,则写入将被拒绝并显示错误。

HARD 的设计就是用于防范那些可能的静默错误,以下这些描述就是典型的问题:

写入损坏的块

(编辑:网站开发网_安阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!