静默错误:Oracle数据库是如何应对和处理的 ?
|
这是多方努力的结果,在 oracleasm-discover 中可以观察到相关信息:
进一步的展开一下,看看Oracle的增强一致性检查实现。在复杂的数据流转过程中,每一个步骤都可能产生数据分歧:
在典型的 I/O 处理栈中,最后在存储和驱动器层, 8 Byte 的 PI 校验位才被增加进去,而存储出现静默错误问题时,顶层是无法感知的。
T10 的保护信息模型,就是增加额外 8 字节的校验位,从应用到HBA再到底层存储,层层校验保护:
在最高的 T10 PI 保护级别上,校验位从应用层就开始被添加,实现了端到端的校验:
在 Oracle 10g年代,Oracle 曾经推出 H.A.R.D. 计划,全程是 - Hardware Assisted Resilient Data ,被翻译为 硬件辅助弹性数据(HARD)计划,用于防止数据损坏。 在HARD 倡议下,Oracle与选定的系统和存储供应商合作,构建可以及早发现损坏并防止损坏的数据写入磁盘的操作系统和存储组件,并且此功能的实施对最终用户或DBA都是透明的。
要使用HARD验证,所有数据文件和日志文件都放在符合HARD标准的存储上,同时启用HARD验证功能。当Oracle将数据写入存储时,存储系统会验证数据。如果它看起来已损坏,则写入将被拒绝并显示错误。 HARD 的设计就是用于防范那些可能的静默错误,以下这些描述就是典型的问题: 写入损坏的块 (编辑:网站开发网_安阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |






