本节更详细地描述了镜像过程。有关如何执行诸如创建镜像块、启动镜像过程、更改镜像
块状态等镜像操作的指示信息,请参阅使用镜像。
创建镜像块
当您指定镜像块,数据库服务器就将所有数据从主块复制到镜像块。 该复制过程被称为
恢复。一旦恢复完成,镜像过程就立即开始。
如果您对包含逻辑日志文件的数据库空间中的块开始制作镜像,那么将延迟恢复过程(该
过程标记镜像开始)。 在您创建根数据库空间的 0 级备份之后,才会开始对包含逻辑日
志文件的数据库空间制作镜像。延迟可确保如果包含这些逻辑日志文件的主块在数据库空
间复原期间变为不可用,数据库服务器可使用镜像的逻辑日志文件。
0 级备份将更新的数据库服务器配置信息(包括有关新镜像块的信息)从根数据库空间保
留页复制到备份。如果您执行数据复原,那么如果主块不可用,在备份开始时已更新的配
置信息会让数据库服务器查找逻辑日志文件的镜像副本。如果该新的存储空间备份信息不
存在,那么数据库服务器无法利用已制作镜像的日志文件。
由于类似原因,您无法在创建数据库空间备份时对包含逻辑日志文件的数据库空间制作镜
像。备份开始以后,不能复制数据库空间备份磁带的第一个块中必须包含的新信息。
有关创建镜像块的更多信息,请参阅使用镜像。
镜像状态标志
GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 323 -
数据库空间、BLOB 空间和智能大对象空间具有指示它们已镜像还是未镜像的状态标志。
您必须在镜像开始前对根数据库空间执行 0 级备份。
块具有指示以下信息的状态标志:
•
块是主块还是镜像块
•
当前块是联机、脱机、新镜像的块(需要对根数据库空间进行 0 级备份)还是处
于正在恢复的过程。
有关这些块状态标志的描述,请参阅《GBase 8s 管理员参考》 中有关 onstat -d 选项的描
述。有关如何显示这些状态标志的信息,请参阅监视磁盘使用量。
恢复
当数据库服务器恢复镜像块时,它执行与镜像开始时所使用过程相同的恢复过程。镜像恢
复过程包括将数据从现有联机块复制到新的已修复的块,直至这两者完全相同。
当您启动恢复时,数据库服务器将脱机块置于恢复方式并将信息从联机块复制到恢复块。
当恢复完成,该块会自动获取联机状态。无论您正在恢复镜像对的主块还是在恢复镜像
块,均执行相同的步骤。
提示: 在恢复过程中您仍可使用联机块。如果将数据写入已经复制到恢复块的页,数据库
服务器会在继续进行恢复过程之前在恢复块上更新相应页。
有关如何恢复脱机块的信息,请参阅恢复镜像块页面上有关恢复镜像块的信息。
处理期间执行的操作
这些主题说明了镜像块磁盘 I/O 的一些详细信息以及数据库服务器如何为这些块处理介
质故障。
磁盘写入镜像块
在数据库服务器处理期间,数据库服务器通过为每次修改执行两个并行写入(一个写入主
块,一个写入镜像块)来执行镜像。
磁盘从镜像块读取
因为数据的两个版本位于不同磁盘上,所以数据库服务器使用镜像来提高读性能。根据块
的哪一半包含数据页的地址,将决定是从主块还是从镜像块读取数据页。此功能称为分开
读取。分开读取通过减少磁盘搜索时间来提高性能。因为磁盘头必须经过的最大距离减少
了一半,所以减少了磁盘搜索时间。下图说明了分开读取。
图: 分开读取可减少磁盘头必须经过的最大距离。
GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 324 -
检测介质故障
数据库服务器首先在打开块时检查返回码,然后在任何读取或写入后均检查返回码。无论
何时数据库服务器检测到主(或镜像)块设备发生故障,它会将块状态标志设置为脱机
(D)。 有关块状态标志的信息,请参阅镜像状态标志。
如果数据库服务器检测到主(或镜像)块设备发生故障,对保持联机的那个块仍继续读取
和写入。即使管理员有意使其中一个块脱机,情况也是如此。
管理员恢复脱机块并将其返回至联机状态以后,会再次在主块和镜像块之间分开读取,并
对两个块均进行写入。
块恢复
数据库服务器使用异步 I/O 以使恢复块所需的时间最小化。从联机块进行读取可与对脱
机块的写入重叠进行,而非这两个过程逐次地发生。即,执行读取的线程无需等待执行写
入的线程完成,就可读取更多数据。
停止镜像过程的结果
结束镜像过程时,数据库服务器会立即释放镜像块,使空间可用于重新分配。 结束镜像
过程的操作仅需几秒钟。
在结束镜像过程后对根数据库空间创建 0 级备份,以确保将包含更新镜像块信息的保留
页复制到备份。该操作使复原过程不会再假设镜像数据仍可用。
镜像块的结构
如下所示,镜像块与主块包含相同的控制结构:
•
BLOB 空间块的镜像包含 BLOB 空间开销页。
•
数据库空间块的镜像包含数据库空间开销页。
•
智能大对象空间的镜像包含元数据页。
有关这些结构的信息,请参阅 《GBase 8s 管理员参考》中磁盘结构和存储器章节中有关
镜像块结构的部分。
假如采用监视块中说明的方法之一,磁盘空间使用的显示将始终指示镜像块已满(即使主
块有可用空间)。充满的镜像块表明除充当主块的镜像以外,块中没有空间可用于其他用
途。只要主块和镜像块联机,该状态就保持充满。
GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 325 -
如果主块脱机并且镜像块成为主块,那么磁盘空间分配报告会准确描述新主块的填充度。