



周末赶往公司,惨

“建议他们先检查硬件是否损坏,如I/O故障、磁盘故障、内存问题等,再检查操作系统是否故障。这些都会导致数据库不能识别块,所以校验无效,要么块包含的全是0,要么块头损坏。数据库可以使用checksum对物理坏块进行检测。”

如果checksum已启用,则为每个数据页计算校验和。检测到校验和失败将导致读取数据时出错,并将中止当前正在运行的事务。因此,这为直接在数据库服务器级别检测I/O或硬件问题带来了额外的控制。
当数据落盘后,由于人为修改了块里具体的值,导致数据库读取的时候,重新计算的checksum值和块头存储的checksum值不一致,导致物理坏块。所以物理坏块也会校验块内容。

定位故障,轻松解决问题
“主机硬件故障、存储硬件和软件故障、操作系统故障、数据库软件故障,甚至应用软件压力过大都可能导致数据库出现坏块。本次故障原因主要是数据块的头信息被写坏,导致头信息与数据块内容不匹配。还好只是丢失了部分数据块,通过备份恢复即可修复。”福尔摩斯·K说道。

为了周末不加班,必须使出杀手锏
华生·K完成了检验和评估的收尾工作,转过身来说到:“很简单,人大金仓KingbaseES数据库auto_bmr工具就能实现这个功能,让主备复制这种架构发挥其高可用的特性,提升数据块坏块的恢复效率。”











“看,主库在表文件故障的情况下,我们通过auto_bmr功能读取备库数据实现了块修复。”华生·K笑着对Z说。
金仓数据库auto_bmr让你的周末不被打扰
“结合实际的业务场景,在主备复制这种架构下,当主库出现物理坏块时,启用auto_bmr功能后,可以快速地通过备库的数据块修复主库的物理坏块,解决数据坏块恢复的复杂问题,并提升业务数据的安全性。”
“是的,华生·K。数据存储的安全,是数据库最基本的功能。保证用户业务数据的安全,是数据库最基本的需求之一。当出现数据存储故障时,快速恢复数据也是对数据库管理最基本的诉求。人大金仓KingbaseES数据库 auto_bmr工具通过主备复制的高可用架构,有效提升集群架构中数据坏块恢复的效率,这对确保用户业务数据的安全来说,难道不是一件大大的好事吗?”
福尔摩斯·K望着屏幕外的你,开口道:“我说得对吗,朋友?”
供稿:产品研发中心









