简介
在计算机技术中(特别是数据传输和数据存储),块是一段标准长度(块大小)的字节或比特。错误块简单地说是指块原有的组织结构受到了破坏,一般有两种:
1. 指的是存储设备一个存储区受到破坏,不能再使用;
2. 程序读取的块数据不完整,发生错误。
错误块在计算机中很常见,特别是在程序应用中。例如我们在运行一个程序时有时会出现错误块的提示。
块计算机技术中(特别是数据传输和数据存储),块是一段标准长度(块大小)的字节或比特。在处理计算机程序产生的数据流时,块化数据可以简化处理过程。一般情况下,一次会读取一个完整的块。向9轨磁带、旋转介质如软盘、硬盘、光盘和NAND闪存存储数据时,块化数据几乎是唯一的选择。
大多数文件系统都是基于块设备,即存取规定数据块的硬件抽象层。有时文件系统中的块大小可能是物理块大小的几倍。传统文件系统中,单个块可能只包含单个文件的一部分。但由于文件长度通常不是块大小的整数倍,这样文件的最后一块不会完全填满,由此产生的内部碎片会导致空间利用率不高。因此会有松散空间(slack space),平均每个文件半块。一些较新的文件系统会用子块分配和尾部合并技术解决它。
块存储经常由文件系统或数据库管理系统(DBMS)抽象出来,提供给应用程序或最终用户使用。物理或逻辑卷可以通过块I/O访问,背后可能是通过SCSI或光纤通道直接连接服务器的内部设备,或通过iSCSI、AoE等协议访问存储区域网络(SAN)的远程设备。数据库管理系统通常使用自己的块I/O,以在DBMS的文件系统之上提高性能和可恢复性。
错误块处理示例修复块上的I/O 错误
如果在数据库服务器操作期间发生 I/O 错误,那么发生了错误的块的状态将更改为脱机。
如果块脱机,那么 onstat -d 将显示主块的块状态为 PD-,镜像块的块状态为 MD-。
另外,消息日志列出了带有出错位置和建议的解决方案的消息。所列解决方案是可能的解决办法,但不一定能纠正该问题。
如果脱机块已镜像,那么数据库服务器继续使用镜像块操作。使用操作系统实用程序来确定脱机块的问题并纠正该问题。然后您必须定向数据库服务器以复原镜像块数据。
如果脱机的块未镜像并且包含逻辑日志文件、物理日志文件或根数据库空间,那么数据库服务器将立即启动停止操作。否则,数据库服务器可以继续操作,但无法写入或读取脱机块或该块所在数据库空间中的任何其他块。必须采取步骤以确定 I/O 错误发生的原因、纠正问题并从备份复原数据库空间。
如果当某块标记为脱机 (D) 时将数据库服务器变为脱机方式,那么您可以重新启动数据库服务器,前提是标记为脱机的块不包含关键数据(逻辑日志文件、物理日志文件或根数据库空间)。1